首页 Paddle框架 帖子详情
目标检测ssd如何修改输入图像的比例为非正方形
收藏
快速回复
Paddle框架 问答深度学习模型训练炼丹技巧 1613 4
目标检测ssd如何修改输入图像的比例为非正方形
收藏
快速回复
Paddle框架 问答深度学习模型训练炼丹技巧 1613 4

刚使用paddplepaddle框架,做目标识别用,使用自带的ssd的训练网络ssd_vgg16_300.yml/ssd_vgg16_512.yml,因为我们使用场景针对的都是16:9的图片,因此想把网络输入的输入的尺寸改为非正方形的尺寸比例,哪位大哥可以分享一下如何修改?之前用caffe每层网络参数都是直接可见,将输入及中间各种相关的修改了就ok了,paddlepaddle没搞明天那些地方需要修改,只改ssd_vgg16_300.yml试了下不够。

0
收藏
回复
全部评论(4)
时间顺序
h
hxm4427
#2 回复于2020-06

在ssd_vgg16_300.yml里面只修改 image_shape: [3, 300, 300]  测试是不行的,有哪位知道怎么修改? 只需要修改ssd_vgg16_300.yml还是说还有其它对应的地方需要修改。

0
回复
HolliZhao
#3 回复于2020-06

应该使用的是PaddleDetection吧? 如要要自定义数据集,可以参考 数据处理模块文档:https://github.com/PaddlePaddle/PaddleDetection/blob/release/0.3/docs/advanced_tutorials/READER.md。建议使用 方式一:将数据集转换为COCO格式。这样处理起来更方便些。

0
回复
thinc
#4 回复于2020-06

如果是单纯想控制输入的图像直接resize就好了

def resize_img(img, input_size):
    # param:img  输入图像
    # param:input_size  送入网络的尺寸
    target_size = input_size
    percent_h = float(target_size[1]) / img.size[1]
    percent_w = float(target_size[2]) / img.size[0]
    percent = min(percent_h, percent_w)
    resized_width = int(round(img.size[0] * percent))
    resized_height = int(round(img.size[1] * percent))
    w_off = (target_size[2] - resized_width) / 2
    h_off = (target_size[1] - resized_height) / 2
    img = img.resize((resized_width, resized_height), Image.ANTIALIAS)
    array = np.ndarray((target_size[1], target_size[2], 3), np.uint8)
    array[:, :, 0] = 127
    array[:, :, 1] = 127
    array[:, :, 2] = 127
    ret = Image.fromarray(array)
    ret.paste(img, (np.random.randint(0, w_off + 1), int(h_off)))
    return ret
0
回复
h
hxm4427
#5 回复于2020-06
应该使用的是PaddleDetection吧? 如要要自定义数据集,可以参考 数据处理模块文档:https://github.com/PaddlePaddle/PaddleDetection/blob/release/0.3/docs/advanced_tutorials/READER.md。建议使用 方式一:将数据集转换为COCO格式。这样处理起来更方便些。
展开

我们自己定义了训练测试数据集,但是我们的图片都是16:9的尺寸,最终应用的时候输入的也是16:9的尺寸。所以希望修改训练网络让输入的格式是16:9的,而不是正方形的,训练出来的模型不是非常理想,想着是不是可以不用正方形的图片训练。

简单的方法是将现有的图片拼一块白的变成正方形的图片,应用的试试也是这样操作,这就多出不少没用的计算,最好的方法是能针对性的修改网络。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户