从RCNN到Fast-RCNN再到Faster-RCNN

简述RCNN系列:

RCNN通过SS算法挑选候选框,然后将这些候选框统一尺寸放入预训练的CNN中,最后通过全连接层提取固定维度的特征向量,将特征向量送入多个SVM分类器,用SVM进行分类(之所以不用softmax是因为微调时需要大量的负样本,如果使用softmax Map会变低,而SVM使用hard negative mining挑选负样本,更具代表性,可以通过负样本更好的修正位置),对分类结果中的每一类使用非极大值抑制的算法,去除重叠建议框,最后通过bounding box回归。

Fast RCNN 任意尺寸输入放进CNN网络中进行特征提取,在特征图上用SS搜索获取候选框(特征图映射原图),选取候选框后,将这些特征图输入ROI池化层(简单的SSP-Net,意思就是把特征图划分为规定的块数,每一个块输出一个值,最后输出固定大小的特征图)
然后输入进全连接层(SVD分解,提取的候选框数量有2k,每个候选框都要进入全连接层进行计算),输入进softmax(不用SVM是因为现在获得的特征向量不需要暂存磁盘)并进行bounding box 回归,通过NMS得到最终的回归框。回归函数smooth L1损失函数,对离群、异常点更鲁棒。

Faster RCNN 基本思想是Fast RCNN+RPN
任意尺寸输入共享卷积层进行特征提取,将此时的特征图分别输入RPG网络和之后的卷积层;输入RPN确定候选区域,而输入之后卷积层的特征图用于产生更高维度的特征图,将RPN网络的输出和高维度特征图相结合输入ROI池化层,处理后输入全连接层,使用softmax分类,bounding box回归。
RPN网络:RPN网络对于共享卷积层输出的特征图,首先在每个单元产生9个anchor,每个单元可以映射回原图像,对比ground truth,最后做分类损失和回归损失
(实际上是用3*3的滑动窗口,padding =2 stride=1,然后经过一个卷积层将每个窗口的9个anchor都编码成256维的向量,然后再经过一个卷积层输出2x9个分类得分(前景或背景),4x9个回归得分(平移缩放系数),对得分区域做NMS,获得前N(300)的得分窗口作为候选区域。
RPN的优势:多维度更低、尺度多长宽比


RCNN

http://blog.csdn.net/wopawn/article/details/52133338
https://www.cnblogs.com/gongxijun/p/7071509.html


SSP-Net

http://blog.csdn.net/u011534057/article/details/51219959


Fast RCNN

http://blog.csdn.net/wopawn/article/details/52463853


Faster RCNN

http://blog.csdn.net/shenxiaolu1984/article/details/51152614

RPN的理解

损失函数

为了训练RPN,我们给每个anchor分配一个二进制的标签(是不是目标)。我们分配正标签给两类anchor:(i)与某个ground truth(GT)包围盒有最高的IoU(Intersection-over-Union,交集并集之比)重叠的anchor(也许不到0.7)(ii)与任意GT包围盒有大于0.7的IoU交叠的anchor。注意到一个GT包围盒可能分配正标签给多个anchor。我们分配负标签给与所有GT包围盒的IoU比率都低于0.3的anchor。非正非负的anchor对训练目标没有任何作用。
有了这些定义,我们遵循Fast R-CNN[5]中的多任务损失,最小化目标函数。我们对一个图像的损失函数定义为
这里写图片描述

这里,i是一个mini-batch中anchor的索引,Pi是anchor i是目标的预测概率。如果anchor为正,GT标签Pi* 就是1,如果anchor为负,Pi* 就是0。ti是一个向量,表示预测的包围盒的4个参数化坐标,ti* 是与正anchor对应的GT包围盒的坐标向量。分类损失Lcls是两个类别(目标vs.非目标)的对数损失这里写图片描述。对于回归损失,我们用这里写图片描述 来计算,其中R是[5]中定义的鲁棒的损失函数(smooth L1)。
这里写图片描述

Pi* Lreg这一项意味着只有正anchor(Pi* =1)才有回归损失,其他情况就没有(Pi* =0)。cls层和reg层的输出分别由{pi}和{ti}组成,这两项分别由Ncls和Nreg以及一个平衡权重λ归一化(早期实现及公开的代码中,λ=10,cls项的归一化值为mini-batch的大小,即Ncls=256,reg项的归一化值为anchor位置的数量,即Nreg~2,400,这样cls和reg项差不多是等权重的。
对于回归,我们学习[6]采用4个坐标:

这里写图片描述
x,y,w,h指的是包围盒中心的(x, y)坐标、宽、高。变量x,xa,x*分别指预测的包围盒、anchor的包围盒、GT的包围盒(对y,w,h也是一样)的x坐标。可以理解为从anchor包围盒到附近的GT包围盒的包围盒回归。

猜你喜欢

转载自blog.csdn.net/qq_23225317/article/details/79570466
今日推荐