借助这种设置,R-FCN 便能同时处理地位可变性(location variance)与地位不变性(location invariance)。它给出不合的目标区域来处理地位可变性,让每个 region proposal 都参考同一个分数图 score bank 来处理地位不变形。这些分数图应当去进修将一只猫分类成猫,而不消管这只猫在在那个地位。最好的是,因为它是全卷积的,所以这意味着收集中所有的计算都是共享的。
是以,R-FCN 比 Faster R-CNN 快了好几倍,并且可以达到类似的精确率。
我们最后一个模型是 SSD,即 Single-Shot Detector。和 R-FCN 一样,它的速度比 Faster R-CNN 要快很多,但其工作方法却和 R-FCN 存在明显不合。
我们前两个模型分两个步调履行 region proposal 和 region classification。起首,它们应用一个 region proposal 收集来生成感兴趣区域(region of interest);然后,它们既可以用全连接层也可以用地位敏感卷积层来对那些区域进行分类。然而,SSD 可以在单个步调中完成上述两个步调,并且在处理图像的同时猜测界线框和类。
具体而言,给定一个输入图像以及一系列真值标签,SSD 就会进行如下操作:
- 在一系列卷积层中传递这个图像,产生一系列大年夜小不合的特点图(比如 10×10、6×6、3×3 等等。)
- 对每个这些特点图中的每个地位而言,都应用一个 3×3 的卷积滤波器(convolutional filter)来评估一小部分默认的界线框。这些默认边的界框本质上等价于 Faster R-CNN 的 anchor box。
- 对每个界线框都同时履行猜测: a)界线框的偏移;b)分类的概率。
- 在练习时代,用这些基于 IoU(Intersection over Union,也被称为 Jaccard 类似系数)系数的猜测界线框来匹拍┞俘确的界线框。被最佳猜测的界线框将被标签为「正」,并且其它界线框的 IoU 大年夜于 0.5。
R-CNN 模型
为懂得决这个问题,SSD 进行了两项处理。起首,它应用非极大年夜值克制(non maximum suppression,NMS)技巧来将高度重叠的界线框整合成一个。换句话说,如不雅有 4 个外形、尺寸等类似的界线框中有同一只狗,那么 NMS 就会保存信度最高的那个界线框而摈弃掉落其它的。第二,SSD 模型应用了一种被称为 hard negative mining 的技巧以在练习过程中让类保持均衡。在 hard negative mining 中,只有那些有最高练习损掉(training loss)的负面样本(negative example)子集才会在每次练习迭代中被应用。SSD 的「正负」比一向保持在 1:3。
下图是 SSD 的架构示意图:
如上所述,最终有可缩小尺寸的「额外特点层」。这些尺寸变更的特点图有助于捕获不合大年夜小的目标。例如,下面是一个正在履行的 SSD。
换句话说,我们会不雅察我们最后特点图上的每个地位,然后存眷环绕它的 k 个不合的 anchor box:一个高的框、一个宽的框、一个大年夜的框等等。对于每个这些框,不管我们是否定为它包含一个目标,以及不管这个框里的坐标是什么,我们都邑进行输出。下图展示了在单个滑动框地位上产生的操作:
在更小的特点图中(比如 4×4),每一单位覆盖图像的一个更大年夜区域,使其探测更大年夜的目标。region proposal 与分类同时被履行:假设 p 为目标类别,每个界线框与一个 (4+p)-维度向量相连接,其输出 4 个框偏移坐标和 p 分类概率。在最后一步中,softmax 又一次被用来分类目标。
最终,SSD 与最初的两个模型并无不合。它简单跳过「region proposal」这一步,而不是同时推敲图像每个地位的每个界线及其分类。因为 SSD 一次性完成所有,它是三个模型中最快的,且相对而言依然表示出色。
结论
Faster R-CNN、R-FCN 和 SSD 是三种今朝最优且应用最广泛的目标检测模型。其他风行的模型平日与这三者类似,都依附于深度 CNN(如 ResNet、Inception 等)来进行收集初始化,且大年夜部分遵守同样的 proposal/分类 pipeline。
然则,应用这些模型须要懂得 Tensorflow 的 API。Tensorflow 有一份应用这些模型的初学者教程(https://github.com/tensorflow/models/blob/master/object_detection/object_detection_tutorial.ipynb)。
【编辑推荐】
- 和传统模式说袈滟见,看机械进修若何走向深度进修?
- 机械进修本来如斯有趣:若何用深度进修进行语音辨认
- 深度进修真的可以零基本入门吗?
- 私家收藏,九个开源的顶级深度进修衔目
- 云计算深度进修平台架构与实践的必经之路
推荐阅读
对于组而言,在组名前面应用 % 字符;这意味着 sys 组的所有成员都可以不消暗码应用sudo 。 【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦! 假设你在只>>>详细阅读
本文标题:深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
地址:http://www.17bianji.com/lsqh/37531.html
1/2 1