文章目录
1.论文信息
| 题目 | Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks |
|---|---|
| 作者 | Shaoqing Ren & Kaiming He & Ross Girshick & Jian Sun |
| 年份 | 2015 |
| 期刊 | NIPS |
| 论文地址 | https://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf |
| 项目地址 | https://github.com/rbgirshick/py-faster-rcnn |
2. 论文创新点
- 设计了RPN网络,利用CNN卷积后的特征图生成候选区域,取代了SS和EB等方法,极大地提升了生成候选区域的速度;
- 训练RPN与Fast RCNN共享部分卷积层,极大地提升了检测速度;
3.欲解决的问题
- 在候选区域,特征提取,分类回归三大任务中,候选区域采用SS或EB等方法仍很耗时。
4.解决方案
4.1 概述
- 网络结构图如上所示。
- 首先,任意大小的图片输入CNN,经过共享的卷积层,一方面得到RPN的特征图,另一方面继续前向传播至特有的卷积层,产生高维特征图;
- 其次,特征图经过RPN网络得到区域建议和区域得分,对区域得分采用NMS,输出TOP-N得分的区域建议给Fast RCNN网络的ROI池化层;
- 最后,RPN的区域建议与Fast RCNN的区域建议同时输入ROI池化层,提取对应区域建议的特征,通过全连接层,输出该区域的分类得分以及回归后的bbox
4.2 RPN
- 单个RPN网络结构图如上所示。
- 首先,输入任意大小的图片,利用ZF或VGG16网络的部分卷积层产生原始图片的特征图;
- 其次,用nxn的滑动窗口在特征图上滑动扫描,每个滑窗位置通过卷积层映射到一个低维的特征向量(ZF:256;VGG:512),然后采用ReLU**函数,同时为每个滑窗位置考虑k(k=9)种可能的参考窗口(anchors),因此,每个滑窗位置最多可预测9个区域建议(超出边界的不考虑);
- 最后,低维特征向量输入两个并行的卷积层(reg窗口回归层,cls窗口分类层),分别产生bbox和分类得分,其中reg输出4k个参数(x,y,w,h),cls输出2k个参数(前景概率,背景概率)
4.3 Anchors
- anchors示意图如上所示
- anchors是一组大小固定的参考窗口,有三种尺度(128x128,256x256,512x512)和三种长宽比(1:1,1:2,2:1)
- 根据图像大小计算滑窗中心点对应原图区域的中心点,通过中心点和大小就可以得到滑窗位置和原图位置的映射关系,由此原图位置并根据与ground truth重复率贴上正负标签,让RPN学习该anchor是否有物体
- anchors方法具有平移不变性,即图像中平移了物体,窗口建议也会平移;同时这种方式减少了模型大小,输出层512x(4+2)x9个参数(512是前一层特征维度,4和2分别是bbox参数及前景背景概率,9是参考窗口个数),较小的参数在较小的数据集上能降低过拟合的风险
4.4 RPN训练
- RPN训练时对正样本有两种定义:一是与ground truth box有最大的IOU的anchors作为正样本;二是与ground truth box的IOU大于0.7的作为正样本
- RPN训练定义的负样本为与ground truth box的IOU小于0.3的样本;其余的不参与训练
- RPN训练的loss函数如下式所示。
其中,i表示mini-batch中第i个anchor,表示第i个anchor是前景的概率,当第i个anchor是前景时为1反之为0,表示bbox坐标,表示ground truth box的坐标。 - 坐标的4个参数如下式所示。
其中,分别来自于预测框,anchor框以及ground truth框
4.5 RPN与Fast RCNN的权值共享
- RPN与Fast RCNN的权值共享是为了降低计算量,提升检测速度
- 首先,进行RPN的预训练及以区域建议为目的的RPN网络end-to-end微调训练;
- 其次,进行Fast RCNN预训练,用RPN的区域建议进行以检测为目的的Fast RCNN网络end-to-end微调训练;
- 再次,利用微调后的Fast RCNN网络重新初始化RPN网络,固定共享卷积层(学习率设置为0),只微调RPN独有的层(共享卷积层);
- 最后,固定共享卷积层,利用以上得到的区域建议,只微调Fast RCNN独有的层
5.几点思考
5.1 Anchors为什么考虑三种尺度和三种长宽比
- 如上图所示,相比于单一尺度和长宽比,采用单尺度多长宽比和多尺度单长宽比都能提升mAP,所以选取了最高mAP的3种尺度和3种长宽比。
5.2 RPN相比于SS与EB方法有何优势
- 传统方法是训练一个能检测物体的网络,然后对整张图片进行滑窗判断,由于无法判断区域建议的尺度和长宽比,所以需要多次缩放,这样找出一张图片有物体的区域就会很慢;RPN网络的滑窗是在特征图上进行,维度降低了很多倍。
6.论文结果
- 帧率5fps;
- mAP在VOC2007和VOC2012上分别为73.2%和70.4%
7.待解决的问题
- 帧率只有5fps,还没有达到实时。