今天在看和目标检测相关的系列论文(rcnn-sppnet-fast-rcnn,faster-rcnn),在看到SPP-net时,提到sppnet解决了深度网络要求输入必须固定的问题。而且分析了深度网络需要固定输入尺寸的原因是因为有全链接层,那么是为什么呢?
仔细思考下,在有卷积层和全连接层的深度神经网络,不同大小的输入图片对卷积参数的训练是没有影响的(不同大小的输入图片对卷积核的尺寸和个数以及其训练均无关),但加上全连接后,最后的卷积层的输出要与首个fc层的所有节点进行全连接操作。这里以首层fc有4096个节点为例。当输入图片的尺寸为size1时,最后的卷积输出为output1个feature 节点,则fc层中全连接形式是output1与4096全连接;当输入图片的尺寸为size2时,最后的卷积输出为output2个feature 节点,则fc层中全连接形式是output2与4096全连接,若output1>output2,且output1-output2=out,那么当size2大小的图片输入进神经网络后,在第一个fc层会出现在最后的卷积输出的特征中缺少out个特征节点与其相互全连接。
因此,这就是为什么因为由全连接的存在深度网络需要固定输入尺寸。