深度学习笔记(41) 候选区域

  • 1. 无对象区域
  • 2. 候选区域
  • 3. Faster R-CNN

1. 无对象区域


记得滑动窗法吧,使用训练过的分类器
在这些窗口中全部运行一遍,然后运行一个检测器,看看里面是否有车辆,行人和摩托车
现在也可以运行一下卷积算法

这里这个矩形区域(编号1)基本是空的,显然没有什么需要分类的东西
也许算法会在这个矩形上(编号2)运行,知道上面没有什么有趣的东西

这个算法的其中一个缺点是,它在显然没有任何对象的区域浪费时间


2. 候选区域

如果阅读一下对象检测的文献,可能会看到一组概念
所谓的候选区域,这在计算机视觉领域是非常有影响力的概念

Ross Girshick,Jeff Donahue,Trevor Darrell,Jitendra Malik提出一种叫做R-CNN的算法
意思是带区域的卷积网络,或者说带区域的CNN
这个算法尝试选出一些区域,在这些区域上运行卷积网络分类器是有意义的

所以这里不再针对每个滑动窗运行检测算法
而是只选择一些窗口,在少数窗口上运行卷积网络分类器

选出候选区域的方法是运行图像分割算法
分割的结果是下边的图像,为了找出可能存在对象的区域
比如说,分割算法在这里得到一个色块

所以可能会选择这样的边界框(编号1),然后在这个色块上运行分类器
就像这个绿色的东西(编号2),在这里找到一个色块
接下来我们还会在那个矩形上(编号2)运行一次分类器,看看有没有东西
在这种情况下,如果在蓝色色块上(编号3)运行分类器,希望能检测出一个行人
如果在青色色块(编号4)上运行算法,也许可以发现一辆车

所以这个细节就是所谓的分割算法
先找出可能2000多个色块,然后在这2000个色块上放置边界框,然后在这2000个色块上运行分类器
这样需要处理的位置可能要少的多
可以减少卷积网络分类器运行时间,比在图像所有位置运行一遍分类器要快

特别是这种情况
现在不仅是在方形区域(编号5)中运行卷积网络
还会在高高瘦瘦(编号6)的区域运行,尝试检测出行人
然后在很宽很胖的区域(编号7)运行,尝试检测出车辆
同时在各种尺度运行分类器
这就是R-CNN或者区域CNN的特色概念


3. Faster R-CNN

基本的R-CNN算法是使用某种算法求出候选区域,然后对每个候选区域运行一下分类器
每个区域会输出一个标签,有没有车子?有没有行人?有没有摩托车?并输出一个边界框
但不会直接信任边界框,它也会输出一个边界框bx,by,bh和bw
这样就能在确实存在对象的区域得到一个精确的边界框
这样比单纯使用图像分割算法给出的色块边界要好
所以它可以得到相当精确的边界框

但现在R-CNN算法的一个缺点是太慢了
所以这些年来有一些对R-CNN算法的改进工作
Ross Girshik提出了Fast R-CNN算法,它基本上是R-CNN算法,不过用卷积实现了滑动窗法
最初的算法是逐一对区域分类的,所以Fast R-CNN用的是滑动窗法的一个卷积实现

这和 深度学习笔记(35) 滑动窗口的卷积实现 中看到的大致相似,这显著提升了R-CNN的速度
事实证明,Fast R-CNN算法的其中一个问题是得到候选区域的聚类步骤仍然非常缓慢

所以另一个研究组,任少卿、何凯明、Ross Girshick和孙剑提出了更快的R-CNN算法(Faster R-CNN)
使用的是卷积神经网络,而不是更传统的分割算法来获得候选区域色块
结果比Fast R-CNN算法快得多
不过大多数Faster R-CNN的算法实现还是比YOLO算法慢很多

候选区域是一个有趣的想法,但这个方法需要两步,首先得到候选区域,然后再分类
相比之下,能够一步做完,类似于YOLO这个算法,是长远而言更有希望的方向


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(40) YOLO
深度学习笔记(39) Anchor Boxes
深度学习笔记(38) 非极大值抑制
深度学习笔记(37) 交并比
深度学习笔记(36) 边界框预测


谢谢!

深度学习笔记(41) 候选区域相关推荐

  1. 深度学习笔记(46) 深度卷积网络学习

    深度学习笔记(46) 深度卷积网络学习 1. 学习内容 2. 第一层 3. 第二层 4. 第三层 5. 第四层 6. 第五层 1. 学习内容 深度卷积网络到底在学什么? 来看一个例子,假如训练了一个卷 ...

  2. 深度学习笔记(44) Triplet 损失

    深度学习笔记(44) Triplet 损失 1. 三元组损失函数 2. 损失函数公式 3. 训练集 1. 三元组损失函数 已经了解了Siamese网络架构,并且知道想要网络输出什么,即什么是好的编码 ...

  3. 深度学习笔记(43) Siamese网络

    深度学习笔记(43) Siamese网络 1. Siamese网络 2. 建立人脸识别系统 3. 训练网络 1. Siamese网络 深度学习笔记(42) 人脸识别 提到的函数ddd的作用: 输入两张 ...

  4. 深度学习笔记(42) 人脸识别

    深度学习笔记(42) 人脸识别 1. 人脸识别 2. One-Shot学习 3. Similarity函数 1. 人脸识别 现在可以看到很多产品在运用人脸识别,如手机解锁.车站身份识别认证.刷脸支付等 ...

  5. 深度学习笔记(45) 人脸验证与二分类

    深度学习笔记(45) 人脸验证与二分类 1. 二分类问题 2. 逻辑回归单元的处理 3. 计算技巧 1. 二分类问题 深度学习笔记(44) Triplet 损失 的Triplet loss是一个学习人 ...

  6. 下载量过百万的吴恩达机器学习和深度学习笔记更新了!(附PDF下载)

    今天,我把吴恩达机器学习和深度学习课程笔记都更新了,并提供下载,这两本笔记非常适合机器学习和深度学习入门.(作者:黄海广) 0.导语 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在g ...

  7. 33万字!深度学习笔记在线版发布!

    吴恩达老师的深度学习课程(deeplearning.ai),可以说是深度学习入门的最热门课程,我和志愿者编写了这门课的笔记,并在 github 开源,为满足手机阅读的需要,我将笔记做成了在线版,可以在 ...

  8. 深度学习笔记其五:卷积神经网络和PYTORCH

    深度学习笔记其五:卷积神经网络和PYTORCH 1. 从全连接层到卷积 1.1 不变性 1.2 多层感知机的限制 1.2.1 平移不变性 1.2.2 局部性 1.3 卷积 1.4 "沃尔多在 ...

  9. 吴恩达深度学习笔记(四)

    吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...

最新文章

  1. Android 网易云信获取图片,Android 网易云信集成(一)
  2. 1063. Set Similarity (25)
  3. qt4.7 字体字号设设置;中文乱码,
  4. 重构,体现一个工程师的基本素养和底蕴(细节篇)
  5. 20155225 2006-2007-2 《Java程序设计》第四周学习总结
  6. ASP.net+MVC--2
  7. mac apache php.ini,Mac自带的Apache使用详解
  8. SM6S系列TVS二级管 可通过ISO 7637-2 5a/5b测试
  9. 企业使用防伪税控开票子系统出现问题常见问题
  10. 第十届山东理工大学ACM网络编程擂台赛 重现
  11. python数据可视化之美pdf_数据之美——Python数据可视化1
  12. 二阶低通滤波器IIR的五个参数推导过程
  13. 智能交通工程质量的第三方监测
  14. 【天光学术】MPACC论文:实证会计研究生毕业论文写作“十诫”
  15. 表白套路计算机公式,520 超酷表白公式 520表白套路
  16. B/S结构下套打票据实现 - Lodop打印组件
  17. linux 文件唯一标识符,详解Linux中获取全球唯一标示符UUID的方法
  18. linux截图工具带编辑器,Screenshot Editor
  19. C语言:渔夫捕鱼算法问题
  20. a += a -= a*a

热门文章

  1. Fantageek翻译系列之《使用Autolayout显示变化高度的UITableViewCell》
  2. 图解 _INTSIZEOF(n)
  3. 【转】Android 如何获取SDCard 内存(二)
  4. 我的宝贝干女儿--可可
  5. 【Vegas原创】使用javascript实现两个listbox中的添加、删除
  6. [导入]创建一个ASP通用分页类代码部分
  7. 华为c8818刷原生Android 6,华为C8818(电信4G)一键救砖教程,轻松刷回官方系统
  8. ES6-let 和 const 命令
  9. MVVM架构结合阿里ARouter,打造一套Android-Databinding组件化
  10. 优雅的使用Js或CSS处理文本的截断与展示