OverFeat 个人总结

论文:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》。可在google学术、百度学术下载。

一、Introduction

卷积网络的优点:end to end,由像素对应到最终的类别

缺点:需要大量已标记的样本

本文主要介绍了利用OverFeat进行分类定位检测这三大视觉任务。

1. 分类

图像中通常包含一个大型对象,每张图像分配一个该图像中主要对象的label,允许5个prediction来找到正确的label,因为图像中可能含有多个其他对象。
这里写图片描述

2. 定位
定位通常与分类一起。
图像中通常包含一个大型对象,除了需要给出5个prediction,还需要返回图像中主要对象的bbox (bounding box),且bbox与GT的IoU必须达到50%。每个bbox必须标注为正确的label,即bbox和label不能分离。
这里写图片描述

3. 检测

与分类和定位不同,每张图像都可以由任意数量的object (也可以没有object),评价标准是mAP。
分类和定位共享数据集,但是检测需要额外的数据(因为object更小)
这里写图片描述

二、Classification

训练集:ImageNet (120W, C=1000)

其中,训练的图像不是原始图像,而是 fixed crop。把图像缩放为最小边长为256 pixels,然后随机截取5个大小分别为221x221的crop,水平翻转后变为10个。然后进行训练。

OverFeat的网络结构为8、9层(快速版和精确版)。
这里写图片描述
这里写图片描述
关于stride,需要注意,stride大虽然有利于速度,但会损害准确性。

Multi-Scale Classification:
传统的检测/定位算法是固定image不变,采用不同的sliding window来支持不同尺度的物体。
对于CNN,sliding window的大小就是训练时input的大小,是不可改变的。所以,CNN支持多尺度的方法就是固定sliding window的大小,改变image的大小(将图像resize到对应的尺度上)。

sliding window的 stride = 所有Conv layer和Pooling layer的stride的乘积。
sliding window的 size = 第一个FC层input size

本文在分类(即测试)时,采用的是金字塔+sliding window的方法。
即对图像做不同尺度的缩放,对不同尺度的image进行卷积,得到不同尺寸的feature map,然后用固定大小(i.e.5x5)的sliding window以等距步长在feature map上滑动,对每个sliding window进行分类。
——————————————2018/03/18更新————————————————————–
OverFeat得名于此。Feat即feature,over feat就是说我们得到了不同尺寸的feature map,并且在feature map上遍历。
———————————————更新完毕—————————————————————–
需要注意的是,滑动窗口的stride根据上面的公式,一般而言是比较大的。这会造成feature map上某些位置无法采用得到。本文在layer-5 层max pooling之前做了一个offset处理:针对feature map,pooling filter分别从(0,0),(0,1),(0,2),(1,0),……,(2,2)处开始滑动,得到9个不同的feature map。即每个尺度得到9个feature map。

我们最终分类是通过这样的步骤
1.在每个尺度下,去每个类的最大值,这样构成C维向量;
2.对不同尺度的C维向量取均值
3.取平均化后的C维向量的Top1或Top5作为预测的类

三、Localization

定位模型与分类模型在卷积层方面完全相同,都是用于提取特征。只是最后用回归层取代分类层,最后将回归预测的bbox与分类结果结合起来。

因此我们固定分类网络的卷积层(1-5层),即参数不需变动。单独训练回归层(利用预测框与GT的L2 loss来训练)

回归层的输出层是class specific的,即对于每个类,都需要单独训练最后一层。深度为1000,代表1000个类,输出1000个bbox,每个bbox对应一类。

回归层有两个FC层,单元为4096,1024.(可能是交叉验证得到的)

定位时,对每个尺度同时运行分类网络和回归网络。这样,分类网络给出类别的概率,回归网络为每个类预测一个bbox。这样对于每个bbox,就有一个置信度与之对应。

置信度:分类器给出预测类别的概率,而分类器本身的结果是否可靠是根据置信度来评判。

bbox最初都是grid,慢慢合并成不同尺度和尺寸的box。

合并预测
1.在6个尺度下运行分类网络,在每个尺度下选取top-k个类别,即对每张图片预测类别,放在Cs集合中(这里面是一张图片的s尺度下类别集合)。
2.在每个尺度s下,运行回归网络预测bbox,将Cs中每个类的bbox放在Bs集合中。
3.将各个尺度的Bs取并集,为B。
4.对bbox进行融合

取b1,b2
计算math_score(两bbox交集的中心与这两个bbox中心的距离之和)
如果match_score超出阈值t,则不合并这两个bbox
如果match_score小于阈值,就在B中删除不b1,b2.将merge_box(b1、b2的坐标平均值)放入B中。

最终的结果是得到带有最高置信度的bboxes。
这里写图片描述
这里写图片描述
置信度低的bbox会在最后的detection image中消失(比如其他的小物体,非图像中的主要物体),但不仅仅是因为更低的置信度,还因为他们的bbox集合Bs不想熊一样连续,缺乏bbox的一致性,从而没有持续的置信度积累。

四、Detection

是分类和定位的结合。不同的是,一张图片可能多个位置同时训练,且图片中没有物体的时候,需要预测背景。

注意:使用密集的sliding window会增加false postive。

五、参考文献:

1.https://www.cnblogs.com/yinheyi/p/6232152.html (讲分类、FCN讲的不错)
2.http://blog.csdn.net/smf0504/article/details/52745059

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值