【深度学习】R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN总结

1. R-CNN

论文题目:《Rich feature hierarchies for accurate oject detection and semantic segmentation》
推荐博文:【深度学习】R-CNN 论文解读及个人理解

架构

在这里插入图片描述
在这里插入图片描述

步骤

  1. Selective Search(SS)算法:提取大约2000个候选区域RP(Region Proposal);
  2. warped region:相当于resize到固定尺寸,送入CNN;
  3. 卷积神经网络CNN:对每一个RP使用CNN(论文中使用AlexNet)提取抽象特征向量(固定长度的);
  4. Linear SVM:对每一个RP的特征向量进行分类Classification,每一个类别都对应一个SVM,然后采用NMS去除冗余;
  5. Linear Regression:分类后,用线性回归器对RP和GT的四点坐标进行线性回归,生成Bounding Box。

总结

R-CNN本质是用SS提取海量的RPwarped后,让每一个RP都前向通过CNN,提取特征向量,并以此训练/预测每一类的线性SVM分类器,再用线性回归器对BBOX进行回归预测。并且,论文中引入了在超大数据集上预训练pre-train、在自己规模较小的数据集上微调fine-tuning,即现在的迁移模型的概念。

2. Fast R-CNN

论文题目:《Fast R-CNN》
推荐博文:【目标检测】Fast RCNN算法详解

架构

在这里插入图片描述
在这里插入图片描述

多任务损失函数

在这里插入图片描述
在这里插入图片描述

步骤

  1. CNN:提取feature map,实现共享卷积,提高效率
  2. SS:在feature map上投影出ROI
  3. ROI Pooling:SPP空间金字塔池化的简化版,把不同尺度的ROI 池化为相同尺度
  4. Softmax:ROI Pooling后拉成一维向量,全连接层FCs,得到ROI feature vector,用Softmax分类
  5. Bbox Regression:对BBox四点坐标进行线性回归预测

总结

相较于R-CNN,Fast R-CNN的特点:

  1. 把SS提取RP和CNN位置前后交换,实现了CNN的卷积参数共享,提高了效率
  2. 简化SPP,提出了ROI Pooling,实现了不同尺度ROI能够池化为fix-length
  3. Softmax替换了线性SVM,实现了除SS提供RP外,从CNN到分类、回归的端到端训练

3. Faster R-CNN

论文题目:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》
推荐博文:【目标检测】Faster RCNN算法详解

架构

在这里插入图片描述

损失函数

在这里插入图片描述

步骤

  1. CNN:得到feature map
  2. RPN:输入-conv feature map,输出-ROI
  3. ROI Pooling:得到fix-length特征向量,在送入fc
  4. softmax分类和regressor回归Bbox

轮流训练

  1. 先训练RPN
  2. 再训练Fast R-CNN
  3. 再训练RPN
  4. 再训练Fast R-CNN。。。
  5. 完成上述2次迭代

总结

Faster R-CNN = Fast R-CNN + RPN
RPN网络中引入了Anchor锚点的概念:
每个像素点,都有3种面积x3种尺度(1:1,1:2,2:1)共9个Anchor boxes,
对每个Anchor boxes进行二分类(前景(即ROI)和背景),
对每个Anchor boxes进行ROI box的粗略回归定位,(后面的regressor会对ROI进行refine)
在这里插入图片描述

4. Mask R-CNN

论文题目:《Mask R-CNN》
推荐博文:Mask R-CNN原理详细解读

架构

在这里插入图片描述
在这里插入图片描述

特点

  1. 采用了ResNet-FPN作为backbone网络,有利于多尺度检测
  2. ROI Pooling改良成了ROI Align:因为ROI Pooling有2次整数化的过程(生成ROI时坐标整数化,Pooling分块时坐标整数化),影响Bbox的回归精度。而ROI Align直接避开整数化的处理过程,采用双线性插值,计算坐标的浮点坐标值
  3. 加入了Mask分支:即在ROI Align后面加入FCN全卷积网络,实现segmentation(实质是对像素级别的分类)
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R-CNNRegion-based Convolutional Neural Networks)是一种目标检测算法,它通过两个阶段来检测图像中的目标物体。首先,R-CNN使用选择性搜索(Selective Search)算法生成一系列候选区域,然后对每个候选区域进行卷积神经网络(CNN)特征提取和分类。R-CNN的主要缺点是速度较慢,因为每个候选区域都需要独立地进行CNN特征提取和分类。 Fast R-CNN是对R-CNN的改进,它通过引入RoI池化层(Region of Interest pooling)来解决R-CNN中重复计算的问题。RoI池化层可以将不同大小的候选区域映射为固定大小的特征图,从而使得所有候选区域可以共享相同的特征提取过程。这样一来,Fast R-CNN相比于R-CNN具有更快的速度。 Faster R-CNN是对Fast R-CNN的进一步改进,它引入了一个称为Region Proposal Network(RPN)的子网络来生成候选区域。RPN通过滑动窗口在特征图上提取候选区域,并为每个候选区域分配一个得分,然后根据得分进行筛选和排序。这种端到端的训练方式使得Faster R-CNN在目标检测任务上具有更高的准确性和更快的速度。 Mask R-CNN是在Faster R-CNN的基础上进一步发展的,它不仅可以进行目标检测,还可以进行实例分割。Mask R-CNNFaster R-CNN的基础上增加了一个分支网络,用于预测每个候选区域中目标物体的像素级掩码。这使得Mask R-CNN能够同时获得目标的位置信息和像素级别的语义信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值