深度学习 + 论文详解: Faster R-CNN 原理与优势

论文链接

代码链接


Brief 概述

随着深度学习在各个领域的任务有了卓越的表现,此一方法终于蔓延到了目标定位的主题上,Faster R-CNN 是一个 Region Base Convolution Neural Network 家族里面的一位现代化成员,跟其他成员相比有着良好的定位效率和准确率。要全面了解 Faster R-CNN 的话,需要从此一家族发迹的故事说起,传统的目标定位方法使用的是 Sliding window 的方式,穷举一张图片的所有地方,分别对这些地方做探测,如果探测到我们感兴趣的区域就记录下来,反之则无视该区域,直到所有图片的区域被探测完毕为止,这也是最一开始 R-CNN 所采用的方法,拿训练好的模型定位一张图片需要 47s,每检测一张图片就需要上一次厕所的时间,因此此一方法是无法融入社会的,而我们又称这种直接针对同一张图片中的不同区域做独立扫描,并记录是否感兴趣的过程叫做 Multi-stage Object Detection。

后来研究人员发现卷积计算的过程虽然是把图像抽象化,但是抽象出来的特征图却还是保有原本图像目标的位置信息,因此下一位成员 Fast R-CNN 应运而生,把原本 Multi-stage 方法中重复做好多次的步骤浓缩成了一次,并以此特征化的 feature map 加上 “Selective Search” 的位置预测方法作为定位的新手段,结合 Spatial Pyramid Pooling 的最大池化方法,把 Selective Search 推荐出来不固定尺寸的图像统一对接到了同样维度的全链接层中计算,经过一开始共享的卷积计算加持后,训练和测试的效率有了大幅的提升,准确率也因为 SS 的位置预测方法和 SPP 池化的搭配,外加采用了 Multi-loss 的损失函数使得训练过程采用回归递进而有了显著的进步,而这样一套可以从最开始输入图像数据,直到最后面产生结果中间不间断的过程又称为 Single-stage Object Detection。

这一次 Faster R-CNN 的方法中主体框架主要都是继承了 Fast R-CNN,唯一也是最重要的改动就是其位置预测机制,原本的 Selective Search 在推荐的过程中有太多的计算冗余,因此 RPN (Region Proposal Network)横空出世,成为了 R-CNN 家族中的主流目标定位方法,由于添加 RPN 的缘故,原本 Single-stage 的流程多了一条分支,因此 Faster R-CNN 成为了名为 Two-stage Object Detection 的框架。

 

Model Framework 模型框架

在探入论文细节前,先来了解一下大致的代码模块分类架构与彼此之间的指向关系,如下图:

里面列举了文件夹种类,文件夹下的 python 代码文件,与每个文件中定义了哪些函数,最后这些函数被 import 到的方向分别是哪里,其中 bbox_overlap 与 nms(non-max suppression)使用 C++ 代码目的是为了能够在 GPU 中做加速。

 

 

 

 

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值