admin管理员组文章数量:1579419
论文 : Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. PAMI2017.
GitHub :
1. matlab version : https://github/ShaoqingRen/faster_rcnn
2. python version : https://github/rbgirshick/py-faster-rcnn
3. 补充程序Detectron : https://github/facebookresearch/Detectron (Detectron is Facebook AI Research's software system that implements state-of-the-art object detection algorithms, including Mask R-CNN. It is written in Python and powered by the Caffe2 deep learning framework.)
1. 前言
在Faster R-CNN出现之前,已经存在了R-CNN(无法实现End-to-End训练)和Fast R-CNN(Selective Search耗时),Shaoqing Ren在2016年NIP上提出了Faster R-CNN. 从上面的结构上,我们能够看出来,Faster R-CNN将特征提取、proposal提取、Bounding Box Regression、Classification整合到一个网络中,目标检测速度有了很大的提升。与R-CNN、Fast R-CNN相比,Faster R-CNN具体执行步骤如下:
- 特征提取(convolutional layer)。Faster R-CNN首先使用一组基础的conv+relu+pooling层提取候选图像的特征图。该特征图被共享用于后续RPN(Region Proposal Network)层和全连接(fully connection)层。
- 区域候选网络(Region Proposal Network)。RPN网络用于生成区域候选图像块。该层通过softmax判断锚点(anchors)属于前景(foreground)或者背景(background),再利用边界框回归(bounding box regression)修正anchors获得精确的proposals。
- 目标区池化(Roi Pooling)。该层收集输入的特征图和候选的目标区域,综合这些信息后提取目标区域的特征图,送入后续全连接层判定目标类别。
- 目标分类(Classification)。利用目标区域特征图计算目标区域的类别,同时再次边界框回归获得检测框最终的精确位置。
由此,我们也能看出,Faster R-CNN最大的亮点在于提出了一种有效定位目标区域的方法,然后按区域在特征图上进行特征索引,大大降低了卷积计算的时间消耗,所以速度上有了非常大的提升。
以如上GitHub中Python的项目为例,可以更加直接分析Faster R-CNN的设计思想。
- 对于任意PxQ的图像,首先裁剪到固定大小MxN。然后,利用VGG16全卷积模型计算该图像对应的特征图。
- 特征图的一个分支输入RPN网络用于计算Region Proposal。RPN网络首先经过3x3卷积,再分别生成前景锚点(foreground anchors)与边界框回归(bounding box regression)偏移量ÿ
版权声明:本文标题:Faster R-CNN理解、讨论 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727845463a1133036.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论