统一检测和分割任务!港科大&清华&IDEA提出基于Transformer统一目标检测与分割框架Mask DINO,效果SOTA!...

港科大、清华和IDEA合作提出的Mask DINO框架,基于Transformer,统一了目标检测与分割任务,效果超越SOTA。论文及开源代码已发布,实现在实例分割、全景分割和语义分割上取得最佳结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注公众号,发现CV技术之美


本篇分享论文『Mask DINO: Towards A Unified Transformer-based Framework for Object Detection and Segmentation』,统一了检测和分割任务!港科大&清华&IDEA提出基于Transformer的统一目标检测与分割框架Mask DINO,效果SOTA!代码已开源!

详细信息如下:

18920dd9d868460839561fb5b42c6095.png


  • 论文链接:https://arxiv.org/abs/2206.02777[1]

  • 项目链接:https://github.com/IDEACVR/MaskDINO[2]

      01      

摘要

本文提出了一种统一的目标检测和分割框架Mask-DINO。Mask DINO通过添加一个支持所有图像分割任务(实例、全景和语义)的mask预测分支,扩展了DINO(DETR with Improved Denoising Anchor Boxes)。它利用DINO的查询嵌入对高分辨率像素嵌入图进行点积来预测一组二进制mask。

DINO中的一些关键组件通过共享架构和训练过程进行了扩展,以进行分割任务。Mask DINO简单、高效、可扩展,并且受益于联合大规模检测和分割数据集。实验表明,Mask-DINO在ResNet-50主干和带有SwinL主干的预训练模型上都显著优于所有现有的专门分割方法。

此外,Mask DINO在实例分割(COCO上为54.5 AP)、全景分割(COCO上为59.4 PQ)和语义分割(ADE20K上为60.8 mIoU)方面建立了迄今为止最好的结果。

      02      

Motivation

目标检测和图像分割是计算机视觉的基本任务。这两项任务都与定位图像中感兴趣的对象有关,但具有不同的focus级别。目标检测是定位感兴趣的对象并预测其边界框和类别标签,而图像分割则侧重于不同语义的像素级分组。此外,图像分割包括各种任务,包括实例分割、全景分割和关于不同语义的语义分割。

为这些任务开发的基于卷积的经典算法具有专门的结构,如用于目标检测的Faster RCNN,用于实例分割的Mask RCNN,以及用于语义分割的FCN,取得了显著的进步。虽然这些方法在概念上简单有效,但它们是为专门的任务定制的,并且缺乏处理其他任务的泛化能力。目前也催生出了一些能够联合处理多个任务的模型,到目前为止,HTC++仍然是COCO目标检测和实例分割排行榜上SOTA模型广泛使用的目标检测和实例分割方法。

随着进入基于Transformer的检测器的新时代,检测和分割任务会分化为不同的模型。DETR首先将Transformer引入到目标检测中。DETR是一种基于端到端查询的目标检测器,它采用一个具有二部匹配的集合预测目标。虽然DETR同时处理目标检测和全景分割任务,但其分割性能仍低于经典的分割模型。为了提高基于查询的模型的检测和分割性能,研究人员开发了用于目标检测、实例分割、全景分割和语义分割的专用模型。

在改进目标检测的努力中,DINO利用了DAB-DETR的动态锚定框公式和DN-DETR的查询去噪训练,进一步开发了对比去噪训练、混合查询选择,通过这两种方法来加速训练和提高检测性能。因此,DINO作为一个类似DETR的模型,首次在COCO目标检测排行榜上获得SOTA结果。

类似地,为了改进图像分割,MaskFormer和Mask2Former提出使用基于查询的Transformer架构来统一不同的图像分割任务,以执行mask分类。这些方法在多个分割任务上取得了显著的性能改进。然而,检测和分割模型仍然存在显著差异,这阻碍了检测和分割任务之间的任务和数据协作。例如,最先进的基于查询的实例分割模型Mask2Former仍然落后于基于HTC++和Swin-V2-G的经典模型。

解释这种性能差距的一个原因是,基于HTC的模型是在大规模检测数据集(即Objects365)上预训练的,但Mask2Former不能利用检测数据进行预训练。虽然作者相信检测和分割可以在一个统一的体系结构中相互帮助,但简单地使用DINO进行分割和使用Mask2Former进行检测的结果表明,它们不能很好地完成其他任务。此外,多任务训练甚至会影响原始任务的性能。

这自然会导致两个问题:1

### 全景分割 DINO 模型概述 全景分割是一种结合了语义分割实例分割任务,旨在识别图像中的每个像素所属的对象类别以及区分不同的实例。DINO(Deformable DETR In No Object)模型及其变体在目标检测分割任务中表现出色,尤其是在统一框架下解决多种视觉任务的能力方面。 #### Mask DINO 的实现方法 Mask DINO 是一种基于 Transformer统一框架,能够同时执行对象检测分割任务[^2]。其核心思想在于利用 Deformable Attention 两阶段架构来提升模型效率精度。以下是其实现的关键点: 1. **两阶段设计** Mask DINO 使用了一个两阶段的设计方案,在第一阶段生成候选区域的基础上进一步优化预测结果。这种设计显著提升了模型的收敛速度最终性能。 2. **Deformable Attention** 借助可变形注意力机制,Mask DINO 能够高效地捕获全局特征并适应不同尺度的目标。这使得模型能够在复杂场景中更精确地定位分割对象。 3. **端到端训练** Mask DINO 支持端到端的训练方式,无需额外的后处理步骤即可获得高质量的分割掩码。这种方法简化了传统流水线流程,提高了整体系统的鲁棒性一致性。 #### 参考论文代码资源 关于 Mask DINO 的具体实现细节可以参考官方发布的论文《Mask DINO: Towards A Unified Transformer-based Framework for Object Detection and Segmentation》。此外,该项目提供了开源代码库,开发者可以通过以下链接获取完整的源码预训练模型: - 官方 GitHub 地址:[https://gitcode.com/gh_mirrors/ma/MaskDINO](https://gitcode.com/gh_mirrors/ma/MaskDINO) #### SEEM 模型对比 尽管 Mask DINO目标检测分割领域取得了卓越的成绩,但其类似的 SEEM (Segmenting Everything Everywhere Model) 提供了一种更加灵活的解决方案[^3]。SEEM 不仅支持传统的视觉提示(如目标框、点掩码),还引入了语言提示(文本音频)。这种多模态输入的支持使其适用于更广泛的应用场景,例如跨模态分割任务。 SEEM 的主要特点包括: - 统一的编码器-解码器架构; - 零样本学习能力; - 开放集环境下的泛化性能。 然而需要注意的是,虽然 SEEM 在某些特定任务上的表现优于 Mask DINO,但在纯粹的全景分割任务中,两者各有优劣,需根据实际需求选择合适的模型。 ```python import torch from maskdino import build_model def load_mask_dino(): """加载 Mask DINO 模型""" config_file = 'path/to/config.yaml' weights_path = 'path/to/pretrained_weights.pth' device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model, criterion, postprocessors = build_model(config_file) checkpoint = torch.load(weights_path, map_location=device) model.load_state_dict(checkpoint['model']) model.to(device) model.eval() return model if __name__ == "__main__": model = load_mask_dino() print("Model loaded successfully!") ``` 上述代码片段展示了如何加载 Mask DINO 模型,并将其部署到 GPU 或 CPU 上运行。用户可以根据自己的硬件条件调整设备设置。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值