一个门外汉的理解 ~ Faster R-CNN

时间:2023-03-09 07:39:38
一个门外汉的理解 ~ Faster R-CNN

首先放R-CNN的原理图

一个门外汉的理解 ~ Faster R-CNN

显然R-CNN的整过过程大致上划分为四步:

  1.输入图片

  2.生成候选窗口

  3.对局部窗口进行特征提取(CNN)

  4.分类(Classify regions)

而R-CNN的缺陷就在于对每个候选窗口都要进行特征提取,造成了计算时间成本很大。

再放Fast R-CNN的原理图

一个门外汉的理解 ~ Faster R-CNN

Fast R-CNN的提高速度的关键就在于将proposal的region映射到CNN的最后一层conv layer的feature map上,意味着一张图片只需要进行一次特征提取。

而既然R-CNN系列已经发展到了Faster,所以我选择直接用Faster R-CNN,而且Faster可以直接做到实时检测目标(速度能达到在视频中实时检测目标)。

且Faster R-CNN的最大改变就是不使用selective search,而是通过所谓的Region ProposalNetwork(RPN),即通过卷积神经网络直接产生region proposal

一个门外汉的理解 ~ Faster R-CNN

RPN的作用就是:

(1) 输出proposal的位置(坐标)和score

(2) 将不同scale和ratio的proposal映射为低维的feature vector 
(3) 输出是否是前景的classification和进行位置的regression