【目标检测】SPP-Net网络

引言

SPP-Net网络是一种深度学习网络结构,它最大的特点是可以接受任意尺寸的输入图像。在SPPNet之前,大部分的神经网络都需要输入固定尺寸的图片,这对于不同尺寸的图片检测带来了许多不便,因为需要对图片进行缩放、裁剪等一系列操作,这在一定程度上会导致图片信息的丢失和变形,限制了识别的精确度。

SPP-Net简介

SPP-Net是出自论文:《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》

在此之前,所有的神经网络都是需要输入固定尺寸的图片,比如224*224(ImageNet)、32*32(LenNet)、96*96等。这样对于我们希望检测各种大小的图片的时候,需要经过crop,或者warp等一系列操作,这都在一定程度上导致图片信息的丢失和变形,限制了识别精确度。而且,从生理学角度出发,人眼看到一个图片时,大脑会首先认为这是一个整体,而不会进行crop和warp,所以更有可能的是,我们的大脑通过搜集一些浅层的信息,在更深层才识别出这些任意形状的目标。

SPP-Net对这些网络中存在的缺点进行了改进,基本思想是,输入整张图像,提取出整张图像的特征图,然后利用空间关系从整张图像的特征图中,在spatial pyramid pooling layer提取各个region proposal的特征。SPPNet通过空间金字塔池化(Spatial Pyramid Pooling,简称SPP)的方法。这种方法的主要思想是将任意尺寸的图片经过卷积层后得到的特征图划分为不同尺寸的小块,然后对每个小块进行池化操作,这样就可以得到固定长度的输出,从而解决了输入图像尺寸不定的问题。

一个正常的深度网络由两部分组成,卷积部分和全连接部分,要求输入图像需要固定size的原因并不是卷积部分而是全连接部分。所以SPP层就作用在最后一层卷积之后,SPP层的输出就是固定大小。

SPP-net不仅允许测试的时候输入不同大小的图片,训练的时候也允许输入不同大小的图片,通过不同尺度的图片同时可以防止overfit。相比于R-CNN提取2000个proposal,SPP-net只需要将整个图扔进去获取特征,这样操作速度提升了100倍左右。

猜你喜欢

转载自blog.csdn.net/AI_dataloads/article/details/134385067
今日推荐