【yolov5 trick1】训练阶段和推理阶段图像分辨率的处理方法

首先看github这一段话(链接https://github.com/ultralytics/yolov3/issues/232):

大致含义:比较yoloV3不同输入图像分辨率的推理时间,输入图像分辨率padded为32倍数的矩形框要比输入图像分辨率为等宽高的正方形框的推理时间提升了0.63倍。yoloV5采用了这一trick。

在常用的目标检测算法中,输入图像的分辨率大小不一,常用的方式是将输入图像的分辨率归一化为统一的图像分辨率,然后再喂给目标检测网络。

 

若设置喂给目标检测网络输入图像的分辨率为:416*416

 

目标检测算法训练阶段和推理阶段resize输入图像为416*416,例如原始输入图像为1280*720:

训练阶段的方法是:

 

原始输入图像宽高比:720/1280 = 0.5625

以长边为基准,缩放比例分别为:1,0.5625

等比例缩放后的分辨率为:416 ,234

训练阶段对等比例缩放后的分辨率进行pading:左右两列的列表分别pad = (416-234)/ 2 = 91,padding后的图像为:

推理阶段:

 

原始输入图像缩放后的分辨率(设定为32的倍数)为:(np.ceil(1*416/32)*32 ,np.ceil(0.5625*416/32 )*32) = (416,256)

 

原始图像等比例缩放后的分辨率为:(416,234)

 

分别对等比例缩放后的图像进行行列padding:

 

行pad = (416- 416)/2 =0   , 列pad = (256- 234)/2 = 11

因此推理阶段padding后的图像分辨率为:

训练阶段和推理阶段pading的像素值为(114,114,114)灰色像素或(0,0,0)黑色像素。

欢迎扫码关注:

版权声明:本文为CSDN博主「机器学习算法那些事」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/algorithmPro/article/details/108459472

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

实战 | 实时的目标检测与识别简单应用

吃粽子迎端午计算机视觉研究院专栏作者:Edison_G最近总是有很多入门的朋友问我,我进入计算机视觉这个领域难不难?是不是要学习很多知识?到底哪个方向比较好?长按扫描二维码关