1.CNN网络后面接的全连接层(FC)层需要固定的输入大小,限制网络的输入大小。

2.候选区域一张图片有2000张,全部塞给CNN提取特征向量,大量的重复计算,造成效率低下。

关于输入限制的处理:

Crop和warp是RCNN对于候选区域的处理方式。

关于计算量过大的处理:

SPPNet提出了一种从候选区域到全图的特征映射(feature map)之间的对应关系,通过此种映射关系可以直接获取到候选区域的特征向量,不需要重复使用CNN提取特征,从而大幅度缩短训练时间。

再具体:SPP是直接将整张图给CNN输入,得到的feature map 再拿去映射给各个候选区域,映射过程不需要CNN,因此减少计算量。

映射出的未知大小的特征向量由SPP继续处理。

将一张图片以三种方式切割并提取特征(如下图),这样我们可以得到一共1+4+16=21种特征,这就是以不同的大小的bin块来提取特征的过程就是空间金字塔变换。

在SPP中候选区域的映射处理:

分成的三张1*1,2*2,4*4子图,对每张子图的每个区域做max pooling ,再将所得到的特征向量连接在一起,所以经过SPP输出(1+4+16)*256 大小的特征向量。

2) 输入同一图像的不同尺寸,会提高实验准确率(从尺度空间来看,提高了尺度不变性(scale invariance))

4)图像输入的尺寸对实验的结果是有影响的(因为目标特征区域有大有有小)

5)因为我们替代的是网络的Pooling层,对整个网络结构没有影响,所以可以使得整个网络可以正常训练。

更多详细内容可以参考: