文章目录
Region Proposal + CNN(R-CNN)
关于定位问题主流有两个思路
- 直接回归边框值
- 使用图像框回归
这个方法延续了使用图像框回归的思路
Region Proposal
该思路是先利用图像的浅层信息(纹理、边缘、颜色等)预先找到图中可能出现的位置,这样可以在较少的候选框中保持较高的召回率(Recall),即候选框是真正有用的。
本文只讲述实际论文中使用的方法,其他方法对比可以查看PAMI2015的“What makes for effective detection proposals?”,在另外的一篇再详细讲解候选框生产方法总结
步骤
- 在图片上使用Selective Search提取2000个左右的Region Proposal;
- 统一缩放(warp)为 [ 227 × 227 ] [227 \times 227] [227×227]
- 每个候选框都接一个CNN网络,CNN的末端输出作为特征
- CNN提取的feature输入到SVM进行分类
- 做Box regression

改进及缺陷
改进
- 摆脱了穷举方法
缺陷
- 每个框都需要进行CNN提特征+SVM分类,计算量很大,导致R-CNN检测速度很慢,一张图都需要47s
Spatial Pyramid Pooling(SPPNet)
RCNN的致命缺陷在于对一张图像做了过多的卷积特征抽取,那么我们完全做如下操作
- 对图像提一次卷积层特征,
- 将region proposal在原图的位置映射到卷积层特征图上,
- 然后将每个region proposal的卷积层特征输入到全连接层做后续操作。
这样的问题在于全连接层需要固定的输入,但是上述并没有warp或者剪切截取操作,训练由于最终特征的维度不一致导致无法训练,由此引出SPPNet
既然由于全连接FC层的存在,普通的CNN需要通过固定输入图片的大小来使得全连接层的输入固定。那借鉴卷积层可以适应任何尺寸,为何不能在卷积层的最后加入某种结构,使得后面全连接层得到的输入变成固定的呢?
解析
首先是使用了上述的单次卷积
- 原图进行一次卷积计算,得到整张图的卷积特征feature map;
- 然后找到每个候选框在feature map上的映射patch,
- 将此patch作为每个候选框的卷积特征输入到SPP layer
然后目标是统一feature尺寸,在SPP layer中每一个pooling的filter会根据输入调整大小,而SPP的输出则是固定维数的向量,然后给到全连接FC层。
Fast R-CNN
Fast RCNN在RCNN基础上,引入SPPNet

步骤
- 在图片上使用Selective Search提取2000个左右的Region Proposal;
- 接一个CNN网络,CNN的末端输出到ROI pooling;
- ROI pooling 统一尺寸为 [ 7 × 7 ] [7 \times 7] [7×7]
- softmax 做分类,+ box regression,region分类和并成为了一个multi-task模型,实际实验也证明,这两个任务能够共享卷积特征,并相互促进
解析
最后一个卷积层后加了一个ROI pooling layer
ROI pooling layer实际上是SPP-NET的一个精简版,SPP-NET对每个proposal使用了不同大小的金字塔映射,而ROI pooling layer只需要下采样到一个7x7的特征图。对于VGG16网络conv5_3有512个特征图,这样所有region proposal对应了一个77512维度的特征向量作为全连接层的输入
损失函数使用了多任务损失函数(multi-task loss),将边框回归Bounding Box Regression直接加入到CNN网络中训练
边框回归
什么是边框回归
贡献
看到了Region Proposal + CNN这一框架实时检测的希望
Faster R-CNN
Faster要解决的就是Fast存在的问题
Select search
解决: 加入一个提取边缘的神经网络,也就说找到候选框的工作也交给神经网络来做(RPN)
Region Proposal Network(RPN)
- Fast R-CNN中引入Region Proposal Network(RPN)替代Selective Search
- 引入anchor box应对目标形状的变化问题(anchor就是位置和大小固定的box,可以理解成事先设置好的固定的proposal)
- 将RPN放在最后一个卷积层的后面
- RPN直接训练得到候选区域
一种网络,四个损失函数;
•RPN calssification(anchor good.bad)
•RPN regression(anchor->propoasal)
•Fast R-CNN classification(over classes)
•Fast R-CNN regression(proposal ->box)
步骤
- 对整张图片输进CNN,得到feature map
- 卷积特征输入到RPN,得到候选框的特征信息
- 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
- 对于属于某一类别的候选框,用回归器进一步调整其位置
总结
R-CNN(Selective Search + CNN + SVM)
SPP-net(ROI Pooling)
Fast R-CNN(Selective Search + CNN + ROI)
Faster R-CNN(RPN + CNN + ROI)


1万+

被折叠的 条评论
为什么被折叠?



