改变网络输入图像分辨率需要不需要重新训练?

以YOLOv3为例,实验表明改变网络输入图像分辨率(如320*320, 416*416, 608*608)会影响推理时间和结果精度。虽然不需要重新训练,但非训练分辨率(如224*224)会导致推理效果下降。CNN网络能适应输入尺寸变化,但推理性能会受其影响。" 112721436,10339015,Python循环与字符串操作详解,"['Python编程', '循环结构', '字符串处理']
部署运行你感兴趣的模型镜像

以yolov3为例,我们做实验验证这个问题,yolov3有三种格式的分辨率输入,分别是320*320, 416*416, 608*608,验证思路是分别将这三种尺寸的图像输入网络,看推理效果有没有受到影响,另外,为了便于对照,我们再设置一些额外的网络不支持的分辨率,看现象如何。

关于图像前处理操作的流程参考下面博客:

Darknet框架解读_tugouxp的专栏-优快云博客

320*320:

执行./image_yolov3.sh,结果如下所示,效果非常不错:

推理时间为4036ms.

416x416 

改为416*416分辨率后,推理时间明显变慢了,为7666MS,并且每个物体的置信度都有所变化,这说明改变网络输入图像的尺寸,会对推理结果产生影响:

608*608:

推理时间更长了,达到了17S,这是三种分辨率中精度最高的一个。

以上说明,网络输入的图像尺寸变化情况下,不需要重新训练,因为在训练阶段的训练数据是针对这三种分辨率进行的。

现在看一种不支持的分辨率:

224*224:

不支持的分辨率,推理时间明显变短,而且推理结果很差。

192*192:

160*160:

也很差。


结论:

有些模型是动态模型,输入图的尺寸是不固定的,这从另一个角度说明,对于CNN网络来说,输入图尺寸变化不需要重新训练。具体参考博客,它在将一个.pt模型转为ONNX输出时,需要指定输入图的尺寸。这中间权重没有发生变化。

pytorch yolov5 推理和训练环境搭建_papaofdoudou的博客-优快云博客_yolov5推理

结束!

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值