BiSeNet的复仇:高效的多任务图像分割
- 摘要
- Introduction
- [Related Works](#Related Works)
- BiSeNetFormer
he revenge of BiSeNet: Efficient Multi-Task Image Segmentation
摘要
近期在图像分割领域的进展主要集中在提高模型的效率,以满足实时应用的需求,特别是在边缘设备上。
然而,现有的研究主要集中于单任务设置,尤其是语义分割,这导致了针对不同任务产生重复劳动和专业架构。
为了克服这一限制,作者提出了一种新颖的高效多任务图像分割架构,能够在不牺牲效率或准确性的情况下处理各种分割任务。
作者引入了BiSeNetFormer,它利用了两流语义分割架构的效率,并将其扩展为一种 Mask 分类框架。
作者的方法保持了高效的空间和上下文路径,分别捕捉详细和语义信息,同时利用基于变换的高效分割头计算二值 Mask 和类别概率。
BiSeNetFormer无缝支持多个任务,即语义分割和全景分割,为多任务分割提供了一个通用的解决方案。
作者在流行的数据集Cityscapes和ADE20K上评估了作者的方法,展示了令人印象深刻的推理速度,同时与最先进的架构相比保持了竞争力。作者的结果表明,BiSeNetFormer代表了向快速、高效和多任务分割网络的重大进步,弥合了模型效率与任务适应性的差距。
Introduction
在计算机视觉中,图像分割是一项基本任务,其目标是为图像中的每个像素分配一个类别。图像分割可以分为几种不同的场景。语义分割关注于为每个像素分配类别标签(例如,道路或行人)。实例分割在语义分割的基础上增加了区分同一可数类别("物体")不同实例的能力,但它不考虑不可数元素("物质"),如道路或草地。最后,全景分割试图保留这两种设置的优势,既提供"物体"的实例分割,同时也分割"物质"类别。
图1:BiSeNetFormer 与现有方法相比,在性能上可与之持平或更优,同时是图像分割中最快的多任务架构。
分割模型的多样性使得它们对于各种下游任务至关重要,这些任务涵盖了自动驾驶汽车、自主机器人、增强现实和监控等。
由于这些应用需要快速的推理速度和低延迟,特别是在边缘设备上,过去十年中人们越来越关注在保持模型准确性的同时提高图像分割网络的效率。然而,尽管不同的图像分割任务之间存在相似性,传统的做法却是针对每种设置沿不同方向发展,提供只能在特定设计场景下运行的优化架构,这成倍增加了研究工作的力度。
因此,近来,越来越多的关注投入到提高架构能力上,不仅限于单任务设置,而是使能多任务图像分割。特别是,MaskFormer [6] 提出了一个名为 Mask 分类的新分割范例,能够无缝地处理所有不同的图像分割任务。然而,现有的 Mask 分类模型依赖于计算密集型的模块,阻碍了实时性能。尽管这个方向为创建无需修改即可在推理速度和多任务适应性方面表现卓越的网络提供了有希望的途径,但开发用于分割的多任务高效模型仍然是一个高度未被充分探索的主题。
为了实现这一目标,作者讨论了两种截然不同的策略。第一种是优化 Mask 分类网络的效率。通过采用定制化的架构改进,即使直接从 Mask 分类方法出发,也能实现实时性能,正如YOSO [17] 和 PEM [2] 所展示的成功,它们显著加快了MaskFormer [6] 的速度,同时在其准确度上也有所提高。
第二种策略则从相反的方向着手问题,寻求在基于 Mask 的框架内重新设计本质上高效的双流语义分割模型。作者认为,由于这些架构本质上比原始的MaskFormer [6] 更加注重效率,按照第一种直觉工作将提升模型的准确度而非效率;而第二种策略则更多地提升了效率,正如图1中清晰所示。
为了提供最快的用于图像分割的多任务架构,在本文中,作者遵循第二种方法,研究了一个可靠的技术解决方案,在 Mask 分类框架内重新思考双流架构。以此为目标,在流行的双流语义分割架构的基础上,作者提出了BiSeNetFormer。它保持了高效的双流设计:空间路径从图像中提取高分辨率低级细节,而上下文路径生成高度语义化的视觉特征。为了执行 Mask 分类,作者采用了一个 Transformer 解码器组件,该组件有效地利用低分辨率上下文路径特征计算一组分割嵌入。这些嵌入随后被用于计算一组由二进制 Mask 及其相应类别概率组成的配对,这些配对构成了分割输出。得益于其设计,BiSeNetFormer无缝支持多种任务,如语义分割和全景分割。
作者评估了BiSeNetFormer在两项任务上的表现,这两个任务是基于两个流行数据集:Cityscapes [8] 和 ADE20K [30]。在比较推理速度和准确度时,作者将作者的架构与最先进的多任务和特定任务模型进行了对比。BiSeNetFormer在所有基准测试中均实现了令人印象深刻的速度,同时其表现与特定任务网络以及速度较慢的多任务架构相比拟。此外,作者还使用低端GPU(NVIDIA T4)和边缘设备(NVIDIA Jetson Orin)进行了测试。值得注意的是,即便在资源受限的硬件上,作者的方法也能保持一致的推理速度,这证实了其适合于现实世界的部署。
作者的论文贡献如下:
作者提出了BiSeNetFormer,它重新设计了高效的双分支语义分割架构,以执行多个分割任务。
作者通过广泛的实验验证表明,BiSeNetFormer在展现出卓越的推理速度(高达100 FPS)的同时,还能获得与现有较慢的多任务架构接近的性能。
Related Works
图像分割。计算机视觉领域的最新进展旨在开发能够处理多种图像分割任务而无需对损失函数或组件进行修改的架构。DETR [1] 开创了这种方法,通过基于 Mask 分类的端到端集合预测框架,成功实现了目标检测和全景分割。在此基础上,MaskFormer [6] 提出了一种基于 Mask 分类方法的专用架构,为语义分割和全景分割建立了新的基准。Mask2Former [7] 进一步提高了结果和收敛速度,相较于通用目的和特定任务架构均取得了更优性能。最近,kMaX-DeepLab [29] 通过 k-均值聚类操作探索了传统注意力机制的替代方法。尽管这些创新在多任务分割方面推动了显著改进,但这些模型的资源密集型特性对于在计算能力有限的边缘设备上进行实际部署构成了重大障碍。
高效图像分割。人们已经投入了大量努力来减少图像分割模型的计算需求,导致了适合实时部署的高效架构。然而,这些努力主要针对为单一分割任务量身定制的专业架构。在语义分割中,BiSeNet [27]提出了一种双分支模型,分别处理上下文信息和空间细节,然后通过一个专门的模块将它们融合在一起以产生预测。STDC [12]进一步基于BiSeNet提出了一个更高效的架构,通过减少冗余的建筑组件。DDRNet [14]在两个分支之间引入了双边连接,从而实现了更有效的信息融合。PIDNet [26]通过三分支设计扩展了这一框架,以改进目标边界检测。
像UPSNet [25]这样的全景分割方法将实例和分割预测合并以产生全景输出,而FP-SNet [9]则专注于基于注意力的 Mask 合并。其他技术通过点或框进行目标定位[5, 13, 15]。YOSO [17]最近展示了一种基于高效 Transformer 的方法,用于"事物"和"材料" Mask 预测。尽管这些专业解决方案在其领域内表现出色,但它们针对特定任务的性质碎片化了研究努力。PEM [2]通过为语义和全景分割提出实时架构来解决这个问题。尽管PEM [2]和YOSO [17]在性能和速度之间提供了有价值的折衷,但它们的推理速度与专业架构之间仍然存在很大差距。相比之下,这项工作展示了一个高度高效的网络,它在保持跨多个图像分割任务操作灵活性的同时优先考虑速度。作者的方法旨在超越现有的专业架构在效率方面,解决任务特定和最近的多任务解决方案的局限性。
BiSeNetFormer
语义分割双流架构在性能和速度方面表现出色。然而,它们的设计在扩展到语义分割之外的任务时存在障碍。核心限制在于逐像素分类头,由于其静态的输出结构(即:一组固定的输出类别)以及无法预测可变实例数量,其本质上只能执行语义分割。为了解决这个问题,作者提出了BiSeNetFormer,这是一种将双分支架构适配于 Mask 分类的新方案,使它们能够处理多种分割任务,例如:语义分割和全景分割。以下内容中,作者首先回顾 Mask 分类如何用于分割,然后详细描述作者的解决方案。
Mask-classification Framework
最近,MaskFormer [6]提出了一种在图像分割领域的范式转变,将所有不同的分割任务统在一种单一的方法下,这种方法被称为Mask分类。这个想法是将分割分为两个步骤:(1)将图像划分为N个不同的片段(其中N可能不同于类别的数量),(2)为每个片段关联一个类别标签。基于Mask方法的主要优点之一是它们的灵活性,允许它们无缝地解决不同的分割任务,因为相同的类别可以与可变数量的Mask 相关联。形式上,对于一个图像
l ∈R3×HxW, Mask分类头输出一组N个二进制Mask M ∈ {0,1}N*×HxW,每个Mask都关联有一个概率分布p; ∈AK+1,其中(H,W)是图像的高度和宽度,K+1是类别的数量,加上一个额外的"无目标"类别。
BiSeNetFormer architecture
图2:展示了BiSeNetFormer的架构,其中突出了三个主要组成部分:空间路径(黄色)、上下文路径(紫色)和 Transformer 解码器(红色)。空间路径从输入图像中提取高分辨率特征;上下文路径扩大了感受野并获得了高度语义化的视觉特征; Transformer 解码器以一组可学习的 Query 和高分辨率特征作为输入,生成片段嵌入。然后,分割头合并空间路径和上下文路径特征,并计算最终的二值 Mask 和类别概率。
虽然最初的面部遮挡分类模型实现提供了令人印象深刻的性能,但它们的结构设计往往依赖于计算密集型模块。这种设计选择强烈限制了它们适用于实时应用以及在资源受限的边缘设备上部署的适宜性,在这些环境中处理速度至关重要。更近期的作品[2, 17]试图解决这个效率瓶颈,实现了性能的提升和效率的增加。然而,用于在[2, 17]中提高模型效率的设计选择仍然倾向于提高准确性而非计算需求,这在实验上导致推理速度受限。
相比之下,作者提出了一种双流架构,该架构在优先考虑推理速度的同时融合了 Mask 分类能力,将多任务架构的效率推向了前所未有的水平。作者的解决方案由一个受BiSeNet [27]启发的_Spatial Path_(空间路径)和一个_Context Path_(上下文路径)组成,随后是一个基于 Transformer 的分割头[7]来计算输出的二值 Mask 和类别概率。整体架构如图2所示。
空间路径。_空间路径_负责保留图像的空间信息,从而实现精确的分割 Mask。输入图像按顺序进行处理,逐渐将空间分辨率降低到初始图像尺寸的,。如先前的研究所确认,是在模型准确性和速度之间提供了很好的权衡。从形式上讲,空间路径接收一个图像Ⅰ作为输入,并生成一个高分辨率特征 FSP∈RC×梦×节。
上下文路径。相反,上下文路径通过提供更广泛的上下文信息来丰富每个像素的表示。为此,这个模块旨在扩大感受野,同时避免计算需求的过度增加。特别是,它首先提取两个低分辨率特征F和F,分别是原始图像的盖和青。这样的特征编码了高级语义信息,这对于正确地上下文化每个像素至关重要。随后在F1上应用全局平均池化来提取编码全局场景理解的特征。然后,将这些特征重新组合并上采样,以获得具有相关语义信息的高分辨率表示。
正式地,上下文路径输出三个特征FY,FS,FS",其分辨率分别等于原始图像的g,16,和,。它们计算如下:
FP= ARM(F1)+GAP(F1),FEP= ARM(F2)+Up(FFP),(2)FSP = Up(FSP),
其中GAP表示全局平均池化层,Up表示上采样操作,而ARM指的是在[27]中提出的注意力细化模块。
Transformer解码器。Transformer解码器的目标是生成N个片段嵌入∈ RND,这些嵌入被用于计算最终的二进制Mask和概率分布。为了获得有利的分割结果,片段嵌入应当适当地编码图像中存在的类(或实例)的表示。因此,它们是通过用来自上下文路径的多尺度特征FP和FSP来细化一组N个可学习Query Q ∈RN×"来计算的。
为了迭代地细化 Query ,作者使用了一系列Mask2Former [7] 变换块。这个块策略性地集成了 Mask 的交叉注意力(MCAs)、自注意力(SAs)和前馈网络(FFNs)。 Mask 的交叉注意力选择性地将每个 Query 与从上下文路径提取的相关图像特征对齐。自注意力允许 Query 之间进行交互并学习彼此之间的上下文关系,从而提高学习到的表示。最后,FFN是一个2层的前馈网络,用于引入额外的非线性,以识别复杂的模式。形式上,给定前一个阶段的 Query 和一个上下文路径特征 ,变换块计算以下操作:
= MCA(Q;-1,FGP,M;-1)+Qi-1,Q"=SA(Q%)+Q', (5)=FFN(Q")+Q' ,
其中M;-1是从上一解码层的二值化输出获得的二值Mask,类似于[7]中的方法。
作者依次将这个Transformer块在多尺度特征FFP和FSP上应用L次。作者将Q视为最后一个Transformer块的输出Query。请注意,为了优先考虑计算效率,作者将Mask交叉关注限制在FYP和FEP上,避免使用最高分辨率特征FSP,这会引起持续更大的计算开销。
分割头。分割头的目标是生成最终的预测,即一系列与每个类别概率相关联的二值Mask 。
类别的概率{P; ∈ AK+1}是通过应用一个分类层直接获得的,该分类层用参数
Wcs ∈RDxK+1对每个段嵌入Q进行处理,并接着使用softmax激活函数。正式地,将第i个嵌入表示为Q,,作者计算如下:
Pisoftmax(Q,- WCLs).
为了获得最终的二值分割Mask,需要采用两步过程。首先,融合来自空间(FSP)和上下文(F P)路径的高分辨率特征;然后,作者将得到的特征图与片段嵌入Q相乘以生成最终预测。来自空间和上下文路径的特征融合是一个关键点,因为前者关注低级视觉细节,而后者提取高级语义概念。融合操作遵循[27]并采用特征融合模块(FFM)。它首先将FSP和FCP进行拼接,以获得同时保留空间和上下文信息的特征。然后,为了得到最终的输出特征F ∈ RC×兴×业,采用了类似于SENet [16]的重新加权策略来促进特征选择和组合。正式地,作者计算
Fcat = CONCAT(FSP,FEP), Fcat=CONV3x3(Fcat),(9)
Fag = sigmoid(FFN(GAP(Feat))),(10)F =Fcat * Farg + Fcat,
其中CONCAT是一个拼接操作,CONVg×3是一个3×3卷积,之后接ReLU和批量归一化,GAP是一个全局平均池化算子,FFN是一个两层ReLU前馈网络,之后接一个sigmoid函数,而表示广播逐元素乘法。
最后,将特征与段嵌入◎结合起来以获得最终的二值Mask。首先,一个具有两层隐藏层的前馈网络将段嵌入转换为Ⅳ个Mask嵌入M ∈ RN C,它们具有与F相同的通道维度C。然后,通过特征与嵌入之间的点积得到二值Mask,之后使用sigmoid激活函数。形式上,输出 Mask m中由(h, w)标识的像素计算如下: