Overfeat:
文章定义为一种特征提取器
针对任务
Overfeat利用同一卷积网络解决目标检测的分类、定位和检测这三个任务,下面将详细介绍这三个任务:
分类:根据图像信息中所反映出来的不同特征,把不同类别的目标区分开来的图像处理方法,论文中针对图像中的主要目标,每个图像都有一个标记,但由于图像中可能存在多个物体,因此可检测出5个最大概率的物体,只要这五个中包含了人工标定的哪个就算分类正确。
定位:在分类的基础上,找出物体的位置,论文中定位任务,每幅图像允许5次猜测,但另外,每个猜测必须返回一个预测对象的边界框。为了被认为是正确的,预测的盒子必须至少匹配至少50%(使用IOU),以及被标记为正确的类(即每个预测是一个标签和边界框关联在一起)。
检测:给定一张图像,找出图像中所有物体,并进行分类和找出所在位置。
分类任务:
1、网络架构:
针对视觉检测中的三个任务,文章给出了两种网络模型,快速模型(fast model,速度快但精度低)和精确模型(accurate model,精度高但速度慢)。
快速模型(fast model):

精确模型(accurate model):

网络架构的Layers 1-5与AlexNex类似,使用了“relu”非线性激活函数,最大池化,但与ALexNet不同的是a)没有使用对比度归一化;b)池化区域是不重叠的,c)模型有更大的第一层和第二层特征图。
2、多尺度分类
(a) 对一给定尺度的单一图像,我们首先从非池化层第5层的特征图开始;
(b) 每张非池化特征经过3x3最大池化操作(非重叠区域)时,用{ Δ x , Δ y }附加偏移量{ 0 , 1 , 2 }重复3 × 3次。
© 自此产生一系列的池化特征图,对不同{ Δ x , Δ y }复制3 × 3次。
(d) (6、7、8层)的分类器含有固定输入大小5 × 5 ,在每个池化特征图的每个位置产生C维输出向量。
(e) 不同偏移联合的输出特征,重塑成单一的3D输出特征图(two spatial dimensions x C classes)。

对每个图像的水平翻转版本也重复上述过程。然后通过以下几点产生最后的分类:(i) 在每种尺度和翻转中,提取每种类别的空间最大值;(ii) 平均不同尺度和翻转的最终C维结果向量;(iii) 从类别平均结果中获取top-1或者top-5结果。
网络可以分为两部分:1-5层位特征提取层,6层及以后就是分类层,在特征提取部分,卷积核在整个图像中进行一次卷积。从计算角度而言,这比滑动一个固定大小特征提取器更高效,然后将不同位置的结果融合起来。然而,在分类器部分,这些原则正好相反。在这里,我们想在不同位置和尺度的第5层特征图中寻找固定大小的表示。然后分类器用于固定的5x5大小的输入,然后将其用于第5层的特征图.
将不同尺度的图像输入网络中,如下图所示

从layer-5 pre-pool到layer-5 post-pool:这一步的实现是通过池化大小为(3,3)进行池化,然后 Δ x=0、1、2, Δ y=0、1、2,这样我们可以得到对于每一张特征图,我们都可以得到9幅池化结果图。以上面表格中的sacle1为例,layer-5 pre-pool大小是1717,经过池化后,大小就是55,然后有33张结果图(不同offset得到的结果)。
从layer-5 post-pool到classifier map(pre-reshape):我们知道在训练的时候,从卷积层到全连接层,输入的大小是4096(55),然后进行全连接,得到4096(11)。但是我们现在输入的是各种不同大小的图片,因此接着就采用FCN的招式,让网络继续前向传导。我们从layer-5 post-pool到第六层的时候,如果把全连接看成是卷积,那么其实这个时候卷积核的大小为55,因为训练的时候,layer-5 post-pool得到的结果是55。因此在预测分类的时候,假设layer-5 post-pool 得到的是79(上面表格中的scale 3),经过55的卷积核进行卷积后,那么它将得到(7-5+1)(9-5+1)=3*5的输出。
定位任务:
定位使用了回归网络,通过训练来预测目标的bounding box。网络的输入为layers (1-5) 提取的特征图。利用了L2损失来训练回归网络。
回归网络以来自第5层的合并特征图作为输入。它有2个全连接的隐藏层,大小分别为4096个和1024个通道。最终的输出层有4个单元,它们指定了边界框边的坐标。与分类一样,总共有(3x3)拷贝,这是由∆x,∆y偏移造成的。其体系结构下图所示

联合预测:
a)在6个缩放比例上运行分类网络,在每个比例上选取top-k个类别,就是给每个图片进行类别标定Cs
b)在每个比例上运行预测boundingbox网络,产生每个类别对应的bounding box集合Bs
c)各个比例的Bs到放到一个大集合B
d)融合bounding box。具体过程应该是选取两个bounding box b1,b2;计算b1和b2的匹配分式,如果匹配分数大于一个阈值,就结束,如果小于阈值就在B中删除b1,b2,然后把b1和b2的融合放入B中,在进行循环计算。
最终的结果通过融合具有最高置信度的bounding box给出。
6960

被折叠的 条评论
为什么被折叠?



