团队模型、论文、博文、直播合集,点击此处浏览
一、论文&代码
论文:https://arxiv.org/abs/2303.08594
模型&代码:https://modelscope.cn/models/damo/cv_resnet50_fast-instance-segmentation_coco/summary
二、背景
实例分割旨在分割图像中所有感兴趣的物体。传统的以mask rcnn [1]为代表的双阶段实例分割方案遵循先检测后分割的理念,尽管简单直观,但那些方法会生成大量的重复区域提议,从而引入大量冗余的计算。为了提高计算效率,许多建立在全卷积网络上的单阶段方法涌现,例如SOLO [2]等。 他们放弃了区域提议操作,端到端地一步到位实现物体种类预测和掩码生成。这类方法推理速度很快,在实际部署时很有吸引力。然而,由于这些基于全卷积的单阶段方案仍采用密集预测的方式,他们仍然避免不开繁重的手工设计后处理步骤,例如非最大抑制等。
最近,随着 DETR [3]在目标检测方面的成功,基于查询的单阶段实例分割方法应运而生。这类方法利用通用且强大的注意力机制,结合一系列可学习的查询来推断目标物体种类和分割掩码。例如,Mask2Former [4]简化了图像分割的工作流程,通过在主干之上添加像素解码器和带掩码的Transformer解码器来进行分割。 与以往的方法不同,Mask2Former 不需要额外设计的手工组件,例如训练目标分配器和 NMS 后处理。 虽然结构优雅,但Mask2Former 有其自身的问题:(1)它需要大量的解码器层来解码目标查询,因为它的查询是静态的,需要一个漫长的过程来迭代改进; (2) 它依赖繁重的像素解码器结构,因为它的目标分割掩码的特征直接来源于该像素解码器输出,这些输出被用作区分不同目标的特征嵌入; (3) 它使用的带掩码的交叉注意力层限制了每个query的感受野,可能导致transformer解码器陷入局部次优的query更新过程。
虽然 Mask2Former 取得了出色的性能,但其在快速、高效的实例分割方面的优势还没有得到很好的证实,而这些优势对于许多现实世界的应用(例如自动驾驶和机器人技术等)至关重要。 事实上,由于先验知识的缺乏和昂贵的计算代价,基于查询的模型的效率普遍不尽如人意。高效实时实例分割基准仍然由经典的基于卷积的模型主导 [5]。
二、方法
在本文中,我们通过提出 FastInst 来填补基于查询的模型速度优势欠缺这一空白。FastInst 是一种简洁有效的基于查询的实时实例分割框架。 我们证明了基于查询的模型可以在保持快速的情况下在实例分割任务上取得出色的性能,在高效的实例分割算法设计方面展示出巨大潜力。 例如,我们设计的使用 ResNet-50 主干的最快的基于查询的模型在 COCO test-dev 上以 53.8 FPS(每秒帧数,单个 V100 GPU)的速度实现了 35.6 AP(参见上图); 此外,我们最好的权衡模型可以以 32.5 FPS 的实时速度执行,同时产生超过 40(即 40.5)的 AP,据我们所知,在相同设置下,这在以往方法中从未达到过。
具体来说,FastInst 遵循 Mask2Former 的元架构。 为了实现高效的实时实例分割,FastInst 引入了三个关键模块:
(1)基于实例激活引导的查询。FastInst 使用从像素解码器中动态选择具有高语义的像素嵌入作为Transformer 解码器的初始查询。与静态可学习查询相比,这些选择的动态查询包含丰富的潜在对象嵌入信息,减少了 Transformer 解码器的迭代更新负担。具体来说,FastInst 首先在像素解码器输出后接上一个辅助分类头,该辅助分类头预测每个像素归属于每个类别的概率 ,其中 是像素位置, 是类别下标。在推理时,首先确定每个像素归属的类别 ,然后选取 较大的那些位置的特征。为了避免冗余特征的选取,这里我们引入一个局部极大值选取法,即首先选取 是那些在相应通道上是极大值的点,即 ,这里 是位置 的 8 邻域下标集合,再选取 最大的那些点。在推理时,FastInst 采用匈牙利匹配为每个实例分配激活目标点。为了使每个实例都有正确的激活点而不会被其他位置具有相似语义的点所激活,FastInst 在分配目标时引入一个location cost。该location cost背后的直觉是只有落在对象内部的像素点才有理由推理出该对象的类别和掩码嵌入。同时,该location cost也减小了匹配空间,加快模型训练收敛。
(2)双路径Transformer解码器结构。FastInst 在Transformer解码器中采用双路径更新策略。如上结构图所示,一个 Transformer 解码器层包含一个像素特征更新层和一个查询更新层。 整个过程就像一个 EM 聚类算法。E步:根据所属的中心(即查询)更新像素特征; M 步:更新聚类中心(查询)。与传统的单路径更新策略相比,双路径更新策略同时优化了像素特征和查询,减少了对繁重像素解码器的依赖,获得了更细粒度的特征嵌入。
(3) GT掩码引导的Transformer解码器学习。在Mask2Former中,作者证实了在Transformer解码器中使用带有预测掩码的交叉注意力层可以提高模型分割性能。虽然这种带有预测掩码的交叉注意力层引入了稀疏先验知识,加快了模型收敛,提升了性能,但它限制了每个查询的感受野,这可能导致Transformer解码器陷入局部次优的查询更新过程。为了缓解这个问题,FastInst 引入了GT 掩码引导的学习。具体而言,FastInst使用最后一个解码器层的每个查询所匹配到的GT 掩码来替换前面每一解码器层中使用的带有前一层预测掩码的交叉注意力层中的预测掩码。对于在最后一层不匹配任何实例的查询,则不替换转而使用标准的交叉注意力。然后,FastInst使用替换过后的的交叉注意力层以及原来每个 Transformer 解码器层的输出作为输入再次前向传播每一个 Transformer 解码器层。 新的输出按照与最后一层相同的固定匹配进行监督。这种固定匹配保证了每个Transformer解码器层输出预测的一致性。同时通过这种引导学习,我们允许每个查询在训练期间看到其目标预测对象的整个区域,这有助于模型学习到更合理的带有掩码的交叉注意力区域。
通过这些模块,FastInst 获得了既快又好的性能。在COCO基准上,相同实验设置下,FastInst 超越了以往大多数实时实例分割算法。
三、实验结果
1. 消融实验
(1)基于实例激活引导的查询
(2)双路径Transformer解码器结构
(3)GT掩码引导的Transformer解码器学习
2. SOTA对比
3. 效果展示
4. 拓展实验
FastInst也适用于一般图像分割任务,包括语义分割和全景分割。
四、参考文献
[1] Kaiming He, Georgia Gkioxari, Piotr Dollar, and Ross Gir- ´ shick. Mask R-CNN. In ICCV, 2017.
[2] Xinlong Wang, Tao Kong, Chunhua Shen, Yuning Jiang, and Lei Li. SOLO: Segmenting objects by locations. In ECCV, 2020.
[3] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-toend object detection with transformers. In ECCV, 2020.
[4] Bowen Cheng, Ishan Misra, Alexander G. Schwing, Alexander Kirillov, and Rohit Girdhar. Masked-attention mask transformer for universal image segmentation. In CVPR, 2022.
[5] Tianheng Cheng, Xinggang Wang, Shaoyu Chen, Wenqiang Zhang, Qian Zhang, Chang Huang, Zhaoxiang Zhang, and Wenyu Liu. Sparse instance activation for real-time instance segmentation. In CVPR, 2022.
五、其他开源
另外给大家介绍下CV域上的开源免费模型,欢迎大家体验、下载(大部分手机端即可体验):
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_ddsar_face-detection_iclr23-damofd/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet50_face-detection_retinaface/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermogface/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-detection_tinymog/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-detection_ulfd/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-detection_mtcnn/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_ir50_face-recognition_arcface/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-liveness_flir/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_face-liveness_flrgb/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_manual_facial-landmark-confidence_flcm/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_vgg19_facial-expression-recognition_fer/summary
ModelScope 魔搭社区https://modelscope.cn/models/damo/cv_resnet34_face-attribute-recognition_fairface/summary