做过图像分类项目或者看过文章的小伙伴们应该都知道,在论文中进行各类方法的比较时,要求使用同样的数据集。而为了公平的比较,网络的输入大小通常都是224*224的大小,那为什么呢?有同学思考过这个问题吗?

我们都知道,一个图像分类模型,在图像中经历了下面的流程。

从输入image->卷积和池化->最后一层的feature map->全连接层->损失函数层softmax loss。

为什么深度学习图像分类的输入多是224*224_深度学习

 

从输入到最后一个卷积特征feature map,就是进行信息抽象的过程,然后就经过全连接层/全局池化层的变换进行分类了,这个feature map的大小,可以是3*3,5*5,7*7等等。

解答1:在这些尺寸中,如果尺寸太小,那么信息就丢失太严重,如果尺寸太大,信息的抽象层次不够高,计算量也更大,所以7*7的大小是一个最好的平衡。

另一方面,图像从大分辨率降低到小分辨率,降低倍数通常是2的指数次方,所以图像的输入一定是7*2的指数次方。以ImageNet为代表的大多数分类数据集,图像的长宽在300分辨率左右。

解答2:所以要找一个7*2的指数次方,并且在300左右的,其中7*2的4次方=7*16=112,7*2的5次方等于7*32=224,7*2的6次方=448,与300最接近的就是224了。

这就是最重要的原因了,当然了对于实际的项目来说,有的不需要这么大的分辨率,比如手写数字识别MNIST就用28*28,有的要更大,比如细粒度分类。

今天的问题就到这里了,不知道,你有没有留意过不同的输入大小对分类器性能的影响呢?