@Author:Runsen

Faster R-CNN

由于Fast R-CNN 过程中仍然存在一个瓶颈,即ROI Projection。众所周知,检测对象的第一步是在对象周围生成一组潜在的边界框。在 Fast R-CNN 中,ROI Projection是使用Selective Search创建的,发现一个非常缓慢的过程是整个对象检测过程的瓶颈。

选择性搜索是一个缓慢且耗时的过程,会影响网络的性能。因此,任少清等人提出了一种对象检测算法,该算法消除了选择性搜索算法,让网络学习了区域提议区域提议。

Faster R-CNN与 Fast R-CNN 类似,图像作为输入,提供给提供卷积特征图的卷积网络。不是在特征图上使用选择性搜索算法来识别区域提议,而是使用单独的网络来预测ROI Projection。然后使用 RoI 池化层对预测的区域建议进行重新整理,然后使用 RoI 池化层对建议区域内的图像进行分类并预测边界框的偏移值。


从上图可以看出,Faster R-CNN 比Fast R-CNN要快得多。因此,它是目前先进的目标检测算法。

为什么不将这些相同的 CNN 结果重用于区域提议,而不是运行单独的选择性搜索算法

让我们看一个Faster R-CNN的思想,首先,让我们了解一下具有不同纵横比和尺度的重叠ROI的概念。

从图像中,我们看到很多物体相互重叠。在电视机里看到一辆汽车、一辆自行车、一个拿着电视机的人和一只狗。选择性搜索可以解决这个问题,但我们最终会得到大量的 ROI。我们需要想一个能有效解决这个问题的想法。

如果我们在不同的对象周围绘制边界框,它看起来是这样的。

实现这一点有点复杂,但 Anchor Boxes 的想法使它变得简单。让我们了解这些锚框的含义。

通常,对象可以放入方形盒子中,也可以放入长方形和宽,或长方形和高。从广义上讲,它们可以说是大的、小的或中等的。因此,通过实验发现,可以使用 3 种不同比例和 3 种不同纵横比的框检测图像中的任何对象。

在Feature Map上使用不同大小的滑动窗口(如上图的9个所示)。这个概念被称为特征金字塔。这涉及在特征图顶部使用 9 种不同大小的滑动窗口。

RPN

  • 区域提议网络 (RPN) 从将输入图像馈送到卷积神经网络开始。首先调整输入图像的大小,使其最短边为 600 像素,长边不超过 1000 像素。
  • 网络的输出特征(由H x W表示)通常比输入图像小得多,这取决于网络模型的步幅。在Faster R-CNN论文中使用的两个网络模型(VGG、ZF-Net),网络步长都是 16。这意味着网络输出特征中的两个连续像素对应于输入图像中相距 16 个像素的两个点。

下图显示了 在输入图像上,3 种不同纵横比和 3 种不同尺寸的 9 个可能的锚点放置,使用的锚点具有 128²、256²、512²的 3 个盒子区域比例和 1:1、1:2 和 2:1 的 3 个纵横比。

Faster R-CNN架构

如下为整体框架结构,结合上述过程来看,主要是三部分,Extrator进行特征提取、RPN 生成候选框、RoIHead对候选框进行分类并调整目标预测框的位置与大小。


Faster R-CNN使用了预训练的VGG16作为backbone进行特征提取,实现方法是加载预训练模型,抽取并分离前面的卷积层和后面的全连接层,固定卷积层中部分层的权重,用作特征提取,而全连接层则给 RoIHead 用作分类和回归。

Faster R-CNN 联合训练有 4 个损失:

  • RPN分类(IoU 大于 0.5 Object foreground/ IoU 介于 0.1 和 0.5background)
  • RPN 回归(Anchor → ROI)
  • Fast RCNN 分类(对象类)。
  • Fast RCNN 回归(ROI → Bounding Box)

总结,R-CNN 和 Fast R-CNN 都使用基于 CPU 的区域提议算法,例如选择性搜索算法,每张图像大约需要 2 秒并在 CPU 计算上运行。Faster R-CNN论文通过使用另一个卷积网络(RPN)来生成区域提议来解决这个问题。这不仅将每个图像的区域提议时间从 2 秒降低到 10 毫秒,而且还允许区域提议阶段与以下检测阶段共享层,从而导致特征表示的整体改进。

深度学习和目标检测系列教程 7-300:先进的目标检测Faster R-CNN架构相关推荐

  1. 深度学习和目标检测系列教程 1-300:什么是对象检测和常见的8 种基础目标检测算法

    @Author:Runsen 由于毕业入了CV的坑,在内卷的条件下,我只好把别人卷走. 对象检测 对象检测是一种计算机视觉技术,用于定位图像或视频中的对象实例.对象检测算法通常利用机器学习或深度学习来 ...

  2. 深度学习和目标检测系列教程 5-300:早期的目标检测RCNN架构

    @Author:Runsen 最早期的目标检测基于RCNN的算法,下面介绍RCNN的架构 RCNN架构 R-CNN 的目标是获取图像,并正确识别图片中的主要对象(通过边界框)的位置. 输入:图像: 输 ...

  3. 深度学习阅读导航 | 15 YOLOv4:最佳速度与精确度的目标检测器

    写在前面:大家好!我是[AI 菌],一枚爱弹吉他的程序员.我热爱AI.热爱分享.热爱开源! 这博客是我对学习的一点总结与记录.如果您也对 深度学习.机器视觉.算法.Python.C++ 感兴趣,可以关 ...

  4. wandb(wb)(weights and biases): 深度学习轻量级可视化工具入门教程

    参考文章:wandb: 深度学习轻量级可视化工具入门教程 这wandb有点蛋疼啊,说登录https://wandb.ai/authorize?signup=true获取API KEY,但貌似要梯子才能 ...

  5. wandb: 深度学习轻量级可视化工具入门教程

    本文,就来给大家介绍一款新型的机器学习可视化工具,能够让人工智能研发过程变得更加简单明了. wandb: 深度学习轻量级可视化工具入门教程 引言 wandb 验证数据可视化 自然语言处理 重要工具 极 ...

  6. 视频教程-深度学习与PyTorch入门实战教程-深度学习

    深度学习与PyTorch入门实战教程 新加坡国立大学研究员 龙良曲 ¥399.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取优惠,最少立减5元 ↓ ...

  7. 机器学习深度学习高阶内容系列-kaggle广告点击欺诈识别实战

    机器学习深度学习高阶内容系列-kaggle广告点击欺诈识别实战 中国是全球最大的智能移动设备市场,每月有超过10亿台智能移动设备投入使用 .TalkingData是中国最大的独立大数据服务平台,覆盖全 ...

  8. 深度学习和目标检测系列教程 2-300:小试牛刀,使用 ImageAI 进行对象检测

    @Author:Runsen 对象检测是一种属于更广泛的计算机视觉领域的技术.它处理识别和跟踪图像和视频中存在的对象.目标检测有多种应用,如人脸检测.车辆检测.行人计数.自动驾驶汽车.安全系统等.Im ...

  9. 深度学习和目标检测系列教程 3-300:了解常见的目标检测的开源数据集

    @Author:Runsen 计算机视觉中具有挑战性的主题之一,对象检测,可帮助组织借助数字图片作为输入来理解和识别实时对象.大量的论文基于常见的目标检测的开源数据集而来,因此需要了解常见的目标检测的 ...

最新文章

  1. python模拟布朗运动_python开发之thread实现布朗运动的方法
  2. 华为数据通信部门怎么样_华为最高级别认证适合小白吗
  3. wxWidgets:wxAuiManagerEvent类用法
  4. 工业级光纤收发器一般能正常使用多长时间?
  5. 研究综述 | 多关系知识图谱表示学习综述
  6. 技术干货 | 应用上线前的“体检”,你知道需要检测哪些指标吗?
  7. 第四范式:现代存储架构下的系统优化实践
  8. ice 服务java连接,java - ICE中的连接计数 - 堆栈内存溢出
  9. JAVA ANDROID SOCKET通信检测(SERVER)连接是否断开
  10. DB9接口公头母头引脚区别
  11. Origin作图点太密集处理方法
  12. Java - 注解(Annotation)
  13. Android自定义一个时间轴,通过ListView来实现时间轴的效果
  14. matlab里的pid参数调节,pid调节的方法
  15. Lotus notes问题与处理
  16. 通灵学院|游戏设计研习3:人类的内在人群特征★(1000字)
  17. JBX+WL8+Struts国际化中的一些问题
  18. 不管发生什么事,最重要的是拥有乐观积极的心态,困难总会过去的。
  19. 自媒体平台图文创作建议和技巧
  20. C语言例题理解(小写字母转换成大写字母,兔子生兔子问题,求100以内勾股数,整数逆序输出)

热门文章

  1. mysql not in语句_Mysql学习经验总结【2】
  2. 启明云端分享| 2.4寸磁编码旋钮方案智能屏
  3. 启明云端分享|一款方便、实用的且适用于ESP32/ESP8266的USB-TTL转接板开发工具推荐
  4. excel几个表合成一张_快速将多个excel表合并成一个excel表
  5. Altium designer中元器件库(SCHLIB)元件引脚上文字(标号)大小及距离边缘位置设置
  6. centos php 开启socket,centos下phpsocket连接,该如何解决
  7. a类学科计算机,最全名单来了!上海交大25个学科获评A类学科
  8. 【loj#2524】【bzoj5303】 [Haoi2018]反色游戏(圆方树)
  9. 一道笔试题(vue,react)
  10. UVA 10976 Fractions Again?!【暴力枚举/注意推导下/分子分母分开保存】