为什么深度学习图像分类里的图片的输入大小都是224224呢?
做过图像分类项目或者看过文章的小伙伴们应该都知道,在论文中进行各类方法的比较时,要求使用同样的数据集。而为了公平的比较,网络的输入大小通常都是224224的大小,那为什么呢?有同学思考过这个问题吗?
我们都知道,一个图像分类模型,在图像中经历了下面的流程。
从输入image->卷积和池化->最后一层的feature map->全连接层->损失函数层softmax loss。
image从输入到最后一个卷积特征feature map,就是进行信息抽象的过程,然后就经过全连接层/全局池化层的变换进行分类了,这个feature map的大小,可以是33,55,7*7等等。
解答1:在这些尺寸中,如果尺寸太小,那么信息就丢失太严重,如果尺寸太大,信息的抽象层次不够高,计算量也更大,所以7*7的大小是一个最好的平衡。
另一方面,图像从大分辨率降低到小分辨率,降低倍数通常是2的指数次方,所以图像的输入一定是7*2的指数次方。以ImageNet为代表的大多数分类数据集,图像的长宽在300分辨率左右。
解答2:所以要找一个72的指数次方,并且在300左右的,其中72的4次方=716=112,72的5次方等于732=224,72的6次方=448,与300最接近的就是224了。
这就是最重要的原因了,当然了对于实际的项目来说,有的不需要这么大的分辨率,比如手写数字识别MNIST就用32*32,有的要更大,比如细粒度分类。
网友评论