目标检测系列(3):OverFeat和DeepMutliBox

Object detection 之 OverFeat

OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

OverFeat:利用卷积网络进行识别、定位和检测

ICLR’ 14

摘要

文章提出一个基于卷积神经网络的综合框架,用来解决分类、定位和检测任务。文章展示了如何用卷积网络实现多尺寸的滑窗法,此外通过深度学习的方法预测物体的边框来进行定位,对边框进行累计而不是抑制来提升检测的置信度。本文发现,不同的任务可以在一个共享权重的CNN上同时进行学习。本文提出的方法获得了ILSVRC2013的定位比赛冠军,并且在分类和检测比赛中也获得具有竞争性的结果。
按照作者原话OverFeat是一个算子,类似LBP、HOG。

[Finally, we release a feature extractor from our best model called OverFeat]

主要观点

  1. 多任务的训练可以同时提高所有任务的表现力,多任务之间有互补的关系。分类、定位、检测。
  2. 通过积累accumulate目标预测框,而不是抑制suppress,可以在目标检测中取得更好的结果。
  3. 提出了offset pool,类似于SPP想解决多尺度输入问题。

Classification分类任务

model design and training模型设计和训练

用的网络结果类似与AlexNet,做了几处微小的改进,提出了两种模型,一个是快速模型fast model,一个是准确模型accurate model。模型结果如下:
fast model
accurate model
文中给出了训练时用的参数:原图降采样到256x256,然后随机crop5个221x221,mini-batch=128,权重初始化用高斯分布,优化器SGD, l r = 1 0 − 5 lr=10^{-5} lr=105,momentum=0.6等等

Multi-Scale Classification

这小节堪称这篇论文的核心,作者提出了一个叫offset pool的池化原理,先放图。
offset pool
这张图是offset pool的一维解释。
目的和SPP的想法一样,多尺度的input经过卷积层后得到多尺度的feature maps,但是这些不同尺度的feature maps不能送进全连接层,需要但是对所有feature maps经过平均后,最终的就是类别数 C C C

ConvNets and Sliding Window Efficiency

讨论了文章的检测速度比普通的滑窗法快的原因,就是和R-CNN比,不需要对每个proposals进行一次CNN,这样速度就提升了很多。归功于设计了offset pool,可以输入多尺度。
conv efficiency

Localization 定位任务

主要把分类任务的最后一个分类层换成回归层,然后预测bounding boxes。定位任务的网络最后3个全连接层的节点数分别维4096、1024、4,4代表描述bounding box的4个坐标。最后一层4是和类别有关的class-specific,对于每一个类都要单独训练。用的loss是L2

combining predictions 综合预测

之前提到了本文的一个main contribution是积累预测,而不是抑制。
对于每个尺度预测的结果,通过一种贪婪算法进行综合-平均:

  1. 在6个尺度上进行分类任务,每个尺度取top-k个结果,对图片类别进行标定 C s C_{s} Cs
  2. 同样的,在6个尺度上进行定位任务,得到bounding box结果 B s B_{s} Bs
  3. 将所有尺度的 B s B_{s} Bs取并集得到大的 B B B
  4. B B B中的bounding box进行整合/抑制,具体做法:选取两个box b 1 , b 2 b_{1},b_{2} b1,b2,计算match_score( b 1 , b 2 b_{1},b_{2} b1,b2),如果match_score<阈值,则把 b 1 , b 2 b_{1},b_{2} b1,b2 B B B删除,并将 b 1 , b 2 b_{1},b_{2} b1,b2的融合放进 B B B;如果match_score>阈值,stop。

Object detection 之 DeepMultiBox

Scalable Object Detection using Deep Neural Networks

利用深度神经网络实现可扩展的目标检测

2014 CVPR,Google出品

摘要

文章指出之前的目标检测模型存在的问题:无法处理同类物体的多个实例cannot handle multiple instances of the same object。本文提出一种用于目标检测的深度神经网络,产生和物体种类无关的bounding box,并且每个box都有一个置信度表示存在任务目标的可能性。实验结果表明,文章提出的DeepMutliBox方法不仅能够检测同一物体的不同实例,而且对未出现过的目标具有不错的泛化能力。

主要亮点

  1. 本文将目标检测问题归纳为Bounding Box的回归问题,并且对Box存在目标的可能性用置信度进行量化。
  2. 将分类和检测两个task结合,多任务共用一个深度卷积网络。
  3. 提出class-agnositc物体类别无关的矩形框,对未见过的目标有很好的泛化能力。

Approach

通过预测一系列可能存在目标的Bbox,以及每个Bbox的置信度(这个置信度表示存在任何目标的可能,不针对具体目标种类)
模型:为了得到Bbox和置信度,需要将模型进行一定的修改。
Bbox包含4个值,可以用4维向量表示。在DNN的最后一个隐含层后加一个fc得到。
置信度用一个[0,1]之间的小数表示。在DNN的最后一个隐含层加一个fc和Sigmoid函数得到。文章中用于分类的网络是AlexNet
Loss function:网络的优化方向有2个

  1. 对于和Ground truth最吻合的点,希望其置信度越大越好,即这个bbox中确实存在目标;
  2. 对于和Ground truth不吻合的点,希望其置信度越小越好,即这些bbox中不存在目标;

因此,提出2个损失函数:
L2回归损失
F m a t c h ( x , l ) = 1 2 ∑ i j x i j ∣ ∣ l i − g i ] ∣ ∣ 2 2 F_{match}( x, l)=\frac{1}{2}\sum_{ij}x_{ij}||l_{i}-g_{i}]||_{2}^{2} Fmatch(x,l)=21ijxijligi]22
只有当 x i j = 1 x_{ij}=1 xij=1时才有会有loss,即最吻合的bbox和ground truth的L-2差,显然希望最吻合的bbox和ground truth是一样的,这样loss最小, F m a t c h ( x , l ) F_{match}( x, l) Fmatch(x,l)越小说明产生的bbox越准确。
cross-entropy 分类损失
F c o n f ( x , c ) = − ∑ i , j x i j l o g ( c j ) − ∑ i ( 1 − ∑ j x i j ) l o g ( 1 − c i ) F_{conf}( x, c)=-\sum_{i,j}x_{ij}log(c_{j})-\sum_{i}(1-\sum_{j}x_{ij})log(1-c_{i}) Fconf(x,c)=i,jxijlog(cj)i(1jxij)log(1ci)
但是仅仅有L2回归损失是不够的,还需要加入分类损失,用交叉熵损失。
对于前一项 − ∑ i , j x i j l o g ( c j ) -\sum_{i,j}x_{ij}log(c_{j}) i,jxijlog(cj),当 x i j = 1 x_{ij}=1 xij=1时即分类正确,希望 c j c_{j} cj越大越好;
对于后一项 − ∑ i ( 1 − ∑ j x i j ) l o g ( 1 − c i ) -\sum_{i}(1-\sum_{j}x_{ij})log(1-c_{i}) i(1jxij)log(1ci)。当 x i j = 0 x_{ij}=0 xij=0即分类错误,希望 1 − c j 1-c_{j} 1cj越大,即 c j c_{j} cj越小越好。
最终的损失函数包括回归损失和分类损失:
F ( x , l , c ) = α F m a t c h ( x , l ) + F c o n f ( x , c ) F(x,l,c)=\alpha F_{match}( x, l)+F_{conf}( x, c) F(x,l,c)=αFmatch(x,l)+Fconf(x,c)
训练时 α = 0.3 \alpha =0.3 α=0.3

Optimization:作者训练CNN用的时经典的反向传播BP。
Training Details:采用了3个modification提升训练的速度和精度

  1. perform clustering of ground truth locations and find K such clusters/centroids.
  2. using priors in the matching process
  3. 【还有啥】

实验部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值