目标检测算法R-CNN/Fast R-CNN/Faster R-CNN之间有什么联系和区别?
0 1671
0
该提问暂无详细描述
收藏
2021-01-26 10:22 更新 阿托 •  17069
共 1 个回答
高赞 时间
0

R-CNN是下面所有提到的算法的根算法,它为研究人员提供了在其之上构建更复杂,更好的算法的途径。下面解释R-CNN及它的变体。

R-CNN(基于区域的卷积神经网络)

R-CNN包含3个简单步骤:

  • 使用选择性搜索(Selective Search)算法在输入图像中扫描可能的对象,生成约2000个候选区域(region proposals)

  • 在每个候选区域之上运行卷积神经网络- (CNN)

  • 取每个CNN的输出,并将其输入到 a)支持向量机(SVM)对区域进行分类, b)线性回归器以收紧对象的边界框(如果存在这样的对象)。

R-CNN的图形描述

Fast R-CNN(基于区域快速识别的CNN)

Fast R-CNN紧随R-CNN之后。通过以下几点,Fast R-CNN更快更好:

  • 在候选区域之前对图像进行特征提取,因此在整个图像上只运行一个CNN,而不是在2000个重叠区域中运行2000个CNN

  • 用softmax层替换SVM,扩展神经网络进行预测,而不是创建新模型。

Fast R-CNN的图形描述

直观地讲,删除2000个conv图层并进行一次卷积,以及在其上放置框是很有意义的。

Faster R-CNN(基于快速区域生成网络的CNN)

Fast R-CNN的缺点之一是选择性搜索算法比较慢,Faster R-CNN引入了候选区域网络(RPN)。

下面RPN的工作原理:

在初始CNN的最后一层,一个3x3滑动窗口在特征图上移动并将其映射到较低的维度(例如256-d)。对于每个滑动窗口位置,它会根据k个固定比例的锚点生成多个可能的区域框(默认边界框).

每个候选区域包括:

  • 该区域的“客观”得分,

  • 4个代表区域边界框的坐标。换句话说,我们查看最后一个特征图中的每个位置,并考虑以k为中心的k个不同的框:高框,宽框,大框等。

对于每个框,要看输出是否包含对象以及该框的坐标是什么。下面一个滑动窗口位置的外观:

Faster R-CNN:运行——区域生成网络作为注意力机制

2k scores表示k个边界框中的每一个在“对象”上的softmax概率。请注意,尽管RPN输出边界框的坐标,但它不会尝试对任何潜在对象进行分类:它的唯一工作仍然是选取对象区域。如果锚点框的“客观性”得分高于某个阈值,则该框的坐标将作为候选区域而向前传递。

一旦有了候选区域,就将它们直接馈入实质上的Fast R-CNN。我们添加了一个池化层,一些全连接层,最后是一个softmax分类层和边界框回归器。从某种意义上说,Faster R-CNN = RPN + Fast R-CNN.

Faster R-CNN图形描述

转载https://stackoverflow.com/a/47202279

收藏
2021-01-26 10:46 更新 正直的烤面包 •  4004