分类、检测任务数据增强知识
模型训练的整体流程,通常包括数据集制作、数据增强、数据加载、模型训练、模型测试。
其中,数据增强的工作,除了包括图像旋转、加噪点等丰富数据特征的工作外,还包括数据裁剪的工作。
那么,数据裁剪是必须的吗?为什么要数据裁剪?以及怎样裁剪?
1、数据裁剪是必须的吗?
不知道,待补充。
2、为什么要数据裁剪?
因为模型后面产生的特征图,如果尺寸太大,那么信息的抽象程度不够,难以提取高纬度特征,同时还会带来很高的计算量;
如果尺寸太小,又容易丢失必要的特征。
因此,需要在前面的输入端,对图像的尺寸进行合理限制,进行裁剪。
3、怎样裁剪?
224x224
通常认为,7x7是一个比较理想的特征图尺寸,图像从大分辨率降低到小分辨率,降低倍数通常是2的指数次方。因此,进行倒推,图像的输入尺寸的长或宽可以为7x(2^n),即14、28、56、112、224、448…。
以ImageNet为代表的大多数分类数据集,图像的长宽在300分辨率左右,因此模型的最终输入通常选为224x224。
256x256
由于有时训练集的数据量较小,需要进行数据扩充,扩充为原来的10倍、100倍、1000倍、10000倍等量级。因此可以通过从NxN大图上进行裁剪,得到最终224x224小图,进行扩充;扩充的量级为(N-224)x(N-224)。上述10倍、100倍、1000倍、10000倍量级的扩充,分别对应3x3、10x10、32x32、100x100,因此只需要将N设为约227、234x234、256x256、324x324。
由于公共数据集图像的长宽在300分辨率左右,因此数据增强的第一步,先将图像截取为256x256大小。
补充:
不使用256*256使用其他的尺寸如何呢? 在比赛刷榜中,经常使用多尺度模型测试,即使用不同尺度的输入图进行裁剪然后进行结果融合,该作者曾经在Place365数据集上训练过ResNet和DPN模型,下面是不同尺度的测试结果:
不同尺度的结果会有差异,但是通常都不大,因此除非模型特殊,不必太纠结与这个问题。
其实上述知识了解、知道就好,实际模型训练时,按照常规设置就好,更重要的数据集的质量(丰富性、量大小)
参考文章:
链接: 为什么图像分类任务要从256256中裁剪出224224.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)