点击上方“CVer”,选择加"星标"置顶
重磅干货,第一时间送达
本文转载自:旷视研究生院
今天,我们介绍的是旷视研究院入选NeurIPS 2020的工作之一。近年来动态网络被广泛地探索并应用在图像分类任务中。动态网络可以在推断阶段,根据输入自适应地改变网络的连接方式。使得网络可以在相似的计算复杂度下获得更多的模型容量,从而实现高效率和高特征表达的并存。
本工作第一次将动态网络引入到目标检测任务中,并设计了基于细粒度动态网络的FPN head和新型的门控函数。从而实现了根据每个目标中不同的子区域(sub-regions)的特性分配不同FPN层级的特征。同时利用空间稀疏卷积,在达到更高检测性能的同时,显著地降低计算复杂度。
传统特征融合方式
回顾目标检测的发展历史,众多多尺度特征聚合的方法被提出。这些方法一般可以分为两大类。第一大类是基于人工设计的网络结构域,如图1中特征金字塔网络,其使用手工设计的流水线。另一大类是基于网络结构搜索(NAS),如图2中Auto-FPN,在预定义的搜索空间中,自动地搜索特征级的连接形式。如图3,上述方法以静态或固定的网络结构,推断不同的目标实例。这种方式导致它们只能对每个目标实例进行粗粒度的特征级融合,忽略了实例中不同子区域的特异属性。
图1 手工设计的特征金字塔网络
图2 网络结构搜索的特征融合网络
图3 传统方法采用粗粒度的特征级的聚合方式,忽略了目标内部不同区域间的区别
细粒度动态特征融合方式
因此,在这项工作中,我们引入了细粒度的动态路由机制来设计一个新的特征融合方式。如图4所示,与传统方式不同,本文提出的网络可以有条件地从多个FPN阶段中选择像素级子区域的组合,从而增强单个目标的特征表达能力。
图4 本文提出的网络示意图,图中只展示了一个FPN尺度下聚合过程
图5是本文提出的细粒度动态网络的总体架构。蓝色圆圈表示细粒度动态路由器,使用数据相关的空间门控,有条件地选择子区域进行连接。虚线箭头表示一个预定义的网络,用于变换所选子区域的特征。也就是说,根据输入子区域的不同,网络连接将发生改变。所以,提出的动态网络可以有更多的参数容量,并保持较低的计算复杂度。
图5 本文提出的动态网络架构图
为了实现该效果,如图6所示,我们使用空间稀疏卷积代替传统网络中的常规卷积,减少了空间上的计算量。此外,如下式所示,我们提出了一个新的门控激活函数,以实现完全端到端训练。
图6 子模块结构图
实验结果
为了验证该方法的有效性,我们将该方法应用于FCOS检测框架。与固定结构相比,本文的动态网络以较少的计算复杂度获得了持续的性能提升。
此外,表1中给出了在SOTA的检测器上的实验。在计算复杂度相近的情况下,动态网络可以容纳更多的模型容量,并取得了显著的性能提升。
表1 采用提出动态网络在各类框架下COCO val的性能效率表
下文中,我们对所提出的网络的各种设计选择进行了实验。为了简单起见,这里报告的所有结果都是基于ResNet-50骨干网,并在COCO val集上进行评估。当给定一个1333×800的输入图像时,计算出FLOPs。
动态与静态
表2:动态路由器不同设置的比较。'DY'表示路径选择的动态路由,默认为粗粒度。'FG'表示提出的细粒度像素-明智的路由。FLOPsavg , FLOPsmax和FLOPsmin代表网络的平均、最大和最小FLOPs。此外,'L'和'H'分别表示通过调整预算约束,计算复杂度不同的两种配置。
为了证明动态路由策略的有效性,我们给出了与固定架构的对比,在表2中, 为了公平比较,我们通过调整激活公式中预算约束的系数λ来调整计算复杂度与这些模型。结果表明,动态策略不仅可以降低计算开销,而且可以很大程度上提高性能。例如,我们的方法在平均计算复杂度较低的情况下,比静态基线获得了2.3%的绝对收益。
细粒度与粗粒度的比较
与大多数粗粒度动态网络不同,我们的方法是在像素级执行路由。为了比较,我们通过在每个空间门中的'Conv3×3'和门激活函数之间插入一个全局平均池化算子来构建一个粗粒度的动态网络。实验结果见表2, 我们发现,在相同的网络架构下,细粒度动态路由的上界高于粗粒度动态路由。而且,随着计算预算的降低,粗粒度动态路由的性能会急剧下降,这反映出大部分的计算冗余都在空间上。具体来说,细粒度的动态检测头比粗粒度的动态检测头实现了2.4%的mAP绝对增益,而计算复杂度只有87%。
模块组成分析
表3:基于FCOS-D8框架的不同激活函数之间的比较。由于动态检测网络的数据依赖性属性,我们在这里报告平均FLOPs。
为了揭示所提出的空间门的激活函数的特性,我们进一步比较了一些广泛使用的软路由的激活函数,在表3中, 当采用Softmax作为激活函数时,路由过程与注意机制相似。这意味着背景区域的硬抑制对于检测任务来说是很重要的。同时, 我们分别验证了所提出的 "深度 "路径和 "尺度 "路径与消融的有效性。通过使用这两种路径,性能可以进一步提高,这说明它们是相辅相成、相互促进的。
效率与效益的权衡
为了达到效率和效果的良好平衡,我们给出了改变预算约束的系数λ和head的深度比较,如图1所示。基线FCOS按网络深度进行缩放。空间的冗余使网络能够以较小的计算成本保持高性能。例如,当λ设置为0.4时,所提出的网络实现了与固定的FCOS-D6网络相似的性能,但只占计算成本的43%左右(包括骨干网)。特别是在不考虑骨干网的情况下,其计算成本只占FCOS-D6的19%左右。
论文题目:
Fine-Grained Dynamic Head for Object Detection
论文下载:
https://arxiv.org/abs/2012.03519
代码开源:
https://github.com/StevenGrove/DynamicHead
CV资源下载
后台回复:CVPR2020,即可下载代码开源的论文合集
后台回复:ECCV2020,即可下载代码开源的论文合集
后台回复:YOLO,即可下载YOLOv4论文和代码
后台回复:Trasnformer综述,即可下载两个最新的视觉Transformer综述PDF,肝起来!
重磅!CVer-目标检测交流群成立
扫码添加CVer助手,可申请加入CVer-目标检测方向 微信交流群,也可申请加入CVer大群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、Transformer、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,才能通过且邀请进群
▲长按加微信群
▲长按关注CVer公众号
整理不易,请给CVer点赞和在看!