目标检测必看——RCNN是怎样融合了分类与回归,CNN与SVM

人和动物的区别之一是人能使用工具,而在人开始使用磨制石器时人类进入新石器时代。在目标检测领域,也有一个划时代的算法,在它之后目标检测开始进入深度学习的时代——它就是今天的主角:R-CNN。在RCNN之后,出现了更多优秀的CNN算法:Fast-RCNN,Faster-RCNN,YOLO等。

作为时代的分水岭,RCNN利用了CNN提取特征的强大之处,同时利用了传统方法和机器学习的方法,最终达到了不错的效果。RCNN大致分为以下几个步骤:

1.候选区域生成;

2.CNN特征提取;

3.SVM分类;

4.回归器特征box位置;

候选区域生成

目标检测的核心就是分类classification+定位location,定位就是用矩形框选定目标物体。候选区域生成其实就是一个粗定位:得到一些大概率是目标的区域。具体的方法有滑窗,分割等。R-CNN使用的是Selective Search。在特征上,SS利用了纹理,颜色等信息;在多样性上,SS尝试了多种起始点,多种相似度策略,多种色彩空间;在流程上,SS使用Hierarchical Grouping Algorithm,这是一种自下而上的思想,不断地合并细小的区域,得到整幅图像时停止。最终SS会得到约2000张候选区域。

与sliding windows相比,得到的regions数量少,且具有一定的语义。

CNN特征提取

以往的特征提取方法都是手动设计,如方向梯度直方图(Histogram of Oriented Gradient, HOG),SIFT等,而CNN强大之处就在于可以提取到深层次的特征。可以直接使用ILSVRC训练好的模型,然后再在PASCAL VOC上进行迁移学习。这一阶段是依靠监督学习分类来学习特征。Alexnet精度是58.5%,VGG16精度是66%。VGG这个模型的特点是选择比较小的卷积核、选择较小的跨步,这个网络的精度高,不过计算量是Alexnet的7倍。RCNN使用的是AlexNet的finetuning版本。(Alexnet是CNN五大经典模型(Lenet1986,Alexnet2012,Googlenet2014,VGG2014,DeepResidual learning2015)之一,也是最经典的算法,赢得了当年的ImageNet比赛冠军,使CNN成为图像分类中的核心算法模型。相关论文出自NIPS2012,作者是大神Alex Krizhevsky,属于多伦多大学Hinton组。《ImageNet Classification with Deep Convolutional Neural Networks》)

在迁移学习中有三点需要注意:1.预训练分类模型是1000类,VOC中是20类(加上背景是21类),所以需要调整全连接的大小;2.输入是第一步中得到的候选区域,而因为全连接的存在,需要将输入归一化到尺寸相同;3.VOC的类别标签是针对定位框的,只有当候选区域的框位置与标签的定位重合到一定程度时才认为是正样本。

关于第二点的归一化方法有几种可选的方法,分别是直接各向异性缩放warp和crop。第二种又分先扩充后裁剪和先裁剪后填充。经过最后的试验,作者发现采用各向异性缩放、padding=16的精度最高。

关于第三点,如何量化重合度需要引入IoU的概念,其含义是两个区域的交集和并集之比。大于0.5则认为该region的label与GT一致。

SVM分类器

之前使用的CNN表面是在分类,但真正目的其实只是提取特征,提取特征之后,每个候选框可以得到一个4096维的特征向量,使用得到的CNN特征再输入线性SVM中训练分类器。为什么要“画蛇添足”般地使用SVM呢?因为CNN容易过拟合,所以期望样本数目多一些,所以在判断正样本的时候条件比较松,IoU>0.5就认为是正样本。而SVM本身是结构风险最小,以SVM为分类器时改变了正负样本的判定条件:候选框完全包含GoundTruth的定位框才是正样本,当IoU<0.3时是负样本。

SVM支持向量机其实是可以支持多分类的,即SVMs分类器。但是论文不是对21个类(别漏了background类哦)使用一个SVM,而是使用了One-Versu-All的方法,对每个类别都使用个SVM(这里只需要20个SVM,想想为什么?)。方法很简单,对于每个类别来说,一个Region如果不是该类别,那就是背景。由于负样本很多,使用hard negative mining方法。每个SVM判断候选框是否属于这一类。对于2000个候选框,属于第i类的得分进行降序排列,可以使用NMS去除重叠的候选框。

(非极大值抑制(NMS)先计算出每一个bounding box的面积,然后根据score进行排序,把score最大的bounding box作为选定的框,计算其余bounding box与当前最大score与box的IoU,去除IoU大于设定的阈值的bounding box。然后重复上面的过程,直至候选bounding box为空,然后再将score小于一定阈值的选定框删除得到这一类的结果(然后继续进行下一个分类)。

回归器

即便得到了概率相对较大的候选框,它的定位仍然可能不准确,这里可以使用回归器进行位置的微调。输入仍然是4096维的特征向量,输出是x,y方向上的缩放和平移,这意味着可以改变候选框的大小和位置。当IoU>0.6时认为是正样本。

黄色框口P表示建议框Region Proposal,绿色窗口G表示实际框Ground Truth,红色窗口G^表示Region Proposal进行回归后的预测窗口,现在的目标是找到P到G^的线性变换【当Region Proposal与Ground Truth的IoU>0.6时可以认为是线性变换】,使得G^与G越相近,这就相当于一个简单的可以用最小二乘法解决的线性回归问题。

Reference:

1.下载链接http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf

2.http://xueshu.baidu.com/s?wd=paperuri:%286f32e0834ddb27b36d7c5cda472a768d%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http://arxiv.org/abs/1311.2524&ie=utf-8&sc_us=2810736414368325775

3.https://blog.csdn.net/shenxiaolu1984/article/details/51066975

4.实训周报实训周报2--RCNN论文解读_LiemZuvon的博客-CSDN博客

5.问题https://blog.csdn.net/wopawn/article/details/52133338

6.IOU http://shartoo.github.io/RCNN-series/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《自然》杂志:面对“电车难题”,不同国家的人有不同的道德选择

来源&#xff1a;36Kr电车难题原本只是一个思想实验。但是无人车的发展却绕不开这个问题。因为机器在无论如何都会撞死人的情况下必须靠预先植入的道德代码做出判断&#xff1a;该牺牲谁&#xff0c;该保谁。但是一项有全球230万人参与的调查表明&#xff1a;这个问题并不存在普…

Mac OS X Terminal 101:终端使用初级教程

文章目录1 为什么要使用命令行/如何开启命令行&#xff1f;2 初识Command Line3 关于 man 命令4 命令行&#xff0c;文件和路径 4.1 两种路径&#xff1a;绝对路径和相对路径4.2 切换到其他路径和目录4.3 处理特殊字符4.4 查看隐藏文件4.5 前往其他卷5 用Command-Line管理文件 …

Fast R-CNN整体把握

RCNN很好地解决了目标检测分类和定位的问题。但是缺点是速度太慢。 原因1&#xff1a;2k个候选区域都要经过变形成统一的正方形才能依次输入CNN进行特征提取。候选区域可能是互相包含的&#xff0c;这就导致原图同一个区域特征的重复提取。 原因2&#xff1a;RCNN的分类和回归…

2万字看完腾讯最纯粹的一届WE大会:从黑洞、虫洞到克隆猴

来源&#xff1a;虎嗅APP腾讯还有梦想&#xff0c;因为腾讯还有WE大会。5年来&#xff0c;腾讯从全世界邀请了几十位难得一见的科学家不远万里来到北京展览馆&#xff0c;比如去年邀请的剑桥大学教授、著名宇宙学家霍金&#xff08;视频演讲&#xff09;&#xff0c;不想成为绝…

深入浅出MongoDB(二)概述

上次的博文深入浅出MongoDB&#xff08;一&#xff09;NoSQL中我们已经简单介绍了一下NoSQL的基本概念&#xff0c;这次我们来了解一下MongoDB的相关概念。 1、简介 MongoDB是一款由C编写的高性能、开源、无模式的常用非关系型数据库产品&#xff0c;是非关系数据库当中功能最…

Fater R-CNN 整体把握

在R-CNN中提到过&#xff0c;候选区域的提取和之后的目标检测其实是独立的&#xff0c;所以我们可以使用任意的算法如SS。Fast-RCNN改进的是目标检测部分&#xff0c;但是其实候选区域的提取也挺费时的&#xff0c;Faster R-CNN就把改进方向放在了这里。 我们已经领略到了CNN的…

马斯克,特斯拉首席小白鼠

来源&#xff1a;量子位伊隆马斯克&#xff0c;比你想的还要激进。作为特斯拉CEO&#xff0c;马斯克经常一边自己坐在Model S上&#xff0c;一边召开电话会议。车辆的驾驶交给Autopilot&#xff0c;也就是那个时不时会出次意外的自动驾驶系统。他这么做不仅仅是想节约时间&…

每天进步一点点:andriod学习从零开始

第一章 前引 滚滚长江东逝水   浪花淘尽英雄   是非成败转头空   青山依旧在   几度夕阳红   白发渔樵江渚上   惯看秋月春风   一壶浊酒喜相逢   古今多少事   都付笑谈中   智能的机操作系统经过多盘厮杀&#xff0c;到现在形成了三足鼎…

windows下caffe+CPUOnly实现MNIST手写分类

工具下载 微软官方移植的Caffe&#xff1a;https://github.com/Microsoft/caffe 对属性表的操作需要把实例属性表的后缀改成vs可用的.props 打开同一个文件夹下的Caffe.sln&#xff0c;查看其中的属性表<CpuOnlyBuild>true</CpuOnlyBuild><UseCuDNN>false<…

Yann LeCun专访:我不觉得自己有天分,但是我一直往聪明人堆里钻

来源&#xff1a;AI 科技评论摘要&#xff1a;纽约大学教授、Facebook 副总裁与首席 AI 科学家 Yann LeCun 由于对深度学习的突出贡献&#xff0c;被誉为深度学习的「三驾马车」之一&#xff0c;更被称为「CNN」之父。Yann LeCun 也一直非常活跃&#xff0c;发论文、教学、创立…

任务分配调整

在经过新一轮分工讨论后&#xff0c;我们将我们最初的分工做了一次更新。截图于此。但是同样&#xff0c;基于敏捷开发的原则&#xff0c;任务将会在过程中为适应遇到的情况而不断更新。 请大家及时完成各自任务&#xff0c;并每天22点之前在tfs上更新完毕&#xff0c;同时将当…

以LeNet-5为例理解CNN

在用caffe实现对MNIST手写数字分类的过程中发现利用的网络是LetNet-5.决定从这个网络入手好好认识一下CNN。 LeNet-5早在1998年就出现了&#xff08;5表示5层模型&#xff09;&#xff0c;标志着CNN的诞生。以其作者YannLeCun的名字命名。但是却没有得到广泛的应用&#xff0c;…

设置IE默认文本模式的方法

设置IE默认文本模式的方法 <meta http-equiv"X-UA-Compatible" content"IE8" /> IE5、6、7等都可以&#xff0c; 如果要让IE浏览器默认以最高级别文本模式显示&#xff0c;设置 IEedge 转载于:https://www.cnblogs.com/wshiqtb/p/3393653.html

任正非最新谈话:直到2006年,我才真正抛弃自杀的念头

来源&#xff1a;世界科技创新论坛摘要&#xff1a;日前&#xff0c;一份任正非会见索尼CEO吉田宪一郎会谈纪要流出&#xff0c;这份纪要以吉田宪一郎发问任正非的视角&#xff0c;揭开了不少华为鲜为人知的故事&#xff0c;其中涉及华为的管理、创业之初的故事&#xff0c;还有…

LeNet网络配置文件 lenet_train_test.prototxt

.prototxt文件 定义了网络的结构&#xff0c;我们可以通过它了解网络是如何设计的&#xff0c;也可以建立属于自己的网络。这种格式来源于Google的Protocol Buffers&#xff0c;后来被开源&#xff0c;主要用于海量数据存储、传输协议格式等场合。https://blog.csdn.net/liuyuz…

现有代码移植到Metro App

现有代码移植到Metro App 一&#xff1a;工程配置 配置WinRT工程时要注意以下几点&#xff1a; 静态库工程General里的“Windows Store App Support”设成trueC\General下面的“Consume Windows Runtime Extension”设成Yes&#xff0c;设置该选项的目的是&#xff1a;引入Micr…

前沿 | 历时十二年!曼彻斯特百万级神经元的类脑超算终开启

具有百万处理器内核的「脉冲神经网络架构」或 SpiNNaker&#xff0c;每秒能完成约 200 兆次运算。来源&#xff1a;机器之心摘要&#xff1a;这台世界最大的神经形态超级计算机由曼彻斯特大学计算机科学学院设计和制造&#xff0c;它被设计和制造成与人脑相同的工作方式&#x…

Caffe中的卷积实现

https://www.zhihu.com/question/28385679 https://github.com/Yangqing/caffe/wiki/Convolution-in-Caffe:-a-memo 作者贾扬清亲自解释了这个问题。Caffe框架是他在研究生毕业毕业前两个月的时间写的&#xff0c;自然有一些缺点&#xff08;占用内存方面&#xff09;。其实卷积…

Oracle使用goldengate分别向Oracle和mysql双路的单向复制

一.Oracle分别向Oracle和mysql双路的单向复制是在&#xff1a; ORACLE-mysql的单向复制基础上做的。http://blog.csdn.net/q947817003/article/details/13294937 二.分别再在ORACLE主库及ORACLE目标库上增加相应进程 ORACLE源端增加&#xff1a; 1.增加配置extract进程 按顺序…

小程序创业:新金矿、野望与焦虑

来源&#xff1a;视觉中国摘要&#xff1a;小程序正在带来新的红利&#xff0c;互联网上的生意可以再做一遍&#xff1f;张远想要尽可能地保持低调&#xff0c;但现在这个愿望正在变得越来越难。在最近几个月阿拉丁小程序排行榜上&#xff0c;糖豆广场舞、糖豆爱生活、糖豆每日…