信封模式,图片放进一个固定的信封里面:图像预处理

目录

图像的几种前处理方式

一般有3三种:

1:resize,

2. letterbox,像信封一样,

3. blobFromImage,

letterbox使网络加速

参考:YOLO网络图像前处理的探讨(resize or letterbox) - 知乎 (zhihu.com)


图像的几种前处理方式

目标检测网络输入一般是W==H的形式,例如416x416,608x608,但是输入图像大部分情况下都不是矩形框,这需要对输入图像进行前处理以符合网络的一个输入。

扫描二维码关注公众号,回复: 14730651 查看本文章

一般有3三种:

1:resize,

直接对图像进行resize,改变了图像的长宽比,图像会拉伸,在darknet-AB中,作者用的就是这种前处理方式,原因作者解释说在相同的图像尺寸被拉伸后,进行训练和测试效果上是没有影响的,但是resize可以使得目标的尺寸变大,使得对小目标检测更加友好。

2. letterbox,像信封一样,

图像在保持长宽比的情况下,填充到一个盒子内,操作就是在短边上去填充0像素,使得图像扩充为网络输入尺寸,在原始darknet框架中,用的就是这种前处理形式。 

3. blobFromImage,

opencv中深度学习的图像前处理方式,先等比例缩放,宽高尺寸一个等于对应的size尺寸,另一个大于或者等于对应的size尺寸,然后再从中心进行裁剪,得到网络输入图片,这种方式目标尺寸是大了,但是也会丢失一些图片信息。 

letterbox使网络加速

在项目实际使用时,很多图片的长宽比不同,因此缩放填充后,两端的黑边大小都不同,而如果填充的比较多,则存在信息冗余,影响推理速度。

参考yolov3 issue: https://github.com/ultralytics/yolov3/issues/232

这里提出一种letterbox函数中进行了修改,对原始图像自适应的添加最少的黑边

参考:YOLO网络图像前处理的探讨(resize or letterbox) - 知乎 (zhihu.com)

猜你喜欢

转载自blog.csdn.net/swx595182208/article/details/129959744