查看原文
其他

CVPR 2021|面向目标检测的特征金字塔网络架构搜索方法OPANAS



Arxiv: https://arxiv.org/abs/2103.04507

Code: https://github.com/VDIGPKU/OPANAS


【导读】

本文是对发表于计算机视觉和模式识别领域的顶级会议 CVPR 2021的论文 “OPANAS: One-Shot Path Aggregation Network Architecture Search for Object Detection(面向目标检测的单步路径聚合网络架构搜索方法)”的解读。


该论文由北京大学王勇涛课题组与纽约大学石溪分校等单位合作完成,针对目标检测器的脖颈网络(即特征金字塔网络)部件,设计了一种高效的神经网络架构搜索算法。


实验证明,该论文提出的搜索方法比现有目标检测网络架构搜索方法更为高效,仅需4 GPU天即可完成搜索,且搜索得到的脖颈网络架构能适配多种主流检测器(包括RetinaNet、Faster R-CNN和Cascade R-CNN)、在MS COCO基准数据集上可显著提高检测精度2.3~3.2% AP,同时降低了模型参数量和推理时延。


1

背景介绍


目标检测是计算机视觉的基础任务之一,其目的是确定图像中是否存在特定类别的物体实例,如果存在,则返回每个实例的空间位置和类别。目标检测需要解决以下两个子问题:1)物体在哪里;2)是什么类型的物体。


作为图像理解和计算机视觉的基石,目标检测是许多高级视觉任务(如实例分割,场景理解,物体跟踪,事件检测和行为识别等)的基础。在日常生活中,目标检测应用非常广泛,例如自动驾驶、机器人视觉、人机交互、基于内容的图像检索、智能视频监控和增强现实等。随着深度学习的兴起和广泛应用,当前主流的目标检测方法都基于深度学习,其网络架构一般包含如下三个部件:主干网络(用于从输入图像中提取基础特征,通常使用面向分类任务的网络设计并在ImageNet上进行预训练),脖颈网络(将主干网络提取的基础特征进一步加工为多尺度特征),和检测器头(用于物体位置和分类信息预测,即对多尺度特征解码出物体的外包围框和类别)。

2

回顾NAS和目标检测


识别不同尺度的物体一直是目标检测任务的主要挑战之一,最直观的解决方法是使用CNN提出多尺度特征(特征金字塔)进行目标检测。主干网络每一个层级(stage)所提取的特征(一般称为基础特征)天然地是多尺度的,可以用来构造特征金字塔进行目标检测。但是由于高层基础特征具有更多的语义信息且分辨率较低,低层基础特征拥有更多的细节信息且分辨率较高,这样的语义差距和分辨率差距无法为多尺度目标检测提供良好的特征表达。为了缓解这种差距,研究者提出了不同的特征融合策略,其中特征金字塔网络 Feature Pyramid Network (FPN) 是应用最广泛的脖颈网络,并派生出许多变体。如图1.(a)和图2.(a)所示,对于来自主干网络的多尺度基础特征,它通过自顶向下的方式依次融合两个相邻层的特征。通常,这种单一的特征融合方式也被称为信息路径(information path)。通过这样的信息路径设计,低层特征得到了高层特征的语义信息补充。尽管简单而有效,这种自顶向下的FPN架构并不是最优的,大量的后续工作对其进行了改进,先后采用了两类技术路线:基于手工设计和基于神经网络架构搜索(Neural Architecture Search, NAS)。



图1 现有手动设计的代表性脖颈网络架构和本研究搜索得到的最优架构:(a) FPN, (b)PANet, (c) Libra R-CNN, (d) SEPC-Neck, (e) Bi-FPN,(f) 本文搜索方法得到的OPA-FPN

2.1

基于手工设计的

特征金字塔网络




现有的手工设计的脖颈网络通常在FPN的基础上引入额外的信息路径,采用两种或三种类型的信息路径。如图1.(b)所示,PANet在原FPN自顶向下的路径之后引入了一个自底而上的路径,而Libra R-CNN采用了非局部模块(Non-Local)来融合FPN产生的特征,然后将融合后的特征转变成多尺度金字塔特征。Multi-level FPN首先融合了主干网络的特征作为基础特征,然后引入多个U型模块来提取多级金字塔特征。SEPC在FPN后面堆叠了4个尺度均衡模块,以增强不同尺度特征之间的相关性。最近,BiFPN先设计了一个PANet的简化版本,再将其与残差链接重复堆叠。


总体而言,以上这些脖颈网络架构有较强的局限性:最多只能聚合三种信息路径且拓扑结构较为简单。

2.2

基于神经网络架构搜索的

特征金字塔网络


近两年来,神经网络架构搜索(NAS)方法被用来针对特定检测器搜索合适的脖颈网络架构。NAS-FPN、NAS-FCOS和SpineNet使用强化学习来控制架构采样并获得了不错的结果。SM-NAS使用进化算法和部分顺序修剪方法来搜索检测器不同部件的最佳组合。这些NAS方法取得了不错的结果,但是搜索代价非常大。Auto-FPN,Hit-Detector使用基于梯度的方法来搜索脖颈网络架构,极大地降低了搜索代价。但是,基于梯度的方法在优化过程中容易陷入局部极小值,效果难以保障。


总体而言,当前基于神经网络架构搜索得到的脖颈网络架构已经取得了超越人工设计架构的实验结果,但仍有以下限制:(1)效率低下,以逐层操作作为搜索单元(单尺度特征作为节点)导致搜索空间巨大,从而使得搜索过程计算成本高昂;(2)适应性弱,搜索的架构专门针对某些需要特殊训练条件和技巧的检测器(如大批量或更长的训练时间),对现有的常用检测器框架兼容性不好。


3

方法概览

本文针对目标检测中的脖颈网络部分,使用神经网络架构搜索技术,结合手工设计的单信息路径特征金字塔网络,采用单步搜索方法(One Shot)自动搜索新颖的特征金字塔网络架构。具体地,提出了多路径聚合网络架构单步搜索方法(One-Shot Path Aggregation Network Architecture Search,OPANAS),搜索到的最优特征金字塔网络架构OPA-FPN(见图 1.f)用于多尺度特征提取,提高了目标检测器的精度。

3.1

信息路径



图2 本研究所采用的6种基本信息路径

与现有搜索空间以单一操作(卷积、池化)等作为搜索单元不同,本文结合现有手工设计的单信息路径特征金字塔网络,以基本信息路径作为搜索单元。如图1所示,与现有手动设计脖颈网络架构不同,我们的搜索目标拥有更复杂的拓扑结构和更多种类的信息路径组合。


具体地,我们使用的6种基本信息路径如下:

自顶向下信息路径: 如图2.a, 该路径按自顶向下的顺序生成特征金字塔。

自底向上信息路径:如图2.b, 该路径按自底向上的顺序生成特征金字塔。

尺度平衡信息路径:如图2.c, 该路径按相邻特征共享卷积的方式生成特征金字塔。

融合拆分信息路径:如图2.d, 该路径首先组合了较高级别和较低级别的输入特征,然后将组合的特征拆分为多尺度特征从而生成特征金字塔。

残差连接信息路径:如图2.e, 该路径起恒等变换的作用,将输入特征金字塔直接映射到输出。

空信息路径:如图2.f, 该路径起到了消除冗余信息路径的作用。

3.2

单步搜索



图3 (1) SPOS超网架构;(2) 研究提出的OPANAS超网架构: (a)单步超网训练, (b)搜索过程, (c)搜索结果

基于上述6种基本信息路径,我们首先构造了一个超网(Super-net),该超网是一个全连接的有向无环多图,有N+2个节点(包括输入节点P和输出节点O),N表示中间节点数量。其中,每个节点代表一个特征金字塔,两个节点之间有6条边,分别代表6种基本信息路径。当每两个节点之间只采样一条边,构成一个子网络,所有子网络构成搜索空间。不同的子网络代表了不同的基本信息路径聚合方式,搜索空间中表现最优的子网络就是本研究的搜索目标:多路径聚合特征金字塔网络OPA-FPN。每一个子网络是一个有向无环图,每两个节点(节点i和节点j)之间有1条边IP(i, j),表示某一种信息路径,所有中间节点等于前面所有节点经特定信息路径增强后的特征和。


在本研究中,我们将N设置为5,保障了搜索空间的复杂度。

我们的单步搜索方法包括两个如下两个步骤:(a)超网训练,(b)最优子网络搜索。

(a)    超网训练:每次数据迭代采样K个子网络,并使这K个子网络同一位置边上的信息路径类别不重复,从而对所有有参数的备选信息路径进行公平训练。本研究中,K设置为4(对应于四种有参数的基本信息路径)。同时,我们在训练时给每条边引入了一个权重γ(i,j),以表示节点i和节点j之间边的重要性。在子网络中,每一个中间节点加权融合来自所有前向节点的输。权重γ(i,j)通过一阶正则化和超网一起优化。

(b)   最优子网络搜索:通过从训练得到的超网中直接继承权重,可直接对子网络在验证集上做精度测试进行质量评估。我们通过遗传算法迭代多次搜索到精度最高的子网络,即多路径聚合特征金字塔网络OPA-FPN。


4

实验结论

我们在通用目标检测国际权威评测基准 MS COCO上进行了实验。如表1所示,搜索得到的OPA-FPN在一阶检测器(RetinaNet ResNet50)和二阶检测器(Faster R-CNN ResNet50, Cascade R-CNN ResNet50)上,通过调整脖颈网络和检测器头的通道数,以更低的计算复杂度和更少的参数量全面提升检测器的精度,超越所有手动设计的脖颈网络架构(FPN, PAFPN,Balanced FPN, SEPC-Neck。

表1 搜索到最优架构OPA-FPN在不同基准检测器上的提升效果(MS COCO验证集)结果


表2不同搜索方法的搜索开销和最优架构在COCO验证集上的对比结果

如表2所示,我们进一步将本文的单步搜索方法与更多现有的NAS方法进行比较,包括:(a)随机搜索;(b) SPOS;(c)DARTS;(d) Fair DARTS。除(b)采用图3.1的单信息路径搜索空间以外,其他方法都采用图3.2的搜索空间。与现有NAS方法相比,我们的方法可以用更少或相同的搜索代价找到更好的架构。以上结果证明了本文搜索方法的高效性。


表3搜索到的最优架构与当前性能最优的检测器在COCO测试集上的对比结果

我们将搜索到的的OPA-FPN与当前性能最优的一些检测器进行比较,包括基于手工设计的检测器:EfficientDet,和基于NAS的检测器:SM-NAS,SP-NAS, SpineNet, NAS-FPN和Auto-FPN。如表3所示,与这些方法取得的最优结果相比,我们的方法在参数数量,准确性和速度方面均取得了非常有竞争力的结果,显著提升了目标检测器的效率和精度。


5

总结

本文针对目标检测任务,设计了一种高效的神经网络架构搜索算法,其搜索到的脖颈网络能够适应多种主流检测器,在降低检测器参数量和计算量的同时大幅提高了检测精度。此外,与现有其它搜索方法相比,本文提出的搜索方法搜索代价更小且搜索到的脖颈网络表现更优。

—   版权声明  —

本微信公众号刊载的所有内容,由北京大学王选计算机研究所自身创作、收集的文字、图片和音视频资料,版权属于北京大学王选计算机研究所所有。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存