微信扫一扫
分享到朋友圈

学界 | 又快又准确,新目标检测器速度可达每秒200帧

作者:机器之心 来源:机器之心 公众号
分享到:

05-23

选自arXiv

作者:Rakesh Mehta等

机器之心编译

参与:panda


目标检测技术的很多实际应用在准确度和速度上都有很高的要求,但目前大多数相关研究都更注重准确度表现的突破。在另一个方向上,爱尔兰联合技术研究中心的两位研究者近日在 arXiv 上发布了一份研究成果,介绍了他们在保证准确度的同时达到了 200 FPS 速度的目标检测研究进展。


目标检测是计算机视觉领域内的一个基本问题。得益于深度卷积网络的成功,近些年来,我们已经见证了目标检测器准确度的显著提升 [25, 27, 22, 26, 7, 10, 21]。事实已经表明,基于深度学习的现代目标检测器能以相当高的准确度和合理的速度检测多个一般目标 [22, 26]。这样的进展让目标检测被应用在了多种行业应用中,比如监控、自动驾驶和机器人。这一领域的大多数研究都关注的是在公共基准上实现当前最佳表现。


这些研究所取得的进展大都依赖于更深度的架构(Inception [33]、VGG [32]、Resnet [11]),其代价是更高的计算复杂度和更多内存需求。尽管这些结果已经表明了目标检测在多种问题上的可用性,但对全面行业部署而言,可扩展性仍是一个悬而未决的问题。比如,有 50 个摄像头和 30 帧/秒速率的安保系统即使使用最快速的检测器 SSD(512 分辨率时速度为 22 FPS),也将需要带有 60 个 GPU 的专用服务器 [22]。对于某些行业问题(大型建筑内的安保应用)而言,这些数字还会更大。在这些情况下,速度和内存需求会变得很关键,因为其能在单个 GPU 上实现多个数据流的处理。让人惊讶的是,研究者们并不很重视设计快速有效且内存需求低的目标检测器 [17]。在本研究中,我们试图填补这一漏洞,我们的研究重点是开发出一种高效的目标检测器,其有较低的内存需求且能在单个 GPU 上高速处理多个数据流。


图 1:我们所提出的检测器与其它竞争方法的速度和表现比较。对于 SSD 和 Yolo-v2,我们还给出了更准确的模型的结果。


鉴于简单快速的架构存在局限性,我们调查研究了可以提升表现的有效训练方法。从准确度合理的轻量级检测器开始,我们利用了有更优表现的更深度的网络来进一步改进训练策略。为此,我们考虑了网络 distillation [12, 2, 1],其中更大网络的知识会被用来高效地学习更小网络的表征。尽管这一思想最近已经在目标检测上得到过应用,但我们的工作在我们应用 distillation 的方式上有关键性的贡献。


(1)我们最早将 distillation 应用到了单流程检测器(Yolo)上,这使得我们的工作不同于之前的将其应用于区域建议网络(region proposal network)的工作。(2)我们的方法的关键基于这一观察:目标检测涉及非极大抑制(NMS)步骤,而这个步骤在端到端学习之外。在 NMS 步骤之前,检测网络的最后一层由检测区域中的密集激活构成,如果它被直接迁移给学生网络,就会导致过拟合和表现下降的问题。因此,为了将 distillation 应用于检测,我们提出了特征图非极大抑制(Feature Map-NMS 或 FM-NMS),其会抑制对应于重叠检测的激活。(3)通过强调教师检测中有更高目标性(objectness)值的检测结果,我们将该问题形式化为了一个目标性缩放的 distillation 损失问题。我们的结果表明,这种 distillation 是一种在保持复杂度较低的同时提升表现的有效方法。


最后,我们在目标检测语境中调查研究了「数据的有效性」[8]。有标注数据是有限的,但使用高准确度的目标检测器和无限量的无标注数据,我们探索了我们提出的轻量级检测器的表现可以提升的程度。我们的思路遵循半监督学习 [29, 35, 4],这是深度学习目标检测器领域一个尚未得到深入研究的领域。Radosavovic et. al. [23] 是与我们的方法密切相关的一项近期研究,其中的标注是使用组合在一起的检测器生成的。我们的思路与他们的方法有两个主要差异:(1)我们是迁移来自教师网络的卷积特征图的软标签,事实表明这在网络 distillation 上更高效 [28]。(2)我们通过目标性缩放和 distillation 权重得到了损失公式,这让我们可以根据教师标签控制权重。这个公式提供了灵活性,能为基本真值(ground-truth)的检测结果赋予高权重,为不准确的教师预测结果提供相对更低的权重。此外,我们的训练损失公式无缝整合了检测损失与 distillation 损失,这让该网络可以从有标注数据和无标注数据的混合数据中学习。就我们所知,这是第一个通过联合使用有标注数据和无标注数据来训练深度学习目标检测器的研究。


图 2:我们的检测器的基本架构。为了保证架构简单,我们限制了网络的深度,并且保证特征图的数量少且使用了较小的过滤器核(3×3 或 1×1)。


图 3:distillation 方法的整体架构。distillation 损失在有标注数据和无标注数据上都会使用。FM-NMS 被应用在教师网络的最后一层特征图上以抑制重叠的候选项。


图 4:教师网络在最后一层同时预测边界框坐标和类别概率。蓝色和绿色表示的每一列对应 N 个检测结果,其中 N 是锚定框(anchor box)的数量。相邻的列通常会得到具有同一类别标签的高度重叠的边界框。我们提出的 FM-NMS 只会保留相邻单元中最强的候选项。这个候选项会被作为软标签而迁移给学生网络。


表 2:不同架构修改方法的速度比较。


表 3:在 Pascal VOC 2007 上使用不同策略的 distillation 的表现比较。这里给出的结果是两个教师网络在两个有标注训练数据集(Pascal VOC 数据集以及 Pascal VOC 和 COCO 的组合数据集)上的结果。


论文:每秒 200 帧的目标检测(Object detection at 200 Frames Per Second)


论文地址:https://arxiv.org/abs/1805.06361 


在本论文中,我们提出了一种高效快速的目标检测器,其每秒可处理数百帧图像。为了实现这一目标,我们调查研究了目标检测框架的三个主要方面:网络架构、损失函数和训练数据(有标注的和无标注的)。为了得到紧凑的网络架构,我们引入了多种基于近期研究的改进措施,以开发出一个计算上轻量级的且能达到合理表现水平的架构。为了在保证同等复杂度的同时进一步提升表现,我们使用了 distillation 损失函数。使用 distillation 损失,我们可将更准确的教师网络的知识迁移给我们提出的轻量级学生网络。为了让 distillation 能高效用于我们提出的单阶段检测器流程,我们提出了多种创新:目标性缩放的 distillation 损失、特征图非极大抑制、用于检测的单个统一 distillation 损失函数。最后,基于 distillation 损失,我们探索了通过使用无标注数据我们可以给表现带来多大提升。我们使用教师网络的软标签,通过无标注数据训练了我们的模型。在 Pascal 数据集上,与基于 VGG 的目标检测网络相比,我们的最终网络的参数数量少十几倍,并且能实现超过 200 FPS 的速度,另外我们提出的修改能让检测准确度超过基准 14 mAP。



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

阅读9168
举报0
关注机器之心微信号:almosthuman2014

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“机器之心”微信公众号,文章版权归机器之心公众号所有。

评论
更多

文章来自于公众号:

机器之心

微信号:almosthuman2014

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。