返回主目录

返回 目标检测史 目录

上一章:深度篇——目标检测史(一) 关于 古典 目标检测

下一章:深度篇——目标检测史(三)  细说 SPP-Net 目标检测

论文地址:《Rich feature hierarchies for accurate object detection and semantic segmentation》

本小节,细说 R-CNN 目标检测,下一小节细说 SPP-Net 目标检测

二. R-CNN 目标检测 (2013年)

1. R-CNN (Region-based Convolutional Neural Networks, R-CNN) 基于区域的卷积神经网络,是一种结合区域提名(Region Proposal) 和 卷积神经网络 (CNN) 的目标检测方法。R-CNN 是 Ross Girshick 在 2013 年发布的。Ross Girshick 作为这个领域的开山鼻祖,总是神一样的存在,R-CNN,Fast R-CNN,Faster R-CNN,YOLO 都和他有关。其实在 R-CNN 之前已经有很多研究者在尝试用 Deep learning 的方法来做目标检测,包括 OverFeast,但 R-CNN 是第一个真正可以工业级应用的解决方案。

2. 深度学习相关的目标检测方法看大致分为两派:

(1). 基于区域提名

如 R-CNN,SPP-Net,Fast R-CNN,Faster R-CNN,R-FCN

(2). 端到端 (end-to-end)

无需区域提名,如 SSD,YOLO,CornerNet 等

3.  R-CNN 的主要步骤

(1). Region proposal 区域提名

通过 selective search 从原始图像中提取 2k 个左右 bounding boxes 区域候选框

(2). 区域大小归一化

把所有 bounding boxes 候选框 缩放成固定大小的 图像 (原文采用 227 x 227)。

(3). 特征提取

通过 CNN 网络,提取特征

(4). 分类与回归

在特征层的基础上添加两个全连接层,再用 SVM 分类来做识别,用线性回归来微调边框位置与大小,其中每个类别单独训练一个边框分类器。

4. R-CNN 流程图

另一种角度观察如下:

上图中的 Warped image regions,是区域大小归一化,会将 bounding boxe 框内的信息,通过 crop 或 warp,全都处理为相同尺寸。这就导致了一些图像会被拉伸变形,导致图像失真。

还有,就是单独对每个 大小归一化后的图像 进行卷积操作,由于 bounding boxes 大概 2k 左右个,而且,有很可能都有重合的,这就导致在提取特征的过程中,会有许多重复操作,并且非常消耗时间资源和空间资源。

再有,SVM 适合处理有限的数据,如果数据海量,则很容易超出 SVM 的能力范围。计算量过大,模型过大,效率过低。

5. R-CNN 与 古典目标检测 的区别,只是使用 CNN 卷积提取特征,替代了 HOG 特征 + bag-of-words 特征 等提取的过程。就这些改动,使得 R-CNN 在 ILSVRC2013 检测数据中,获得了 31.4% mAP 这样的好成绩。相对于以前那些最好的结果 24.3% mAP 有了巨大的提升。并且,也第一次引起人们的注意,CNN 提取图像特征,具有非凡的能力。从此,图像处理,基本使用 CNN 来提取特征。

尽管 R-CNN 对于后来者来说,有这样那样的不足。但是,在当时,却是一个很好的检测器,效果也是蛮好的

6. R-CNN 的缺点

(1). 重复计算

R-CNN 虽然不再是穷举,但依然有 2k 个左右的 bounding boxes,这些 bounding boxes 都需要进行 CNN 操作,计算量依然很大,其中有不少其实是重复计算

(2). SVM 模型

还有线性模型,在标注数据不缺的时候,显然不是最好的选择。

(3). 训练测试分为多步

region proposal,特征提取、分类、回归都是断开的训练过程,中间数据还需要单独保存。训练分为多个阶段,不在繁琐。微调网络 + 训练 SVM + 训练边框回归器

(4). 训练的空间和时间代价很高

卷积处理的特征要先存在硬盘上,这些特征需要 几百 G 的存储空间。保存和读取的过程,都需要消耗时间和资源。

(5). 慢

前面的缺点最终导致 R-CNN 出奇的慢,GPU 上处理一张图像需要 13s,CPU 上则需要 53s。

(6). 区域大小归一化,会对目标进行 crop 或 warp 非等比例缩放,导致 大小归一化 得到的目标变形 或 缺失部分信息,和真实目标产生一定的差距,这会在后面训练和测试的时候,导致其准确率下降。

返回主目录

返回 目标检测史 目录

上一章:深度篇——目标检测史(一) 关于 古典 目标检测

下一章:深度篇——目标检测史(三)  细说 SPP-Net 目标检测

深度篇——目标检测史(二) 细说 R-CNN 目标检测相关推荐

  1. 深度篇——目标检测史(八) 细说 CornerNet-Lite 目标检测

    返回主目录 返回 目标检测史 目录 上一章:深度篇--目标检测史(七) 细说 YOLO-V3目标检测 之 代码详解 论文地址:https://arxiv.org/pdf/1904.08900.pdf ...

  2. 深度篇——目标检测史(七) 细说 YOLO-V3目标检测 之 代码详解

    返回主目录 返回 目标检测史 目录 上一章:深度篇--目标检测史(六) 细说 YOLO-V3目标检测 下一章:深度篇--目标检测史(八) 细说 CornerNet-Lite 目标检测 论文地址:< ...

  3. 激光雷达物体检测(二):点视图检测算法

    综述: 1.点视图: PointNet/PointNet++,Point-RCNN,3D SSD 2.俯视图: VoxelNet,SECOND,PIXOR,AFDet 3.前视图: LaserNet, ...

  4. Faster R CNN

    Faster R CNN 3 FASTER R-CNN 我们的Faster R CNN 由两个模块组成,第一个模块是 proposes regions 的全卷积网络,第二个是使用 proposed r ...

  5. realsense D455深度相机+YOLO V5结合实现目标检测(二)

    realsense D455深度相机+YOLO V5结合实现目标检测(二) 1.代码来源 2.环境配置 3.代码分析: 3.1 主要展示在将detect.py转换为realsensedetect.py ...

  6. 使用pytorch从零开始实现YOLO-V3目标检测算法 (二)

    原文:https://blog.csdn.net/u011520516/article/details/80212960 博客翻译 这是从零开始实现YOLO v3检测器的教程的第2部分.在上一节中,我 ...

  7. c++实验总结_史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...

    本文总结了2012年以来在场景文本检测领域的70篇代表性论文.21个常用数据集.15份开源代码,包含176个实验结果以及超过1300条统计信息.Github资源链接见文末. 一.前言 许多自然场景中包 ...

  8. 史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...

    点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:刘崇宇 转载自:CSIG文档图像分析与识别专委会 本 ...

  9. 目标检测:二维码检测方案

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

最新文章

  1. Android -- TextView与EditText 同步显示
  2. c与python的区别-对比平台--C和Python之间的区别
  3. python之人脸识别
  4. DB2 SQLSTATE 消息
  5. 如何更改 macOS Monterey 和 iPadOS 15 中的 Safari 选项卡外观?
  6. Java类集框架 —— ArrayList源码分析
  7. 如何克服枯燥工作带来的单调感和厌烦感
  8. linux 向日葵教程,远程控制工具——Centos7上向日葵安装使用(转)
  9. 手持式频谱分析仪/路测仪推荐哪一款?TFN全新RMT系列不容错过
  10. 『 文件操作 』HTML文件转MD文件
  11. java鼠标乱跑_win7鼠标光标乱跳怎么办?解决win7鼠标光标乱跑的方法
  12. 迪尼斯神奇英语全32集含教材
  13. Visio 与 office 不兼容问题
  14. Android App图标静态更新方案
  15. 三个重要的同余式——威尔逊定理、费马小定理、欧拉定理 + 求幂大法的证明
  16. 判断是否为平衡二叉树(Java)
  17. websocket以及聊天室的实现
  18. [1064]旅途时间
  19. 快讯:今日一颗小行星2014 RC掠过地球轨道
  20. 协众信息技术设计师平时每天会看的几个网站有哪些?

热门文章

  1. 10种奢华闪耀风格PS字体样式为您的文本产生奢华闪耀效果
  2. 2维照片生成3维模型_如何使用2维模型跟踪状态
  3. JAVA泛型QUIK START
  4. android 自定义progressdialog,自定义ProgressDialog
  5. UDI-12154 ORA-12154问题解决
  6. java的Object类有哪些方法
  7. javascript closure
  8. mac小技巧:如何设置Mac快速锁屏
  9. 2k2实用球员_NBA2kol2球员选择哪些好?
  10. linux中kill命令默认发出的信号,linux中的kill命令的详细解释