概述
关注公众号,发现CV技术之美
▊ 写在前面
近年来,大量手工设计和基于搜索的网络被用于语义分割。然而,以前的工作(如FCN、U-Net和DeepLab系列)希望在预定义的静态网络结构中处理不同规模的输入。在本文中,作者研究了一种缓解语义表示中尺度差异的新方法——动态路由(dynamic routing) ,该方法根据图像的尺度分布,来生成与数据相关的路由。
为此,作者提出了一种可微的方法用于动态选择尺度变换的路径,称为软条件门(Soft Conditional Gate) 。通过在训练时给 gating function预算约束,网络能以端到端的方式进一步降低计算成本。
此外,作者还进一步放宽了网络的路由空间,以支持多路径传播,并在每个前向传播中加入了skip-connection,从而带来更大的网络容量。为了证明动态网络的优越性,作者对比了几种静态结构,发现它们可以作为路由空间中的特殊情况进行建模。在Cityscapes和PASCAL VOC 2012上进行的大量实验证明了动态网络框架的有效性。
▊ 1. 论文和代码地址
Learning Dynamic Routing for Semantic Segmentation
论文地址:https://arxiv.org/abs/2003.10401
代码地址:https://github.com/Megvii-BaseDetection/DynamicRouting
▊ 2. Motivation
语义分割是计算机视觉领域中最基本但最具挑战性的任务之一,其目的是为每个像素分配语义类别。语义分割中的一个问题来自输入物体之间的巨大尺寸差异。此外,较大的分布方差给特征表示和关系建模带来了困难。传统的方法试图通过精心设计的网络结构或者NAS的方法来解决这个问题。
然而,无论是传统的人工设计的网络还是基于NAS的网络,都希望在一个单一的网络结构中表示所有实例,这缺乏对现实环境中不同尺度分布的适应性。上图给出了一个示例,其中实例的尺度变化很大。为此,需要一个更灵活的网络来适应每个图像的尺度变化。
在本文中,作者提出了一个用于语义分割的动态网络框架,称为动态路由(Dynamic Routing) 。在推理过程中,动态路由能够生成与数据相关的路径,这意味着特定的网络结构随输入而变化。
通过这种方法,具有不同尺度的实例可以分配到相应的分辨率模块。如上图所示,具有不同尺度分布的输入图像将选择不同的路径进行特征变换。本文研究侧重于语义表征,旨在克服尺度的差异,提高网络效率。
在动态路由方面,作者设计了一种依赖于输入数据的门,称为软条件门(soft conditional gate) ,用于根据输入图像选择每条路径。通过提出的路由门,每个基本单元以及分辨率转换路径都可以基于每个数据样本来单独考虑。
因此,所提出的路由门构造成了一个可微模块,用于端到端优化。考虑到有限的计算预算(例如,FLOPs),贡献较小的单元将被动态丢弃。
动态路由可以很容易地实现基于输入样本的语义分割。作者在两个公开数据集(Cityscapes和PASCAL VOC 2012)上进行了实验,通过简单的尺度转换模块,本文提出的动态路由实现了与SOTA方法相当的结果,但消耗的计算资源要少得多。
▊ 3. 方法
与静态网络体系结构相比,动态路由在网络容量和性能上具有优势,并且在相同资源消耗的情况下具有更高的性能。在本节中,作者首先介绍了设计的路由空间。然后,阐述了动态路由框架和结构细节。
3.1. Routing Space
本文的模型结构如上图所示,按照网络设计中的常见做法,网络的起点是一个固定的3层“STEM”块 ,将分辨率降低到1/4。然后,作者为动态路由设计了一个带有L层的空间,称为路由空间 。在路由空间中,相邻cell之间的比例因子被限制为2。因此,最小尺度设置为1/32。
在这些约束条件下,每个层中的候选数量最多为4个,即1/4,1/8,1/16和1/32。每个候选模块中最多有3条尺度变换路径,即上采样 、保持分辨率 和下采样 。在每个候选模块中,cell用于特征聚合,而gate用于路径选择。逐层向上采样模块被固定在网络末端,用于生成预测。
与Auto-DeepLab中每个节点只选择一条特定路径不同,在推理阶段,本文的动态路由进一步放宽了路由空间,以支持多路径路由。有了更通用的空间,许多流行的静态结构都可以表示为本文方法的特殊情况,如下图所示:
3.2. Routing Process
给定多个节点的路由空间,作者在每个节点内分别采用一个celll和一个对应的gate来聚合多尺度特征,以及进行路由路径的选择。给定上一层不同尺度的输出,第层的输入可以表示为,聚合的输入将用于在Cell和Gate内部进行特征转换。
3.2.1 Cell Operation
在Cell中,对于输入,作者使用卷积和残差连接,其中,隐藏状态可以表示为:
其中,代表操作集合,包括了卷积和残差连接。然后根据激活因子,生成的特征会变换到不同的尺度。
3.2.2 Soft Conditional Gate
每条路径的路由概率由Gate函数生成,作者在Gate函数采用了轻量级的卷积来学习一个基于输入的向量:
其中,代表卷积操作,代表ReLU激活函数,和分别代表BatchNorm和GlobalPooling。代表了卷积的参数。为了获得每条路径的概率,作者对得到的特征采用了激活函数:
因此,激活因子可通过计算得到,其值域为。当时,那么尺度到的路径将会被关闭;否则,路径保留。
利用所提出的激活函数δ,训练过程中的到的尺度变化可以表示为:
其中,表示s到j的尺度变化,通过激活因子,只要路径被保留,就可以在反向传播过程中进行端到端的优化。
在推理阶段中,如果所有路径被关闭,则会删除对应Cell中的操作以减少计算的占用,表示为:
3.3. Budget Constraint
考虑到现实世界中有限的计算资源,作者在训练过程中也考虑了预算约束,以实现高效的动态路由。第l层尺度s的计算量可以表示如下:
其中分别表示Cells、Gate和Scale Transform的操作。整个路由空间的期望计算成本可以表示为:
然后,作者将期望的计算成本加入到损失函数,来进行端到端的优化,如下所示:
其中表示整个路由空间的实际计算成本,µ表示衰减系数。通过使用不同的µ,每次传播中选择的路由将自适应地限制到相应的预算。
网络权重以及soft conditional gate可以在统一的框架内通过联合损失函数进行优化,联合损失函数如下:
其中和分别表示目标任务的损失函数和限制计算资源的损失函数。λ和λ分别用于平衡网络预测和计算成本的优化过程。
▊ 4.实验
4.1. Dynamic Routing
基于不同的计算量,作者提出三个动态路由的变体A,B,C,如上图所示,相比于静态网络,本文的方法有显著的性能性能提升。
上图展示了Common-A,Common-B,Common-C的结构,可以看出,这些结构与目前手工设计的网络具有很大的相似性。
4.2. Component-wise Analysis
4.2.1. Cell Component
上表展示了Cell中不同的操作,可以看出,用两个SepConv3×3可以达到最好的性能。
4.2.2. Activation Function
上表展示了不同激活函数的实验结果,可以看出,采用可以达到最好的实验结果。
4.2.3. Resource Budgets
作者还采用了不同的和,来控制模型的计算量。变体网络A、B、C的超参、参数和性能如上表所示。
上图给出了不同网络变体的路由激活概率分布。
4.3. Experiments on Cityscapes
上表展示了Cityscapes数据集上,静态网络和动态网络的性能对比,可以看出动态网络有明显的性能优势。
在上表中,作者展示了SOTA方法和本文方法的对比,可以看出本文方法可以在更少的计算量下,达到更高的性能。
4.4. Experiments on PASCAL VOC
上表展示了 PASCAL VOC 2012数据集上,本文方法和SOTA方法的结果对比,可以看出本文方法的有效性。
▊ 5. 总结
在这项工作中,作者提出了一个用于语义分割的动态路由(dynamic routing) 网络,与以前的工作的主要区别在于,本文的方法根据每个图像的尺度分布生成与输入数据相关的前向路径。
为此,作者提出了软条件门(soft conditional gate) 以端到端的方式选择尺度转换的路径,在给定资源预算的情况下,软条件门将学会放弃那些没用的尺度以提高计算效率。
在本文中,作者进行了大量的消融实验,以证明动态网络相对于几种静态架构的优越性。此外,在Cityscapes和PASCAL VOC 2012上的实验也证明了该方法的有效性,该方法的性能与现有SOTA方法相当,但占用的计算资源要少得多。
▊ 作者简介
研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。
知乎/公众号:FightingCV
END
欢迎加入「语义分割」交流群????备注:分割
最后
以上就是欣慰发带为你收集整理的Dynamic Routing-中科院&西交&旷视(孙剑团队)提出用于语义分割的动态路由网络,精确感知多尺度目标,代码已开源!...的全部内容,希望文章能够帮你解决Dynamic Routing-中科院&西交&旷视(孙剑团队)提出用于语义分割的动态路由网络,精确感知多尺度目标,代码已开源!...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复