小刘的深度学习---Faster RCNN
前言:
对于目标检测Faster RCNN有着广泛的应用,其性能更是远超传统的方法。
正文:
R-CNN(第一个成功在目标检测上应用的深度学习的算法)
从名字上可以看出R-CNN是 Faster RCNN 的基础。正是通过不断的改进才有了后面的Fast RCNN 和 Faster RCNN。
R-CNN的流程可以分为4个步骤: 用SS(Sekective Search) 找候选区域 >>> CNN提取特征 >>> 用提取的特征训练SVM中做物体识别 >>> 用提取的特征训练回归器提议区域

Sekective Search(选择性搜索)是一种基于区域的目标检测方法。先将图像划分成很多尺寸不同的区域(满足目标多尺寸要求),再将这些区域的层次聚类。其中的相似度计算包含4个方面:颜色,纹理,尺寸和空间交叠
颜色相似度是转HSV,每个通道以bins=25计算直方图,再除以区域尺寸做归一化
纹理相似度采用方差为1的高斯分布在8个方向上做梯度统计,以bins=10计算直方图

尺寸相似度

空间交叠相似度

最终的相似度

点击查看 CNN 部分
点击查看 SVM部分
以上是R-CNN的基本流程,但是由于一张图可能会生成大约2千个候选区域,导致它运行的非常的慢。
Fast R-CNN(R-CNN的续作)
考虑到R-CNN中候选区域会有许多重叠部分,这里会先抽取特征再用SS选区域。并且会用softmax代替SVM。

其中的Rol Pooling 类似于Max Pooling ,它是将一个区域划分为几个小区域后再进行Max Pooling
但由于其本身还是沿用的SS,通常速度还是很慢。
Faster R-CNN
通过用区域提议网络来提速。这里不再直接寻找目标在哪里,而是将问题分为锚点是否包含目标和如何将锚框更好的拟合目标。

以每个像素点为中心生成几种固定尺寸的锚框


具体来说,先做3x3的卷积得到一个与公共尺寸相同的特征图(256x(HxW),再通过1x1的卷积得到2个输出,分别用于BBox 和用于区分前景与背景的softmax 。
往后的步骤与Fast RCNN相同。
放一张效果图

具体代码可以去GitHub上查看。
续:
因为最近在追妹纸,关于代码详解可能要等些时日了。just do it♥
小刘的深度学习---Faster RCNN的更多相关文章
- 小刘的深度学习---CNN
前言: 前段时间我在树莓派上通过KNN,SVM等机器学习的算法实现了门派识别的项目,所用到的数据集是经典的MNIST.可能是因为手写数字与印刷体存在一些区别,识别率并是很不高.基于这样的情况,我打算在 ...
- [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程2
faster-rcnn分为matlab版本和python版本,首先记录弄python版本的环境搭建过程.matlab版本见另一篇:faster-rcnn(testing): ubuntu14.04+c ...
- 从编程实现角度学习Faster R-CNN(附极简实现)
https://www.jianshu.com/p/9da1f0756813 从编程实现角度学习Faster R-CNN(附极简实现) GoDeep 关注 2018.03.11 15:51* 字数 5 ...
- 【小刘的linux学习笔记 】——01认识操作系统
1.操作系统的地位 计算机系统由硬件和软件两部分组成.通常把未配置软件的计算机称为裸机.直接使用裸机不仅不方便,而且将严重降低工作效率和机器的利用率. 操作系统(OS,Operation System ...
- faster rcnn 源码学习-------数据读入及RoIDataLayer相关模块解读
参考博客:::https://www.cnblogs.com/Dzhen/p/6845852.html 非常全面的解读参考:::https://blog.csdn.net/DaVinciL/artic ...
- 新人如何运行Faster RCNN的tensorflow代码
0.目的 刚刚学习faster rcnn目标检测算法,在尝试跑通github上面Xinlei Chen的tensorflow版本的faster rcnn代码时候遇到很多问题(我真是太菜),代码地址如下 ...
- Faster R-CNN代码例子
主要参考文章:1,从编程实现角度学习Faster R-CNN(附极简实现) 经常是做到一半发现收敛情况不理想,然后又回去看看这篇文章的细节. 另外两篇: 2,Faster R-CNN学习总结 ...
- 【深度学习】目标检测算法总结(R-CNN、Fast R-CNN、Faster R-CNN、FPN、YOLO、SSD、RetinaNet)
目标检测是很多计算机视觉任务的基础,不论我们需要实现图像与文字的交互还是需要识别精细类别,它都提供了可靠的信息.本文对目标检测进行了整体回顾,第一部分从RCNN开始介绍基于候选区域的目标检测器,包括F ...
- 深度学习论文翻译解析(四):Faster R-CNN: Down the rabbit hole of modern object detection
论文标题:Faster R-CNN: Down the rabbit hole of modern object detection 论文作者:Zhi Tian , Weilin Huang, Ton ...
随机推荐
- weblogic之CVE-2017-3248,CVE-2018-2628,CVE-2018-2893,CVE-2018-3245反序列绕过分析
说一下复现CVE-2017-3248可以参考p牛的环境,p牛的环境CVE-2018-2628实际就是CVE-2017-3248,他漏洞编号这块写错了. 攻击流程就如下图,攻击者开启JRMPListen ...
- PAT乙级1036
1036 跟奥巴马一起编程 (15 分) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动, ...
- docker 私有仓库 harbor docker-compose
c创建docker私有仓库 docker pull registry:2.1.1 mkdir /opt/registry#mkdir /var/lib/registry docker run -d - ...
- block本质探寻二之变量捕获
一.代码 说明:本文章须结合文章<block本质探寻一之内存结构>和<class和object_getClass方法区别>加以理解: //main.m #import < ...
- 0CO_PC_ACT_10 不能提取NV类别的数据
今天用 BW 标准数据源 0CO_PC_ACT_10 提取数据时,发现物料有一项数据[没有被分摊]无法取到. 根据SAP的解释,此项不在后台存数,通过前台动态生成. For the virtual c ...
- mysql 跑存储过程没有权限的问题
1.赋予权限 GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; 2.刷新权限 FLUS ...
- mysql8.0版本skip-grant-tables出现的新问题
MySQL 初始化 mysqld --initialize 的时候会有密码,就这个样子, 可是毕竟总有人跟我一样,不熟悉安装过程,没有注意这一密码这一项,导致你现在不知道密码的尴尬处境,或者说你是正常 ...
- HTTP性能测试工具wrk安装及使用
wrk 是一个很简单的 http 性能测试工具,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于HTTP性能测试工具,但是比 ab 功能更加强大,并且可以支持l ...
- 《Java 程序设计》课堂实践项目-类定义
<Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...
- Silverlight 图表控件 Visifire 常用属性
主要介绍 Visifire 常用属性的设置,用来生成不同样式的图例 设置Chart的属 //设置title的值 // 创建一个标题的对象 Title title = new Title(); // 设 ...