您的位置:首页 > 其它

目标检测:Fast R-CNN

2016-12-19 15:56 169 查看
《Fast R-CNN》论文解读

本文作者是Ross Girshick,和R-CNN作者一样。

概述

前面提到端到端的检测框架是很难实现的,那么先把除了region proposal的部分统一起来。Fast R-CNN贡献就在于把特征提取,SVM,Bounding box regression统一到一个框架里面了。

Fast R-CNN

先说点题外话,如何阅读一篇论文?对于深度学习方面的论文,我觉得要关注以下几个问题:1、网络结构是什么样子的,也就是说前向传播的路径是什么样的;2、如何进行训练,包括训练的样本是什么,使用了什么样的训练方法,如何选择超参数。对于一些细枝末节的问题,如果不打算重现的话也没有必要深入去研究。从这个角度来说,网上很多的资料质量实在不怎么样,写的没有条理。回到本文来看,我从我的角度给出这篇论文的解读。

网络结构

在Fast R-CNN中,候选区域生成(region proposal)仍然是独立于系统的,本文的贡献在于将特征提取、目标分类、边框回归统一到了一个框架下面。



这个网络的输入是原始图片和候选区域RoI位置,输出是分类类别和bbox回归值。将原始图片输入到网络中,在网络的最后一个卷积层根据RoI位置获得对应RoI的特征图,然后输入到Roi pooling layer,可以得到一个固定大小的特征图。将这个特征图经过2个全连接层以后得到RoI的特征,然后将特征经过全连接层,使用softmax得到分类,使用回归得到边框回归。CNN的主体结构可以来自于AlexNet,也可以来自于VGGNet。

这里唯一需要解释的就是RoI pooling layer。如果特征图上的RoI大小是h∗w,将这个特征图划分为h/H∗w/W个网格,每个网格做max pooling,这样得到pooling以后的大小就是H∗W。无论原始的RoI多大,最后都转化为7*7大小的特征图。本文将RoI池化为7*7的输出,其实这一层就是SPP的特例,SPP金字塔只有一层就是这样的。

训练

网络的训练需要从下面几个方向考虑:1、训练样本是什么;2、损失函数是什么;3、如果提出了新的网络结构,网络结构的反向传播怎么做。此外,还可以关注一下超参数的选取方法,看看作者在超参数选取上有什么好的思路可以借鉴。

训练样本

从网络的前向传播可以看到,网络需要的输入是图片和RoI,输出是类别和bbox,那么训练的图片每个RoI需要提前标注好类别和bbox。

作者使用层次抽样来选取训练图片。对应每个mini-batch而言,大小为128个RoI。先从训练图片中选取2张图片,每个图片的RoI中选取64个RoI,形成这128个RoI。这样网络前面的卷积计算是可以共享的,降低了训练的复杂度。64个RoI中,25%是有类别的(IoU>0.5,u≥1),剩下75%是背景(IoU∈[0.1,0.5),u=0)。数据增强使用了水平翻转。

损失函数

既然这个网络是个任务的网络,前面在TCDCN上也看到过这样的多任务网络,一般就是把两个损失加权相加。这篇文章也是这样的:

L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v)

损失函数第一部分是softmax的损失,第二部分是bbox regression的损失。其中[u≥1]是指示函数,表示当分类结果不为背景时候,这一项才起作用。λ是个超参数,作者选为1。关于Lloc(tu,v)作者选用了新的损失函数,这个就属于一些细枝末节的部分,有兴趣可以去看论文。

其他

关于RoI层如何反向传播的,这个其实并不需要做太多关注,毕竟现在大多数深度学习框架可以自动求导。

作者又提到如何解决不同尺度不变的问题,关于尺度不变我的理解是不同尺度下目标的特征不会发生明显变化,在不同尺度都能检测到目标。作者提出两张办法:一种是brute-force approach,将所有的图片缩放到相同尺度,网络直接学习尺度不变的检测;还有一种是构建图像金字塔,测试时候使用图像金字塔近似对每个RoI归一化,就是从金字塔里面寻找一个尺度,使得RoI大小接近224*224,训练的时候随机从金字塔中选取一个尺度作为数据增强的手段,也可以看做是不同大小的RoI使用不同尺度的图片进行特征提取。本文发现深度网络能够直接提取尺度不变的特征,没有必要使用金字塔。

作者还提到使用SVD压缩全连接层的方法,这个方法可以加速全连接层的运算。SVD可以把一个大的权重矩阵拆分成两个小的矩阵,从而降低运算量。

总结

Fast R-CNN将特征提取、分类、边框回归纳入到同一个框架,使得这部分的运算速度大大提高。现在系统的瓶颈终于到了Region proposal了,Faster R-CNN将对这一步做出改进。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐