实例分割新SOTA!FastInst:激发query的强大潜力(CVPR23)

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

今天自动驾驶之心很荣幸邀请到Wrysunny,为大家解读CVPR2023最新的实例分割算法FastInst!如果您有相关工作需要分享,请在文末联系我们!

>>点击进入→自动驾驶之心【实例分割】技术交流群

后台回复【分割综述】获取语义分割、实例分割、全景分割、弱监督分割等超全学习资料!

03eaa077b4521ef002dc5806b32e43b3.png

标题:FastInst: A Simple Query-Based Model for Real-Time Instance Segmentation

Paper:  https://arxiv.org/pdf/2303.08594.pdf

Code:  https://github.com/junjiehe96/FastInst

导读

最近的一些方法对实例分割的关注主要集中在基于 query 的模型上。虽然非极大值抑制 (NMS) 和端到端的模型,但是这些模型在高精度实时基准上测试的性能并没有很好。为此,本文提出了 FastInst,一个简单、有效的基于 query 的实时实例分割框架, 展示了基于 query 的模型也能在高效实例分割算法设计方面的强大潜力。

FastInst 可以以实时速度( 32.5 FPS)运行,同时在 COCO test-dev 上产生超过 40 的 AP( 40.5 AP)。它遵循最近提出的 Mask2Formermeta 架构。其关键设计包括 instance activation-guided queries、双路径更新策略和 ground truth mask-guided learning,实现了使用更轻的 pixel decoders 、更少的 Transformer 解码器层,同时获得更好的性能。实验表明,FastInst 在速度和准确性方面优于大多数最先进的实时模型,包括强大的全卷积baselines

论文思路分析

实例分割旨在分割图像中所有感兴趣的对象。其中,Mask R-CNN 等主流方法遵循先检测而后分割的设计。尽管简单直观,但这些方法会生成大量重复的 region proposals,造成冗余,增加了计算成本。为了提高其效率,出现了许多建立在全卷积网络 (FCN) 上的单阶段方法,不需要生成 region proposals,而是端到端地分割对象。这种方法提高了推理速度,尤其是在实时场景中。但是,密集的预测,导致传统的单阶段方法仍然依赖于手动设计的后处理步骤,如非极大值抑制 NMS

随着 DETR 在目标检测方向的成功,基于 query  的单阶段实例分割方法应运而生。它不使用卷积,而是利用多功能且强大的注意力机制结合一系列可学习的 query  来推断目标类别和分割的 mask。例如,Mask2Former 通过在主干之上添加像素解码器和掩蔽注意力变换器解码器来简化实例分割的工作流程。与以前的方法不同,Mask2Former 不需要额外的手工设计部分,例如训练目标的分配和 NMS 后处理。这简化了步骤,但 Mask2Former 也有其自身的问题:(1)它需要大量的解码器层来解码目标的 query  ,因为它的 query  是静态学习的,需要一个漫长的过程来进行更新;(2) 它依赖于一个重像素解码器,例如多尺度可变形注意力转换器 ( MSDeformAttn ),因为它的目标分割掩码直接取决于像素解码器的输出,将其用作区分不同对象的逐像素 embedding 特征;(3) masked attention限制了每个 query  的感受野,可能导致Transformer decoder陷入次优的query更新过程。Mask2Former 取得了性能出色,但其在快速、高效实例分割方面的优势还没有得到很好的验证,这对于许多现实世界的应用程序(例如自动驾驶汽车和机器人技术)来说至关重要。实际上,缺乏先验知识以及引入高计算复杂度的注意力机制,使得基于 query  的模型的效率普遍不尽如人意。因此,有效的实时实例分割基准仍然由基于卷积的模型作为主导。

本文提出 FastInst 来填补这一空白,FastInst 是一种简洁有效的基于 query  的实时实例分割框架。同时证明了基于 query  的模型可以在保持高效的情况下在实例分割任务上取得出色的性能,在实例分割算法设计中显示出巨大的潜力。例如,设计的具有 ResNet-50 主干的最快的 query-based 的模型在 COCO test-dev 上以 53.8 FPS(每秒帧数)的速度实现了 35.6 AP,在单个 V100 GPU 上进行了评估;此外,目前已有的在时间-精度方面权衡的性能最强的模型,它是以实时速度执行,即 32.5 FPS,同时产生超过 40 的 AP,即 40.5 AP。

本文所提的模型遵循 Mask2Formermeta 架构。为了实现高效的实时实例分割,本文提出了三个关键技术。首先,使用实例激活引导查询( instance activation-guided queries),它从底层特征图中动态选择具有高语义的像素 embedding 作为 Transformer 解码器的初始 query。与静态可学习查询相比,这些选择的 query 包含丰富的潜在目标 embedding 信息,减少了 Transformer 解码器的迭代更新成本。然后在 Transformer 解码器中采用双路径架构,其中 query 特征和像素特征交替进行更新。这样的设计增强了像素特征的表示能力,免于繁重的像素解码器设计。此外,它在 query 特征和像素特征之间进行了直接通信,从而加快了迭代更新收敛速度,并有效降低了对解码器层数的依赖。第三,为了防止掩蔽注意力陷入次优查询更新过程,引入了ground truth mask-guided learning。随后用最后一层二分匹配 GT 真值掩码替换标准掩码注意力中使用的掩码,将其输入到 Transformer 解码器,并使用固定的匹配分配来监督输出。该引导策略允许每个 query 在训练期间查看其目标预测对象的整个区域,并帮助掩蔽注意力关注更合适的前景区域。

作者在 MS COCO 数据集上进行 FastInst 的评估。如下图所示,FastInst  在保持高效率的同时在 COCO 基准测试中获得了强大的性能,超过了之前大多数最先进的方法。

e74d775e98600299aaa14887efe5c255.png
COCO 数据集上的速度性能权衡,FastInst 在速度和准确性方面都超过了大多数最先进的实时实例分割算法

领域背景分析

基于区域的方法。首先检测目标边界框,然后应用 RoI 操作(例如 RoI-PoolingRoI-Align)来提取区域特征以进行目标的分类和 mask 的生成。作为一项开创性工作,Mask RCNNFaster R-CNN 之上添加了一个 mask 分支来预测每个目标的分割掩码。后续方法要么是专注于提高检测到的边界框的精度,要么解决 Mask R-CNN 中出现的低质量分割掩码。尽管它们在几个基准测试中性能有所提高,这些基于区域的方法生成大量重复的 region proposals,增加计算成本,降低模型效率。

基于实例激活的方法。使用一些有意义的像素来表示对象,并训练这些像素的特征以在预测期间激活以进行分割。此类方法的典型类别是基于中心激活,强制目标的中心像素对应于分割和分类。例如,SOLO 利用对象的中心特征来预测用于分割的 mask kernelMEInstCondInst 方法在基于中心激活的检测器 FCOS 上构建模型,并带有一个额外的分支来预测动态卷积的掩码 embedding 向量。最新的一项工作,SparseInst 学习了一种像素加权组合来进行目标的表示。所提出的 FastInst 利用位于具有高级语义的目标区域中的像素作为对象的表示,并提取它们的特征作为 query

基于 query 的方法。DETR 中出现了基于 query 的方法,这表明包含端到端 Transformer 编码器-解码器结构的卷积主干能够在实例分割任务上取得良好的性能。SOLQISTR 利用学习到的对象 query 来推断掩码 embedding 来进行实例分割。Panoptic SegFormer 添加了一个位置解码器来提供目标的位置信息。Mask2Former 引入了 masked attention 以提高性能和加快收敛速度。Mask DINO 将目标检测和图像分割两个任务进行统一,在实例分割上取得了很好的结果。它们的性能都比较出色,但基于 query  的模型通常计算成本太高,无法应用于现实世界。与卷积网络相比,这些 Query-based 的模型在快速、高效实例分割方面的优势尚未得到很好的证明。本文的目标是利用 Transformer 强大的建模能力,设计出高效、简洁、实时的实例分割方案,以促进基于查询的分割方法的应用。此外,许多方法也在图像分割任务中使用双路径 Transformer 架构。但是,它们的设计通常很复杂,并且部署困难。本文的方法简单地在普通的 Transformer 层上实现双路径架构,从而提高效率。

网络结构分析

本文所提的整体框架结构如下图:

4c04c8d8464c29e2bfa944a8395ae65e.png

FastInst 由三个模块组成:backbone、pixel decoder 和 Transformer decoder。Backbone 和 pixel decoder 用于提取和细化多尺度特征。首先将输入图像 经过 backbone 得到三个特征图 、 和 ,它们的分辨率分别为输入图像的 1/8、1/16 和 1/32。再通过 1×1 卷积层将这三个特征映射投影到具有 256 个通道的特征映射,将它们输入到pixel decoder。Pixel decoder 聚合上下文信息并输出增强的多尺度特征图 、 和 。然后,从特征映射 中选择 个实例激活引导查询(IA-guided queries),与 个辅助可学习查询拼接在一起以获得总查询 ,这里 。Transformer 解码器将总查询 以及扁平化的高分辨率像素特征 作为输入,,其中 。最后在 Transformer 解码器中,以双路径方式更新像素特征 和查询 ,并在每个解码器层预测目标类别和分割的mask。此外,在训练期间,还引入了 ground truth (GT) mask用于指导分割来提高 masked attention 的性能。

Lightweight pixel decoder

多尺度上下文特征图对于图像分割至关重要。但是,复杂的多尺度特征金字塔网络增加了计算代价。与直接使用来自像素解码器的基础特征图的先前方法不同,本文使用 Transformer 解码器中的精细像素特征来生成分割掩码。这种设置降低了像素解码器对大量上下文聚合的要求。因此,可以使用轻量级像素解码器模块。为了在准确性和速度之间取得更好的权衡,这里使用一种称为 PPM-FPN 的变体而不是 vanilla FPN ,它在 之后采用金字塔池化模块来扩大感受野以提高性能。

Instance activation-guided queries

Object queries 在 Transformer 架构中起着至关重要的作用。DETR 收敛缓慢的原因之一是它的 object queries 没有进行初始化。Deformable DETR 从金字塔特征中选择查询边界框进行目标检测,受其启发,本文提出了实例激活引导查询,它直接从底层多尺度特征图中选择具有高语义的查询。具体来说,给定像素解码器的输出特征图,我们在特征图 的顶部添加一个辅助分类头,然后是 softmax 激活,以产生每个像素的类别概率预测 ,其中 是 维 probability simplex, 表示多少类别,“ no object ()”加一, 是像素索引,辅助分类头由3×3 和 1×1 核大小的两个卷积层组成。通过   得到每个像素的前景概率。然后从具有高前景概率的特征图 中选择 个 embeddings 作为 object queries 。对此,首先选择相应类平面中的局部最大值的那些集合,然后选择具有最高前景概率的那些。在相应类平面中具有非NMS的像素表示在其邻域中存在一个像素,该像素在该类中具有更高的概率得分。由于它们的位置很接近,选择它的相邻像素代替其本身作为 object queries。在训练期间,基于匹配的匈牙利损失来监督辅助分类头,当像素位于该目标的区域时定位损失函数 ;否则,为 1。这表示,只有落在目标内部的像素才能推断该对象的类别和 mask embeddings 。这种 IA-guided queries 在初始阶段保留了潜在目标的信息,能够提高Transformer 解码器中查询迭代的效率。

Dual-path Transformer decoder

从底层特征图中选择 个 IA-guided queries 后,将它们与 个辅助 IA-guided queries 拼接起来以获得总查询 ,其中辅助 IA-guided queries 助于背景像素特征的分组。然后将总查询 与扁平化的 1/8 高分辨率像素特征 相结合,送入 Transformer 解码器,对其添加 positional embeddings,然后进行更新。一个 Transformer 解码器层包含一个像素特征更新和一个 queries 更新。整个过程就像一个 EM(期望最大化)聚类算法。E步:根据所属的中心(queries)更新像素特征;M 步骤:更新聚类中心(查询)。与单路径更新策略相比,双路径更新策略同时优化了特征和 query,减少了对重像素解码器的依赖,获得了更细粒度的特征嵌入,最后使用细化的像素特征和查询来预测每一层的对象类别和分割掩码。

Ground truth mask-guided learning

虽然 masked attention 引入了先验稀疏注意力知识,加速了模型收敛,提升了性能,但它限制了每次 queries 的感受野,可能导致Transformer decoder陷入次优查询更新过程。为了缓解这个问题,本文引入了GT mask用于引导学习。首先,使用最后一层的二分匹配 GT mask 来替换第    层掩码注意力中使用的预测掩码。最后一层不匹配任何的 query,第 层的第 个 query的注意力掩码 表示如下(其中,是最后一层中第 个 query 匹配的 , N^{obj}  表示  ground truth 中包含目标的数量):

f30737bd2683338d9f9800918488200a.png

然后使用替换的注意掩码 结合原始输出的 query 和第 层的像素特征,经过细化和更好的指导,将这些特征作为输入,再次输入到第 个 Transformer 解码器。新的输出按照固定的匹配进行监督,与上一层的二分匹配结果一致。这种固定匹配不仅保证了每个Transformer解码器层预测的一致性,同时节省了训练时的匹配计算成本。这种引导学习允许每个 query 在训练期间看到其目标预测对象的整个区域,有助于掩蔽注意力关注到更合适的前景区域。

Loss function

整体损失函数由 IA-guided 损失、预测损失和GT mask-guided损失三部分组成:

e79858d86a681104de8efb17ab8f1fb2.png

这三部分损失分别如下(符号说明:λ是超参数,是交叉熵损失, 和 分别是分割掩码的二进制交叉熵损失和骰子损失, 是目标分类的交叉熵损失,“没有目标”时权重为 0.1。λ、λ 和 λ 分别是平衡三个损失的超参数):

beb892a25a9cfe88972e5ad171aab22b.png 2dad19926ff4982f6c320f3b7d8430e4.png

GT mask-guided loss  就是 从第1层开始计算。

实验

作者使用了在 COCO 数据集上与其他方法进行了对比,使用 Detectron2 实现。并使用具有阶跃学习率的 AdamW 优化器进行参数更新。初始学习率为0.0001,权重衰减为0.05。对经过 ImageNet 预训练的 backbone 使用 0.1 的学习率,并在训练迭代总数的 0.9 和 0.95 时将学习率衰减 10 倍。之后,训练模型 50 个 epochs时,批量大小设置为 16。

下面是 COCO test-dev 上的实例分割对比情况,在准确性和速度的权衡上达到了最优:

6b9814e1047137e0ed5794e0205579bd.png

对三个组件( IA-guided queries、双路径更新策略和 GT mask-guided learning)和其他模块的消融实验:

1a5f1754ef78d9f10bf5142969ddda86.png

此外,对 Transformer 解码器、IA 引导、及Auxiliary learnable query 数量、损失函数等方面的消融实验如下:

fe5bd079a839bf3c3cd75a787dd68274.png

结论

FastInst 用于实时实例分割。FastInst 基于基于 query 的分割框架和三个的组件。但是FastInst 在小目标上效果不好。作者认为,使用像素解码器或更大的特征图引入了更重的计算负担,可以进一步对此进行优化。

视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

2140870da3650aa96ca29f0d2a421ed8.png

(扫码学习最新视频)

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

10a080a3cb5e2318bbb4f16cbdb01d54.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

4cc84fa706bf3530ff8297ee27b42992.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值