目标检测比如 yolov5,训练输入图像大小默认是 640*640,这个是不是越大训练的效果越好 ?
这个肯定不是的。而且,如果仅调整输入图像的分辨率,不改变网络结构的话,检测准确率反而会下降的。首先,增大输入图像分辨率确实有助于提高检测准确率。众所周知,尺度变化是目标检测重点处理的问题,而小目标的检测又一直是重点和难点。这是因为,特征图分辨率的降低易导致小目标丢失,而且,不管是Anchor还是point,难以准确命中小目标(对于Anchor-based方法,命中指的是Anchor与gt的IOU较大;对于Anchor-free方法,命中指的是特征图上的特征点距gt的中心距离较近),导致小目标检测效果不理想。那么,提升输入图像分辨率会提高小目标的尺寸,缓解了上述所说小目标检测的困难,有助于提高小目标的检测准确率。但是,这也会带来另一个问题,就是会让本来尺寸很大的前景物体变得更大,尺度问题会更突出,对于大目标的检测精度可能会降低。
其次,当输入图像分辨率增大到一定程度后,继续增大分辨率反而会降低检测准确率。网络结构不变,就说明网络的感受野是一定的。输入图像的分辨率提高了,感受野在图像中的占比会下降。这会导致网络提取的局部信息无法有效预测所有尺度的前景物体,从而造成检测准确率下降。
最后,输入图像分辨率、网络的宽度和深度是影响网络性能的关键,三个因素需要综合考虑。对于更大的输入分辨率,使用更深的网络,使网络的神经元具有更大的感受野,能够在更大的图像中提取相似的特征。同时,应增加网络的宽度,提取更多细粒度特征,增加特征的辨识度。