OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks
文章梳理
这篇文章比上几篇的难度大一些,读了很长时间才明白,因此打算写篇文章总结一下,梳理一下文章每个段落的重点,另外附上这篇文章正确版本的下载链接:这里;我在第一次下载的这篇文章排版乱,而且有些段落没有,给我的阅读造成很大的困难,后来得知后下载了正确版本的,分享给大家,少走弯路。
Abstract
1.文章提出了使用一个卷积神经网络进行分类、定位和检测的框架。
2.展示了多尺度和滑动窗口方法如何被有效的运用到卷积网络上。
3.提出了一个新的方法通过学习预测物体边界来定位,为了增加检测置信度边界框架被累加而不是减少。
4.证明使用单一的网络可以完成不同的任务。
5.从最好的模型种提取出了特征提取器,称为Overfeat。
1. Introduction
- ConvNets特点:
- 优势:end2end的学习方式,省掉了手工建立特征提取器的过程。
- 劣势:需要巨量、人工标注的数据。
- 本篇文章的目的:
- 提出了一个使用一个神经网络模型就能实现物体检测、识别、定位的新方法。
- 提出通过使用累加预测框实现定位和检测的新方法。
- 定位、预测、检测组合在一起的好处:
- 无需训练背景样例。
- 避免耗时、复杂的抽样训练。
- 无需训练背景样例也使得网络聚焦于正确分类上,从而获得更高的准确度
- 现如今CNN训练遇到的难题:
- 数据集图像中的对象并不总是据中且占据图像中的绝大部分。
- 图像中的物体的大小和位置变化多。
- 针对4中的问题现有的解决方法:
- 将图像的多个位置以滑动窗口和多个尺度上应用卷积神经网络。 缺陷:窗口可能只包含检测对象的一部分,对象也可能不在窗口中间。
- 让训练系统不仅为每个窗口划分类别,而别生成窗口中检测对象包围框的大小和位置。
- 为每个类别的大小和位置积累证据。
- 5th~7th主要讲前人的一些做法以及优缺点。比如,7th中讲到有作者提到将观察窗口的中心像素按其所属对象的类别进行分类,并将窗口作为决策的上下文。这个方法的优势在于边界轮廓可以不需要边界分明的矩形框了;缺点是这需要像素级的训练,需要巨大的计算力。
2.Vision Task
- classification、localization、detection之间的关系:
- detection > localization > classification
- 文章所建模型的特点:
- 每张图片都标有一个图像中主要物体的标签。
- 每张图片允许有5个预测,因为图像中可能包含很多对象。
- 预测框必须占正确对象的50%(检测方法IOU)如图1所示。
- 每个返回的bounding box必须包含着对应的标签。
- 检测任务的难点:
- 每张图像中物体的数量不定。
- classification和localization使用相同的数据集,detection使用额外的数据集,在此数据集中对象可能更小。
3. Classification
文章使用的模型结构和AlexNet相似,但是改变了一些网络的设计。
3.1 Model Design and Training
-
模型设计要点:
- 和AlexNet采用相同的固定输入尺寸,最小的维数为256pixels。
- 从大小为221*221大小的图片中随机提取五个区域,以mini-batch为128的大小输入网络。
- 权重随机初始化,服从 ( μ , σ ) = ( 0 , 1 × 1 0 − 2 ) (\mu, \sigma)=(0,1\times 10^{-2}) (μ,σ)=(0,1×10−2)。
- 采用SGD(随机梯度更新方法),momentum=0.6, l 2 l_2 l2weight_decay= 1 × 1 0 − 5 1\times10^{-5} 1×10−5,学习率= 1 × 5 − 2 1\times5^{-2} 1×5−2,学习率在(30,50,60,70,80)次迭代后减半。
- 在全连接层使用Droupout方法,rate=0.5。
-
与AlexNet不同之处:
- 没有使用contrast normalization
- 池化区域不重叠
- 第一层和第二层的特征图大(stride由原来的4变为2)。
图2:
- 第一层获得边缘信息。
- 第二层的filter形式各异,获得的信息一些比较分散,一些具有强线条结构和方向性的边缘。
3.2 Feature Extractor
OverFeat特征提取器一共有两种模型,fast和accurate。fast所需时间短,但是精度较低(16.39%);accurate所需时间长,精度高(14.18%)。
accurate与fast参数比较
3.3 Multi-Scale Classification
- 原来的Multi scale模型存在的问题:
- 一张图片选取10个窗口(4个角和中心,再翻转取一次),容易忽视图片中的很多区域,如果区域重叠会造成计算大量冗余。
- 仅使用一个采集尺度,降低了获得合适对象框的可能性。
- 本文所提Multi scale模型的特点:
- 采用多尺度,在输入图像上密集采集区域。
- 多区域投票的方法,保持了计算效率的同时增加了模型的鲁棒性。
- 原来的模型只能沿着每个轴的输入维度每36个像素生成一个分类向量,现在变为12个像素,消除了这一层分辨率的损失。
- 如何执行分辨率增强:
使用了6种尺度,这使得在未进行池化的第5层有不同的尺寸,接着再进行池化以及分类。具体过程如下图所示:
总结:这实际上将网络分成了两大部分:特征提取部分(1-5层),分类部分(6层-结果输出层)。从计算角度来看,这比在图像上滑动一个固定大小的特征提取器,在聚合不同位置的结果有用的多。我们也希望在不同的位置和尺度的第五层特征映射中寻求固定大小的表示。
3.4 Result
各项的效果都在表中,不再对结果进行多余的赘述。
3.5 ConvNets and Sliding Window Efficiency
这一节主要讲解文章所提网络应对输入图片大小变化的做法:(用到FCN的知识)
如上图所示,我们输入的图片大小为1414,经过第一阶段(1st stage)后大小变为55,经过classifier的处理,55变为11.
- 在传统的CNN中,在classifier这一步中我们需要把5*5大小的图片,展平(Flatten)成为一维向量。
- 而在FCN中,把55的图片使用55的卷积核进行运算,变为11大小。
FCN实质上是把平展的过程变为了对整张特征图的卷积。
接下来我们看一下输入图片尺寸发生变化的处理过程:
从图中可以看到最后的结果变为22的大小。我们可以对其再进行取平均值的处理,作为属于各类别的概率。
4. Localization
从分类训练网络部分开始,使用回归网络代替分类器层,训练它预测每个空间位置尺度上的对象边界盒。将回归预测与每个位置的分类结果结合在一起。
4.1 Generating Predictions
为了生成对象边界框预测,同时在所有位置和尺度上运行分类器和回归器网络,他们共享相同的特征提取层,所以只需要在计算分类网络后重新计算最后的回归层。
对于每个位置是否存在类C中的对象,最后的softmax层给出一个评分。
4.2 Regressor Training
回归网络将来自第5层的合并特征映射作为输入。它有2个全连通的隐藏层,大小分别为4096和1024通道。最后的输出层有4个单元,分别指定了边界框边缘的坐标。与分类一样,由于∆x,∆y,整个分类中有(3 * 3)个副本,结构如下图所示。
图中所示为Layer5的特征图在scale=2的情况下:
- 对于每个(3x3)∆x,∆y移位,回归器在这个尺度上的输入是6x7像素,在空间上是256通道。
- 回归网络第一层的每个单元都连接到第5层特征图上的一个空间邻域,以及所有256通道。使用55的区域在图上移动,得到一个23大小的图。
- 对于2x3映射中的每个位置,对于(3x3)∆x,∆y移位,回归网络的输出是一个4向量(指定边界框的边)。
由回归网络产生的边界框的例子:
怎样训练regressor预测bounding box:- 前5层的网络是固定不变的。
- 用regressor来代替原本的classifier。
- 使用 l 2 l_2 l2损失函数来训练regressor(真实框与预测框)。
- 输出层输出1000维向量,对应1000个物体类别。
- 真实框与预测框重叠小于50%不参与训练。
- 采用多个scale开训练模型,强化预测能力。
4.3 Combining Predictions
联合预测的步骤:
- 在6个缩放比例上运行分类网络,每个比例上选择预测结果的前k个类别,总体来说就是对每个图片进行分类,得到分类集Cs。
- 在每个比例上运行预测bounding box,对每个类都产生对应的bounding box集合Bs.
- 把各个比例上产生的Bs整合到一个大集合B中。
- 融合bounding box:选取两个bounding box,计算两个之间的匹配数,小于某个阈值没删除这两个bounding box,,大于某一个阈值结束运行,将两个再放入集合B中,再进行循环。
其中match score是两个bounding boxes中心的距离和它们交叉面积之和;box merge计算两bounding boxes的coordinates的平均值;最后的预测是找maximum class scores的那个merged bounding boxes。
上图描述的是不同缩放比例上不同的预测结果,原始图像上预测结果只有熊,方法比例后还出现了其他对象。
不同的offset使得预测框的数量增多。
不同的scale使得预测框的数目更多。
上图是预测框经过融合后。
4.4 Result
模型效果从图表中可以看出,不再赘述。
5 Detection
- detection的特点:
- 在一张图片中同时训练多个location。
- 所有的location共享权重。
结果: