深度学习笔记(41) 候选区域
深度学习笔记(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) 候选区域相关推荐
- 深度学习笔记(46) 深度卷积网络学习
深度学习笔记(46) 深度卷积网络学习 1. 学习内容 2. 第一层 3. 第二层 4. 第三层 5. 第四层 6. 第五层 1. 学习内容 深度卷积网络到底在学什么? 来看一个例子,假如训练了一个卷 ...
- 深度学习笔记(44) Triplet 损失
深度学习笔记(44) Triplet 损失 1. 三元组损失函数 2. 损失函数公式 3. 训练集 1. 三元组损失函数 已经了解了Siamese网络架构,并且知道想要网络输出什么,即什么是好的编码 ...
- 深度学习笔记(43) Siamese网络
深度学习笔记(43) Siamese网络 1. Siamese网络 2. 建立人脸识别系统 3. 训练网络 1. Siamese网络 深度学习笔记(42) 人脸识别 提到的函数ddd的作用: 输入两张 ...
- 深度学习笔记(42) 人脸识别
深度学习笔记(42) 人脸识别 1. 人脸识别 2. One-Shot学习 3. Similarity函数 1. 人脸识别 现在可以看到很多产品在运用人脸识别,如手机解锁.车站身份识别认证.刷脸支付等 ...
- 深度学习笔记(45) 人脸验证与二分类
深度学习笔记(45) 人脸验证与二分类 1. 二分类问题 2. 逻辑回归单元的处理 3. 计算技巧 1. 二分类问题 深度学习笔记(44) Triplet 损失 的Triplet loss是一个学习人 ...
- 下载量过百万的吴恩达机器学习和深度学习笔记更新了!(附PDF下载)
今天,我把吴恩达机器学习和深度学习课程笔记都更新了,并提供下载,这两本笔记非常适合机器学习和深度学习入门.(作者:黄海广) 0.导语 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在g ...
- 33万字!深度学习笔记在线版发布!
吴恩达老师的深度学习课程(deeplearning.ai),可以说是深度学习入门的最热门课程,我和志愿者编写了这门课的笔记,并在 github 开源,为满足手机阅读的需要,我将笔记做成了在线版,可以在 ...
- 深度学习笔记其五:卷积神经网络和PYTORCH
深度学习笔记其五:卷积神经网络和PYTORCH 1. 从全连接层到卷积 1.1 不变性 1.2 多层感知机的限制 1.2.1 平移不变性 1.2.2 局部性 1.3 卷积 1.4 "沃尔多在 ...
- 吴恩达深度学习笔记(四)
吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...
最新文章
- Android 网易云信获取图片,Android 网易云信集成(一)
- 1063. Set Similarity (25)
- qt4.7 字体字号设设置;中文乱码,
- 重构,体现一个工程师的基本素养和底蕴(细节篇)
- 20155225 2006-2007-2 《Java程序设计》第四周学习总结
- ASP.net+MVC--2
- mac apache php.ini,Mac自带的Apache使用详解
- SM6S系列TVS二级管 可通过ISO 7637-2 5a/5b测试
- 企业使用防伪税控开票子系统出现问题常见问题
- 第十届山东理工大学ACM网络编程擂台赛 重现
- python数据可视化之美pdf_数据之美——Python数据可视化1
- 二阶低通滤波器IIR的五个参数推导过程
- 智能交通工程质量的第三方监测
- 【天光学术】MPACC论文:实证会计研究生毕业论文写作“十诫”
- 表白套路计算机公式,520 超酷表白公式 520表白套路
- B/S结构下套打票据实现 - Lodop打印组件
- linux 文件唯一标识符,详解Linux中获取全球唯一标示符UUID的方法
- linux截图工具带编辑器,Screenshot Editor
- C语言:渔夫捕鱼算法问题
- a += a -= a*a
热门文章
- Fantageek翻译系列之《使用Autolayout显示变化高度的UITableViewCell》
- 图解 _INTSIZEOF(n)
- 【转】Android 如何获取SDCard 内存(二)
- 我的宝贝干女儿--可可
- 【Vegas原创】使用javascript实现两个listbox中的添加、删除
- [导入]创建一个ASP通用分页类代码部分
- 华为c8818刷原生Android 6,华为C8818(电信4G)一键救砖教程,轻松刷回官方系统
- ES6-let 和 const 命令
- MVVM架构结合阿里ARouter,打造一套Android-Databinding组件化
- 优雅的使用Js或CSS处理文本的截断与展示