比方说一个网络要求是256x256的图片输入,但是现有的裁剪过的数据集是178x218 。那么是直接resize这张图片以符合256的大小还是说要在原图上重新裁剪256x256?
1、问题分析
仔细看了你的问题,其实你说的这两种方法都可以。但是256x256和178x218的图片长宽比例不一,因此你在进行resize之后,图像中的物体会变形,这可能会一定程度导致模型精度的降低。
2、解决方案
(1) 对图片进行填充,就是保持原有图像的比例不变把少的部分填充成黑的,这样就不会导致形状的改变了。
(2) 在原网络的基础之上加上SPP-Net结构,从网络端解决输入图片尺寸不一的问题。
直接按照比例缩放,先把长度218缩放到256,缩放比例是k=256/218.0 ,然后高度178*k=209,那么剩下256-209=47像素填充黑边(0),你可以将47/2=23也就是23像素填充到上边,剩下24像素填充到下边。当然也可以所有的像素都填充到一边去,后面这做法需要确定下全部填充到一边对你的结果没有影响