姓名:贾轶名 学号:21011210011 学院:通信工程学院
【嵌牛导读】目标检测在现实中的应用很广泛,我们需要检测数字图像中的物体位置以及类别,它需要我们构建一个模型,模型的输入一张图片,模型的输出需要圈出图片中所有物体的位置以及物体所属的类别。在深度学习浪潮到来之前,目标检测精度的进步十分缓慢,靠传统依靠手工特征的方法来提高精度已是相当困难的事。而ImageNet分类大赛出现的卷积神经网络(CNN)——AlexNet所展现的强大性能,吸引着学者们将CNN迁移到了其他的任务,这也包括着目标检测任务,近年来,出现了很多目标检测算法。
【嵌牛鼻子】计算机视觉
【嵌牛提问】如何理解目标检测算法——SPP-Net
【嵌牛正文】
针对R-CNN对所有候选区域分别提取特征、计算量大的问题,2015年He等提出空间金字塔网络(Spatial Pyramid Pooling Network,SPP-Net)。SPP-Net 在最后一个卷积层和全连接层之间加入空间金字塔结构;使用多个标准尺度微调器对图像进行分割,将量化后的局部特征融合生成中层表达,在第五个卷积层的特征图上生成固定长度的特征向量,一次性提取特征避免重复特征提取,打破了固定尺寸输入的束缚。
R-CNN模型与SPPNet模型
将侯选区域送到CNN里面提取特征向量时,因为CNN的输入图像需要固定大小,而候选区域的长宽都是不固定的,故需要对候选区域填充到固定大小,当对侯选区域做cropping或者warping操作,图片不完整包含物体,都会造成识别精度损失。
SPP-Net的解决办法是使用“空间金字塔变换层”将接收任意大小的图像输入,输出固定长度的输出向量,这样就能让SPP-Net可接受任意大小的输入图片,不需要对图像做crop/wrap操作。
空间金字塔池化网络结构:
-R-CNN模型与SPP-Net模型
在R-CNN中,每个候选区域都要塞到CNN内提取特征向量,一张图片有2000个候选区域,也就是一张图片需要经过2000次CNN的前向传播,这2000重复计算过程会有大量的计算冗余,耗费大量的时间。SPPNet提出了一种从候选区域到全图的特征映射(feature map)之间的对应关系,通过此种映射关系可以直接获取到候选区域的特征向量,不需要重复使用CNN提取特征,从而大幅度缩短训练时间。
SPP Net的实现过程:
(1)SPP Net把全图传入CNN得到全图的feature map;(2)让候选区域与feature map直接映射,得到候选区域的映射特征向量(这是映射来的,不需要过CNN);(3)映射过来的特征向量大小不固定,所以这些特征向量传入SPP层(空间金字塔变换层),SPP层接收任何大小的输入,输出固定大小的特征向量,再传给FC层。
上图SPPlayer分成1x1(塔底),2x2(塔中),4x4(塔顶)三张子图,对每个子图的每个区域作max pooling,出来的特征再连接到一起,就是(16+4+1)x256(kM)的特征向量。
无论输入图像大小如何,出来的特征固定是(16+4+1)x256维度。这样就实现了不管图像尺寸如何,SPP层的输出永远是(16+4+1)x256特征向量。
网络训练阶段:
论文中将网络的训练分为两种:Single-size和Multi-size。
Single-size的训练过程:
理论上说,SPP-net支持直接以多尺度的原始图片作为输入后直接BP即可。实际上,caffe等实现中,为了计算的方便,GPU、CUDA等比较适合固定尺寸的输入,所以训练的时候输入是固定了尺度了的。以224*224的输入为例:
在conv5之后的特征图为:13x13(a*a) 金字塔层bins: n*n
将pooling层作为sliding window pooling,则windows_size=[a/n] 向上取整 ,stride_size=[a/n]向下取整。参数如下:
Multi-size training的训练过程:
使用两个尺度进行训练:224*224 和180*180
训练时,用224*224的图片训练一个epoch,之后用180*180的图片训练一个epoch,二者交替进行。
两种尺度经过SSP后,输出的特征维度都是(9+4+1)x256(kM)。
对于映射关系,论文中给出了一个公式:
假设(x’,y’)表示特征图上的坐标点,坐标点(x,y)表示原输入图片上的点,那么它们之间有如下转换关系,这种映射关系与网络结构有关:(x,y)=(S*x’,S*y’)
反过来,我们希望通过(x,y)坐标求解(x’,y’),那么计算公式如下:
其中S就是CNN中所有的strides的乘积,包含了池化、卷积的stride。
比如,对于下图的集中网络结构,S的计算如下:
论文中使用的是ZF-5: S=2*2*2*2=16 Overfeat-5/7 : S =2*3*2 =12
网友评论