二步走
R-CNN系列算法精讲:R-CNN —》Fast R-CNN —》Faster R-CNN 进阶之路_r-cnn的发展-CSDN博客
含义:“二步走”在R-CNN中指的是先生成候选区域,再对每个区域进行特征提取和分类的两个独立步骤。
1.R-CNN
开山之作RCNN原理详解 (三十)通俗易懂理解——R-CNN - 知乎
R-CNN目标检测实现的大致原理:
第一步:
通过selective search 方法生成大量候选区域(框选了目标的区域),这些区域存在大量重叠,候选区域作为下一步网络的输入
第二步:
- 将候选区域输入卷积神经网络进行特征提取,每个候选框都能获得对应的特征向量;
- 将全部候选框组合成的矩阵使用svm分类器,获得概率权重矩阵;
- 对概率权重矩阵做非极大值抑制(nms),获得减少后的候选区域数量;
- 对剩余候选区域做回归操作,得到最后的结果区域即目标。
2.Fast-R-CNN:
改进点:只将原始的图像输入到卷积神经网络中,使得特征提取更快速
Fast-R-CNN目标检测实现的大致原理:
第一步:通过selective search 方法对图像生成大量候选区域,并记录候选区域坐标
第二步:
- 将原始图像输入卷积神经网络进行特征提取,获取原始图像的特征图P1
- 通过候选区域坐标在原始图像特征图的映射,获取候选区域特征图P2[ ]
- 将每个候选区域特征图通过ROI-polling层,获得固定大小的候选区域特征图P3[ ]
- 将固定大小的特征图展平并输入到全连接层进行特征提取,获得特征向量
- 全连接层的输出分别输入到两个不同的层:分类层;边界框回归层
ROI-Pooling:如果在链接文章中没看懂该操作可以看这张图
3.Faster-R-CNN:
Faster R-CNN原理详解目标检测系列 (三十五)通俗易懂理解——Faster R-CNN及Mask R-CNN - 知乎
改进点:不在使用selective search 方法获取候选区域,改为使用神经网络获取RPN(Region Proposal Network)获取候选网络
Faster-R-CNN目标检测实现大致原理:
- 将原始图像输入卷积神经网络进行特征提取,获取原始图像的特征图P1
- 将P1输入RPN网络,获得候选区域
- 通过候选区域坐标在原始图像特征图的映射,获取候选区域特征图P2[ ]
- 将每个候选区域特征图通过ROI-polling层,获得固定大小的候选区域特征图P3[ ]
- 将固定大小的特征图展平并输入到全连接层进行特征提取,获得特征向量
- 全连接层的输出分别输入到两个不同的层:分类层;边界框回归层
4.Mask-R-CNN:
深度学习实例分割篇——Mask RCNN原理详解篇_maskrcnn实例分割-CSDN博客 图解 RoIAlign CSDN博客 深度学习语义分割篇——FCN原理详解篇
改进点:使用了ROI-Align(升级版ROI-pooling)来获取候选区域特征图;添加了mask(以FCN网络为基)分支
Mask-R-CNN目标检测实现大致原理:
- 将原始图像输入卷积神经网络进行特征提取,获取原始图像的特征图P1
- 将P1输入RPN网络,获得候选区域
- 通过候选区域坐标在原始图像特征图的映射,获取候选区域特征图P2[ ]
- 将每个候选区域特征图通过ROI-polling层,获得固定大小的候选区域特征图P3[ ]
- P3进入分支1: 将固定大小的特征图展平并输入到全连接层进行特征提取,获得特征向量
- 全连接层的输出分别输入到两个不同的层:分类层;边界框回归层
- P3进入分支2: 将固定大小的特征图下采样再上采样,得到语义分割图