论文:Fast R-CNN 
论文链接

优势

本文提出了一种基于快速区域的卷积网络方法(Fast R-CNN)用于物体检测。Fast R-CNN建立在先前的工作基础上,使用深度卷积网络有效地对目标区域进行分类。与之前的工作相比,Fast R-CNN采用了多项创新来提高训练和测试速度,同时提高了检测精度。 快速R-CNN训练非常深的VGG16网络比R-CNN快9倍,在测试时间快213倍,并在PASCAL VOC 2012上实现更高的mAP。与SPPnet相比,Fast R-CNN训练VGG16 3倍速更快 ,测试速度快10倍,并且更准确。

1、不再类似于R-CNN对每个region proposal进行卷积运算,region proposal之间有重叠,造成计算资源量费,Fast R-CNN是对一整张图片进行卷积运算。

2、用ROI pooling进行特征的尺寸变换,使得不同大小region proposal可得到相同大小feature map。

3、将regressor放进网络一起训练,每个类别对应一个regressor,同时用softmax代替原来的SVM分类器。

算法概述

训练过程

输入图片224*224,经过卷机网络得到feature map,进入ROI Pooling层,该层输入为卷积网络得到的feature map以及通过selective search得到的region proposal,region proposal的个数差不多2000。如图1所示,通过ROI Pooling层得到ROI feature,经过两个全连接层,输出为4096,而后分别经过两个并列关系的全联接层,左侧FC用于分类,右侧FC用于回归坐标。左侧FC输出为21,VOC数据集为20类以及背景类;右侧FC输出为84,表示,每个region proposal的4个坐标。最后为两个loss层,左侧为softmax loss,右侧为SmoothL1Loss。

测试过程

与训练基本相同,最后两个loss层要改成一个softmax层,输入是分类的score,输出概率。最后对每个类别采用NMS(non-maximun suppression)。

Fast RCNN算法详解
图1 Fast R-CNN结构

 

算法详解

输入:图片和对应的Region Proposal

ROI Pooling层:将大小不同的region proposal提取固定大小feature map。原理:h*w的region proposal分割成H*W个大小相同的网格,将region proposal映射到最后一个卷积层输出的feature map上,每个网格取最大值,得到大小为H*W的feature map。

训练中,每个mini-batch包含2张图像和128个region proposal(ROI),即每张图片包含64个ROI。然后从这些ROI中挑选约25%的ROI作为目标proposal,这些ROI和ground truth的IOU值为[0.5,1],其余为背景proposal,这些ROI和ground truth的IOU值为[0.1,0.5),另外只采用随机水平翻转的方式增加数据集。 

测试的时候则每张图像大约2000个ROI。

损失函数:总loss由Fast RCNN算法详解Fast RCNN算法详解构成,如图2所示。

Fast RCNN算法详解
图2 总loss函数

 式中,p表示预测score,p=(Fast RCNN算法详解),u表示真是类别,Fast RCNN算法详解表示预测的回归偏移,Fast RCNN算法详解,v表示ground truth的值,Fast RCNN算法详解Fast RCNN算法详解

Fast RCNN算法详解

采用SVD改进全联接层:应用于ROI Pooling层之后的全联接层。权重矩阵W为u*v,U为u*t,V为v*t,SVD分解如下:

Fast RCNN算法详解

经过SVD,参数由u*v变为t*(u+v),只要t远小于min(u,v)即可简化全联接层计算。如图3所示。

Fast RCNN算法详解
图3 有无SVD情况下前向传播时间对比

实验结果

1、mAP得到提升。Fast RCNN算法详解

2、训练与测试时间缩短。

Fast RCNN算法详解

3、multi-task训练有帮助。

S,M,L各模块有四列,分别如下所述:

第一列表示仅采用分类训练,测试也没有回归;

第二列采用论文中的分类加回归训练,但是测试时候没有回归;

第三列采用分段训练,测试时候有回归;

第四列采用论文中的分类加回归训练,且测试时候有回归。

Fast RCNN算法详解

由上表可知,每一列mAP都比第一列高。

4、单尺度与多尺度对比。

单尺度尺寸为600 pixels,多尺度为(480,576,688,864,1200)

Fast RCNN算法详解

由上表可知,多尺度虽然能在提升一点mAP,但是时间代价比较大。作者直接给出原因:深度卷积网络可以学习尺度不变性。这个待研究。

5、softmax VS SVM

Fast RCNN算法详解

由上表可知,softmax略微优于SVM,但相比于以前的多阶段训练方法,“一次性”微调就足够了。

6、更多proposal是否效果会更好?

Fast RCNN算法详解由上图可知,随着proposal增加,mAP先升高后降低,过多的proposal会对模型产生轻微影响。

总结

Fast RCNN优点:将RCNN众多步骤整合在一起,不仅大大提高了检测速度,也提高了检测准确率。其中,对整张图像卷积而不是对每个region proposal卷积,ROI Pooling,分类和回归都放在网络一起训练的multi-task loss是算法的三个核心。另外还有SVD分解等是加速的小贡献,数据集的增加时mAP提高的小贡献。 
Fast RCNN的主要缺点在于region proposal的提取使用selective search,目标检测时间大多消耗在这上面(提region proposal 2~3s,而提特征分类只需0.32s),这也是后续Faster RCNN的改进方向之一。


参考:https://blog.csdn.net/u014380165/article/details/72851319

相关文章:

  • 2021-09-08
  • 2021-07-04
  • 2021-05-19
  • 2022-12-23
  • 2021-12-24
  • 2021-10-29
  • 2021-05-10
猜你喜欢
  • 2021-09-25
  • 2021-04-30
  • 2021-12-24
  • 2021-08-07
相关资源
相似解决方案