论文解读 (02)

Rich feature hierarchies for accurate object detection and semantic segmentation

Ross Girshick Jeff Donahue Trevor Darrell Jitendra Malik

该论文提出了一种简单且可扩展的目标检测方法,其mAP高达53.3%,比VOC 2012最好的结果高出至少30%。
该方法有两个关键的深刻见解:

1. 在输入图像的Region Proposals上应用了大规模CNN,来对目标进行定位与检测
2. 提出了对有监督的预训练模型进行迎合特定任务的微调,以解决训练样本的不足的问题,而且会带来性能的提升
由于该工作结合了region proposals与CNNs,故称该方法为R-CNN。

1.基于R-CNN的目标检测

该论文的目标检测模型分为三个模块:第一个模块用于产生一些与类别无关的候选区域(region proposals)。第二个模块是一个CNN模型,它将会从每个region proposals中提取固定长度的特征向量。第三个模块为一系列面向特定类别的SVM分类器。

<1> region proposals的产生
对于产生与类别无关的 region proposals,有许多同期的工作提出了各种的方法来实现:

Examples include: objectness [1], selective search [39], category-independent object proposals [14], constrained parametric min-cuts (CPMC) [5], multi-scale combinatorial grouping [3], and Cires¸an et al. [6], who detect mitotic cells by applying a CNN to regularly spaced square crops, which are a special case of region proposals.

而本工作采用了selective search算法。
<2> 特征提取
使用基于caffe实现的CNN从每个region proposal中提取一个4096维的特征向量,该工作所使用的的CNN架构是由Alex Krizhevsky等人所提出的著名的AlexNet。这里需要将 region proposal 变形成CNN要求的227x227的尺寸。至于如何将一个任意尺寸的 region proposal 变形成CNN要求的227x227的尺寸,这里选取了最简单的做法:直接用 region proposal 内的像素均值进行padding,直至填充成227x227.

2.测试阶段的目标检测

先使用 selective search 在input image上选取2000个 region proposa ,然后对这些 region proposal 作变形,再送入CNN提取特征。接下来使用面向特定类别的SVM分类器对CNN提取的特征向量进行打分(这些分数是这2000个 region proposal 对于该SVM所面向类别的置信度)
然后采取贪心非最大值抑制办法(greedy non-maximum suppression ):经过上述特定类别的SVM判分后,对于那些发生相互重叠的 region proposal ,如果它们的IoU大于一定的阈值,则去掉SVM判分较低的 region proposal,仅保留分数最高的 那个 region proposal。

3.边框回归

借助边框回归技术这一简单的技术可以提升目标定位的准确度
基于上述贪心非最大值抑制方法过滤筛选后得到的 region proposals ,可以使用一个面向特定类别的边框回归器来产生一个新的边框,该新边框将会更加接近于真实标注的边框(ground-truth bounding box)。

设 region proposal 的中心坐标为 (Px,Py)(P_x, P_y)(Px,Py), 其高与宽为(Pw,Ph)(P_w, P_h)(Pw,Ph)。同样地,真实标注的边框也可以表示为(Gx,Gy,Gw,Gh)(G_x, G_y,G_w, G_h)(Gx,Gy,Gw,Gh)
对于特定的类别,假设存在NNN个 目标,则这 NNN个 目标就对应有NNN个真实标注边框 ,也对应有NNN个待回归的 region proposal 边框,即有训练样本对{(Pi,Gi)}i=1,...,N\left\{(P^i, G^i)\right\}_{i=1,...,N}{(Pi,Gi)}i=1,...,N,其中Pi=(Px,Py,Pw,Ph)P^i=(P_x, P_y,P_w, P_h)Pi=(Px,Py,Pw,Ph) 我们的目标是学习出一种简单的线性变换来将 region proposal 的 PPP映射至真实的边框GGG
假设经回归器计算得到的预测值为G^\hat{G}G^,则有变换关系:
{Gx^=Px+Δx=Px+Pwdx(P)Gy^=Py+Δy=Py+Phdy(P)Gw^=ΔwPw=Pwexp(dw(P))Gh^=ΔhPh=Phexp(dh(P)) \left\{ \begin{array}{c} \hat{G_x}=P_x + \Delta{x} = P_x + P_w d_x(P) \\ \hat{G_y}=P_y + \Delta{y} = P_y + P_h d_y(P) \\ \hat{G_w}=\Delta{w} P_w = P_w exp(d_w(P)) \\ \hat{G_h}=\Delta{h} P_h = P_h exp(d_h(P)) \end{array} \right. Gx^=Px+Δx=Px+Pwdx(P)Gy^=Py+Δy=Py+Phdy(P)Gw^=ΔwPw=Pwexp(dw(P))Gh^=ΔhPh=Phexp(dh(P))
这里的d∗(P)d_*(P)d(P)是 region proposal PPP 经CNN前向计算并从Pool5层输出的特征图 ϕ5(P)\phi_5(P)ϕ5(P) 的线性函数,即d∗(P)=ω∗Tϕ5(P)d_*(P)=\omega_*^T \phi_5(P)d(P)=ωTϕ5(P),其中ω∗\omega_*ω为待训练的模型参数.{(Pi,Gi)}i=1,...,N\left\{(P^i, G^i)\right\}_{i=1,...,N}{(Pi,Gi)}i=1,...,N
G∗^=G∗\hat{G_*}=G_*G^=G,结合上述变换关系,则有:
{dx(P)=(Gx−Px)/Pw=ωxTϕ5(P)dy(P)=(Gy−Py)/Ph=ωyTϕ5(P)dw(P)=log⁡(Gw/Pw)=ωwTϕ5(P)dh(P)=log⁡(Gh/Ph)=ωhTϕ5(P) \left\{ \begin{array}{c} d_x(P) = (G_x-P_x)/P_w = \omega_x^T \phi_5(P)\\ d_y(P) = (G_y-P_y)/P_h = \omega_y^T \phi_5(P)\\ d_w(P) = \log{(G_w/P_w)} = \omega_w^T \phi_5(P)\\ d_h(P) = \log{(G_h/P_h)} = \omega_h^T \phi_5(P) \end{array} \right. dx(P)=(GxPx)/Pw=ωxTϕ5(P)dy(P)=(GyPy)/Ph=ωyTϕ5(P)dw(P)=log(Gw/Pw)=ωwTϕ5(P)dh(P)=log(Gh/Ph)=ωhTϕ5(P)
进而有:
{ωxT=(Gx−Px)/Pw[ϕ5(P)]−1ωyT=(Gy−Py)/Ph[ϕ5(P)]−1ωwT=log⁡(Gw/Pw)[ϕ5(P)]−1ωhT=log⁡(Gh/Ph)[ϕ5(P)]−1 \left\{ \begin{array}{c} \omega_x^T = (G_x-P_x)/P_w [\phi_5(P)]^{-1}\\ \omega_y^T = (G_y-P_y)/P_h [\phi_5(P)]^{-1}\\ \omega_w^T = \log{(G_w/P_w)} [\phi_5(P)]^{-1}\\ \omega_h^T = \log{(G_h/P_h)} [\phi_5(P)]^{-1} \end{array} \right. ωxT=(GxPx)/Pw[ϕ5(P)]1ωyT=(GyPy)/Ph[ϕ5(P)]1ωwT=log(Gw/Pw)[ϕ5(P)]1ωhT=log(Gh/Ph)[ϕ5(P)]1
这便是(P,G)(P,G)(P,G)样本对的回归目标,也是ω∗\omega_*ω的优化方向。
故有,模型的L2L_2L2正则化损失函数可以定义为如下,其中t∗it_*^iti表示上述的ω∗\omega_*ω的优化目标:
loss=∑iN(t∗i−ω∗^Tϕ5Pi)2+λ∥ω∗^∥2 loss = \sum_i^N(t_*^i - \hat{\omega_*}^T\phi_5{P^i} )^2 + \lambda\left \| \hat{\omega_*}\right \|^2 loss=iN(tiω^Tϕ5Pi)2+λω^2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值