Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

旷视科技提出DetNet:一个为物体检测而生的Backbone

全球计算机视觉三大顶会之一 ECCV 2018 (European Conference on Computer Vision)即将于9月8 -14日在德国慕尼黑拉开帷幕。届时,旷视首席科学家孙剑博士将带领团队远赴盛会,助力计算机视觉技术的交流与落地。而在此之前,旷视将陆续推出 ECCV 2018 接受论文系列解读。本文是第 1 篇解读,一个专门为物体检测任务而设计的 Backbone——DetNet。

论文名称:DetNet: A Backbone network for Object Detection

论文链接:https://arxiv.org/abs/1804.06215

导语

人工智能的爆发与深度学习的发轫来自于计算机视觉领域,是从机器之眼开始,正如五亿四千万年之前,寒武纪生物大爆发的一个主要原因是眼睛的出现。能看的机器之眼,是计算机视觉技术与应用的共同目标,只不过技术是第一步。本文创新性地提出 DetNet——一个专为物体检测而设计的骨干网络,从底层技术的维度更新了计算机视觉网络,将会进一步推动其相关应用落地,优化产品服务。DetNet 将会更快更准地检测和分割一张给定图像之中的物体,完善在智慧城市、新零售、仓储物流、消费终端等诸多领域的技术应用。

背景

物体检测是计算机视觉研究领域的三大基础课题之一,旨在检测一张给定图像中每个物体的位置和分类。传统检测器借助手工设计的物体组件描述子,比如 HOG,SIFT,Edge Box 等,以从图像提取特征。长久以来,DPM 及其变体成为了传统物体检测领域的主导方法;直到深度神经网络再次崛起,基于 CNN 的方法取得瞩目成果,掀起一股物体检测新风潮。

随着时间推移,基于 CNN 的物体检测器也开始暴漏出一些弊端,其 backbone 往往针对 ImageNet 分类任务而设计,并不适用于检测任务,不管是 one-stage(比如 YOLO,SSD,RetinaNet)还是 two-stage(比如 Faster R-CNN,RFCN,FPN)的。针对检测任务而设计的 backbone 仍是一项空白,所以才有了 DetNet,一个针对物体检测的更优的 backbone。

设计思想

设计 DetNet 的起因是图像分类与物体检测任务之间存在的落差,后者不仅要识别物体的分类,还需借助边界框定位物体。具体而言,把分类 backbone 用于物体检测存在两个问题:1)相较于 ImageNet backbone,最新的检测器比如 FPN 通常有额外的 stage;2)传统的 backbone 感受野通常较大,这有利于图像分类,却会折中空间分辨率,导致无法精确定位大物体和识别小物体。

DetNet 是一个针对上述问题而设计的全新 backbone。详细讲,DetNet 针对不同大小的物体而像 FPN 一样使用了更多的 stage。即便如此,它优于 ImageNet 预训练模型的地方在于成功保留了特征的空间分辨率,但同时也会增加神经网络的计算和内存成本。为保证 DetNet 的效率,本文引入了低复杂度的 dilated bottleneck。由此,DetNet 做到了较高分辨率和较大感受野的兼得。

网络架构

动机

由于分类模型的设计原则并不适用于检测任务,从而在一些标准网络比如 VGG 16 和 ResNet 中特征图的空间分辨率逐渐降低。因此一些技术如 FPN(如图 1 A 所示)和 dilation 被应用在这些网络之中以保证空间分辨率。但是依然存在如下三个问题:

lbackbone 网络和检测网络的 stage 数量不同。

大物体可视性较差:过大的下采样导致大物体看不清边界地区。

小物体不可见:同样过大的下采样也可能会丢失小物体的信息。

图 1:FPN 中使用的不同 backbone

为解决上述问题,DetNet 具有以下特性:1)stage 的数量直接专为物体检测而设计;2)尽管相比传统分类网络,DetNet 有更多 stage(比如 6 stages 或者 7 stages),但是同时兼具空间分辨率和感受野。

相较于把传统分类网络用于物体检测而言,DetNet 有以下优势:1)DetNet stage 的数量与 FPN 相同,因此额外的 stage 比如 P6 可在 ImageNet 中完成预训练;2)受益于最后 stage 中的高分辨率特征图,DetNet 在定位大物体边界框和发现小物体方面更为强大。

设计

本节将详细展示 DetNet 结构。DetNet 基线为 ResNet-50,它被广泛用于众多物体检测器的 backbone。为了公平对比 ResNet-50,本文让 DetNet stage 1,2,3,4 与 ResNet-50 相同。

打造一个有效而高效的物体检测 backbone 面临两个挑战:一方面,保证深度神经网络的空间分辨率非常消耗时间和内存;另一方面,减少下采样等于减小有效感受野,这将会影响很多视觉任务,包括图像分类和语义分割在内。

图 2: DetNet 及基于 DetNet 的特征金字塔网络(FPN)的结构细节

通过精心设计的 DetNet 可攻克这两项挑战。具体而言,DetNet stage 1,2,3,4 与 ResNet 设置相同;不同的是 stage 5,以及用于图像分类的 DetNet 的概览,如图 2 D 所示。下面探讨一下(扩展了 ResNet-50 的)DetNet-59 的细节:

本文在 backbone 中引入额外的 stage,比如 P6,它稍后用于物体检测,正如在 FPN 中一样。同时,在 stage 4 之后把空间分辨率固定为 16x 下采样。

由于空间尺寸在 stage 4 之后是固定的,为引入一个新 stage,本文在每个 stage 开始使用一个带有 1x1 卷积投影(图 2 B)的 dilated bottleneck。

借助 dilated bottleneck 作为基础模块以加大感受野。由于 dilated conv 依然耗时,DetNet stage 5,6 与 stage 4 通道数量相同(bottleneck 有 256 个输入通道),这不同于传统的 backbone 设计,其在新的 stage 需要双倍的通道。

实验结果

主要结果

本文首先在 ImageNet 分类任务中训练 DetNet-59,结果如表 1 所示,在计算量为 4.8 G FLOPS 的情况下,DetNet-59 top-1 error 为 23.5,性能显著优于 ResNet-50(mAP 涨点 2+)。

表 1:FPN 中使用不同 backbone 的结果

由于 DetNet-59 相比 ResNet-50 有更多参数,一个自然的假设是提升主要来自参数的增多。为验证 DetNet-59 的有效性,本文在计算量为 7.6 G FLOPS 的情况下也训练了一个 backbone 为 ResNet-101 的 FPN,结果 mAP 为 39.8。可见 DetNet 在这方面要优于 ResNet。

由于 DetNet 直接专为物体检测而设计,为进一步验证其优势,本文分别从头训练了 DetNet-59/ResNet-50-baesd FPN。结果如表 2 所示。为了从头开始,本文在训练期间使用了跨卡同步批归一化。由结果可知,DetNet-59 依然优于 ResNet-50 1.8 个点,从而进一步证明 DetNet 更适用于物体检测。

表 2:不同 backbone 的 FPN 结果,训练从头开始

结果分析

本节将分析 DetNet 是如何提升物体检测性能的。

表 3:在不同 IoU 阈值和不同边界框大小的情况下,FPN AP 结果的对比

表 4:在不同 IoU 阈值和不同边界框大小的情况下,FPN AR 结果的对比

相较于 ResNet-50,DetNet-59 在发现小物体方面更为强大,AR_50 涨点达到 6.4(66.4 vs 60.0);DetNet 在较深的 stage 比 ResNet 保有更高的分辨率,从而可以检测更小的物体。由于在图 1 A 中使用上采样,浅层也可以获取语义线索以发现小物体。但是 AR_85 @small 涨点并不明显(18.7 vs 19.6)。这是合理的,DetNet 无益于小物体定位,因为 ResNet-based FPN 已经使用大特征图检测小物体。

DetNet 擅长大物体定位,其 AR_85 为 56.3(vs 50.2)。但是 AR_50 并没有变化太多(95.4 vs 95.0)。一般来讲,DetNet 更擅长定位大物体而不是查漏大物体。

对比当前最优

本文在 COCO test-dev 上评估 DetNet-59-based FPN,并对比表其他当前最优的方法(见表 7)。没有任何花哨的东西,DetNet 作为简单而高效的 backbone 在 COCO 物体检测上获得了新的当前最优,甚至超过强劲的对手 ResNet-101。

表 7:在 COCO test-dev 上,本文方法与其他当前最优方法在物体检测结果方面的对比。

为验证 DetNet 泛化能力,本文方法也用于了基于 Mask R-CNN 的 COCO 实例分割任务中。结果如表 8 所示。由于 DetNet-59 的优异性能,本文在实例分割方面同样刷新了当前最优结果。

表 8:在 COCO test-dev 上,本文方法与其他当前最优方法在实例分割结果方面的对比。

一些可视化结果如图 4、5 所示。本文只展示了分类分值不低于 0.5 的边界框和实例分割。

图 4:DetNet-59 based FPN 结果图示

图 5:DetNet-59 based Mask R-CNN 结果图示

结论

本文专门针对物体检测任务设计了一个全新的 backbone——DetNet。一般来讲,backbone 多是针对图像分类任务而设计,当迁移至物体检测任务时,两者之间往往存在一定差异。为此,本文提出 DetNet,它不仅针对分类任务做了优化,对定位也很友好,并在 COCO 上的物体检测和实例分割任务中展现了出色的结果。

参考文献

1.Lin, T.Y., Doll´ar, P., Girshick, R., He, K., Hariharan, B., Belongie, S.: Feature pyramid networks for object detection

2.He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition.

3.Girshick, R., Radosavovic, I., Gkioxari, G., Doll´ar, P., He, K.: Detectron. https: //github.com/facebookresearch/detectron (2018)

4.He, K., Gkioxari, G., Doll´ar, P., Girshick, R.: Mask r-cnn.

5.Lin, T.Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Doll´ar, P., Zitnick, C.L.: Microsoft coco: Common objects in context.

2.旷视科技目标检测概述:Beyond RetinaNet and Mask R-CNN.

旷视科技
旷视科技

Power Human with AI

理论ECCV 2018旷视科技DetNet
1
相关数据
寒武纪机构

寒武纪科技是一家AI芯片研发商。致力于打造各类智能云服务器、智能终端以及智能机器人的核心处理器芯片,同时还为用户提供IP授权、芯片服务、智能子卡和智能平台等服务。

www.cambricon.com
孙剑人物

孙剑,男,前微软亚研院首席研究员,现任北京旷视科技有限公司(Face++)首席科学家、旷视研究院院长 。自2002年以来在CVPR, ICCV, SIGGRAPH, PAMI等顶级学术会议和期刊上发表学术论文100余篇,两次获得CVPR最佳论文奖(2009, 2016)。孙剑博士带领的团队于2015年获得图像识别国际大赛五项冠军 (ImageNet分类,检测和定位,MS COCO 检测和分割) ,其团队开发出来的“深度残差网络”和“基于区域的快速物体检测”技术已经被广泛应用在学术和工业界。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

图像提取技术

图像提取包括图像的特征检测和特征提取过程。 特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 特征被检测后它可以从图像中被提取出来。这个过程可能需要许多图像处理的计算机。其结果被称为特征描述或者特征向量。 低层次的特征提取方法包括:边缘检测、角检测、区域检测、脊检测等,还有曲度检测以及运动检测。 高层次的特征提取方法包括:1.固定形状匹配方法如阈值、模板匹配和霍夫变换等;2.灵活变形分析方法。 进一步特征提取与降维有关,常用的降维技术有主成分分析法、独立成分分析法、等距特征映射等。

掩饰的基于区域的卷积神经网络技术

Mask R-CNN是一个概念上简单,灵活和通用的对象实例分割框架。 该方法能够高效地检测图像中的对象,同时为每个实例生成高质量的分割蒙版。 这种方法通过添加一个用于预测对象蒙版的分支来扩展R-CNN使之更快,该分支与现有的用于边界框识别的分支并行。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~