当前位置: 首页 > news >正文

【论文笔记】Matching Anything by Segmenting Anything

引用格式】:Li S, Ke L, Danelljan M, et al. Matching Anything by Segmenting Anything[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2024: 18963-18973.

网址https://openaccess.thecvf.com/content/CVPR2024/papers/Li_Matching_Anything_by_Segmenting_Anything_CVPR_2024_paper.pdf

开源代码】:https://github.com/siyuanliii/masa

目录

一、瓶颈问题

二、本文贡献

三、解决方案

1、MASA

1.1 MASA Pipeline

1.2 MASA Adapter

1.3 Inference

1.3.1 Detect and Track Anything

1.3.2 Segment and Track Anything

四、实验结果

1、State-of-the-Art Comparison

1.1 TAO TETA

1.2 Open-vocabulary MOT

1.3 TAO Track mAP

1.4 BDD100K MOTS

1.5 BDD100K MOT

​​​​​​​1.6 UVO VIS

​​​​​​​1.7 Compare with VOS Methods

​​​​​​​1.8 Compare with Self-supervised Methods

2、Ablation Study and Analysis


一、瓶颈问题

目前的方法主要依赖于标记的特定领域视频数据集,这限制了学习相似性嵌入的跨域泛化。

  • 现有的多目标跟踪方法大多针对特定场景和目标类别进行训练,泛化能力有限
  • 传统的跟踪方法需要人工标注的跟踪数据进行训练

二、本文贡献

  • 提出了一种新颖的实例关联学习方法MASA,能够在不同领域内的视频之间匹配任何对象,无需追踪标签。
  • 设计了一个通用的MASA适配器,可以实现与现有的分割模型或检测模型结合使用,增强这些模型的追踪能力。
  • 提出了一种多任务训练流程,联合执行检测知识蒸馏和实例相似性学习,进一步提高了追踪特征的泛化能力。

三、解决方案

1、MASA

    文中的方法由两个关键组件组成。

    首先,基于 SAM,文中开发了一个新的管道:MASA。有了这个管道,文中从丰富的未标记图像集合中为密集实例级对应关系构建了详尽的监督。它使我们能够学习强大的判别实例表示来跟踪任何对象,而不需要任何视频注释。

    其次,文中引入了一个通用 MASA 适配器,以有效地转换来自冻结检测或分割主干的特征,以学习可泛化的实例外观表示。同时,MASA 适配器的蒸馏分支也可以显着提高分割一切的效率。

    此外,文中还构建了一个统一的模型来联合检测/分割和跟踪任何内容。

1.1 MASA Pipeline

    问题:对于以前的工作,严重依赖于手动标记的域内视频数据。而目前有的视频数据集仅仅包含有限的固定类别数据,这就给训练出模型的泛化能力提出了挑战。UniTrack[Do Different Tracking Tasks Require Different Appearance Models?]表明,通用外观特征可以通过原始图像或视频的对比自监督学习技术[Emerging Properties in Self-Supervised Vision Transformers、Improved Baselines with Momentum Contrastive Learning、Rethinking Self-supervised Correspondence Learning: A Video Frame-level Similarity Perspective]来学习。但是,它们通常依赖于干净的、以对象为中心的图像,并且专注于帧级的相似性。

    针对以上问题,文中提出了MASA训练管道。核心思想是从两个角度增加多样性:训练图像多样性和实例多样性。

    首先从不同领域构建丰富的原始图像集合,以防止学习特定领域的特征。这些图像还包含复杂环境中丰富的实例,以增强实例的多样性。给定一个图像I,通过在相同的图像上采用两种不同的增强来模拟视频的外观变化。通过应用强数据增强 φ(I) 和 ɸ(I),构建了 I 的两个不同视图 V1 和 V2,从而自动获得像素级对应关系。如果图像干净并且只包含一个实例,例如 ImageNet 中的实例,则帧级相似性可以应用于前面问题中提到的方法。但是,使用多个实例,需要进一步挖掘此类原始图像中包含的实例信息。基本分割模型 SAM [Segment Anything] 为我们提供了这种能力。SAM 自动对属于同一实例的像素进行分组,并提供检测到的实例的形状和边界信息。为此,这里应用SAM将整个图像分割产生密集多样的实例提议Q集合。通过建立像素级对应关系,将相同的 φ(·) 和 ɸ(·)应用于Q将像素级对应关系转移到密集实例级对应关系。这里使用对比学习公式来学习有区别的对比嵌入空间,增加其于正样本之间的相似度,同时减少其于负样本之间的相似度,具体公式如下:

  • q+ 和 q− 分别表示 q 的正样本和负样本。正样本是应用不同 φ(·) 和 ɸ(·) 的相同实例提议。负样本来自不同的实例。
  • sim(·) 表示余弦相似度。
  • τ 是温度参数,在实验中设置为 0.07。

1.2 MASA Adapter

    MASA适配器是为了将现有的分割或检测模型(如SAM、Detic、GroundingDINO等)扩展为 能够追踪它们检测到的任何对象。MASA适配器与这些基本的模型中的冻结主干一起运行,确保保留原始检测和分割能力。由于并非所有预先训练的特征都对跟踪具有固有的区分性(物体的形状和大小的多样性),首先需要将这些冻结的主干特征转换为更适合跟踪的新特征。

    为此,构建了一个多尺度特征金字塔。对于层次化的特征提取器(如基于Transformer的模型),可以直接使用特征金字塔网络(FPN)来获取多尺度的特征;对于单尺度特征提取器(如利用普通ViT主干的SAM),使用转置卷积(Transpose Convolution)和最大池化(MaxPooling)进行上采样和下采样,生成多尺度特征表示。

    为了有效地学习不同实例的判别特征,必须在一个位置中的对象知道其他位置实例的外观。故文中利用变性卷积来生成动态偏移量,并将空间位置和特征级别的信息聚合为F(p),如下公式所示,以便更好的获得上下文信息。另外,对于基于SAM的模型,文中还使用到了Dyhead [Dynamic Head: Unifying Object Detection Heads with Attentions] 中的任务感知注意力和尺度感知注意力,如上图所示。

  • F(p):在位置p的特征
  • L:特征层级的数量,表示模型在不同尺度上处理特征。
  • K:每个卷积核的采样位置数量。
  • w_{k}:第 k 个采样位置的权重。
  • F_{j}(p):在第 j个特征层级上,位置 p 的原始特征。
  • p_{k}:预先定义的采样偏移,用于确定采样位置。
  • ​​​​​\bigtriangleup p_{k}^{j}:学习到的偏移量,用于调整第 j 个特征层级上第 k 个采样位置的实际位置。
  • \bigtriangleup m_{k}^{j}:可学习的调制因子,用于调整第 j 个特征层级上第 k 个采样点的特征响应。

     在获取转换后的特征图后,通过将 RoI-Align [Mask R-CNN] 应用于视觉特征 F 来提取实例级特征(检测头),然后使用包含 4 个卷积层和 1 个全连接层的轻量级轨道头进行处理以生成实例嵌入(追踪头)。

    在生成实例嵌入后,文中引入了对象先验蒸馏分支。使用标准的RCNN检测头来学习边界框,该边界框紧密包含SAM对每个实例的掩码预测。它有效地从 SAM 中学习详尽的对象位置和形状知识,并将此信息划分为转换后的特征表示。这种设计不仅增强了 MASA 适配器的特征,从而提高了关联性能,而且还通过直接提供预测的框提示来加速 SAM 的所有模式。

    最终损失函数由前面所提到的对比损失和检测损失加权组合:L = L_{det} + L_{c}。其中检测损失与Faster R-CNN中使用的损失一样。

1.3 Inference

1.3.1 Detect and Track Anything

    将MASA适配器与对象检测器集成时,删除了在训练期间学习的MASA检测头( RoI-Align),MASA适配器仅用作跟踪器。检测器预测边界框,然后利用它们提示MASA适配器,检索相应的跟踪特征进行实例匹配。这里文中使用了一个简单的bi-softmax最近邻搜索进行准确的实例匹配。

    算法流程如下:

    相似度计算如下:

  • s_{1}s_{2}是两种不同的相似度计算方法,计算轨道τ和对象候选r之间的相似度得分。
  • s_{1}:基于高斯分布的指数函数,用于衡量嵌入q_{r}q_{\tau }之间的相似度
  • s_{2}:余弦相似度,用于衡量两个嵌入之间的夹角
  • q_{r}:对象候选 r 的检测嵌入,封装其外观特征
  • q_{\tau }:表示轨道 τ 的轨道嵌入,捕获跟踪对象的特征

    s_{1}中进行了双重归一化,确保了对相似性的平衡和全面的评估,促进了动态视频序列中的准确对象关联。

1.3.2 Segment and Track Anything

    将MASA适配器与SAM集成时,保留检测头。文中用它来预测场景中的所有潜在对象,将框预测转发到 SAM 掩码解码器和 MASA 适配器以分割和跟踪所有内容。预测的框提示省略了对原始 SAM 的所有模式中所示的繁重后处理的需要,因此显着加快了 SAM 的自动掩码生成。

1.3.3 Testing with Given Observations

    在实际应用中,MASA适配器可能接收来自不同源的检测结果,而不仅仅是它自身训练时所用的数据源。当检测结果来自于MASA适配器构建时所用数据源之外的其他源时,意味着MASA适配器需要适应不同来源的检测数据。在这种情况下,MASA适配器充当追踪特征提供者的角色。它利用自身的能力来提取和提供用于追踪的特征。直接使用提供的边界框作为提示(prompts),通过ROI-Align操作从MASA适配器中提取追踪特征。

    这种设计使得MASA适配器具有很高的灵活性,能够与不同的检测模型或方法配合使用,从而在多种场景和应用中实现有效的对象追踪。无论检测结果来自何处,只要它们提供了准确的边界框,MASA适配器就能够利用这些信息来提取用于追踪的特征,进而进行对象的关联和追踪。

四、实验结果

    文中对具有不同域的多个具有挑战性的MOT/MOTS基准上进行了实验。

1、State-of-the-Art Comparison

    文中以两种方式评估文中的方法。首先,为了准确评估文中方法的关联能力,总是在标准 MOT 基准测试中提供与当前最先进的方法相同的检测观察结果。其次,为了评估文中统一模型的综合能力,遵循该协议:对于基于 SAM 的模型,在开放世界视频分割数据集 UVO 上进行评估。对于基于检测器的模型,在开放词汇 MOT 基准上进行评估。文中还报告了 TAO TETA 和 TAO TrackmAP 基准的分数。

1.1 TAO TETA

  • † 表示使用相同的检测观察。
  • LocA:可能表示定位准确性(Localization Accuracy),衡量追踪框与真实对象位置的匹配程度。
  • AssocA:可能表示关联准确性(Association Accuracy),衡量追踪算法正确关联跨帧对象的能力。
  • ClsA:可能表示分类准确性(Classification Accuracy),衡量追踪算法正确分类对象的能力。
  • TETA:可能是一个综合评估指标,考虑了上述几个方面。

1.2 Open-vocabulary MOT

  • Base:指的是模型在训练阶段已经见过的类别。这些类别构成了训练数据的一部分,模型通过这些类别学习到了如何识别和分类对象。
  • Novel:指的是模型在训练阶段没有遇到过的新类别。这些类别在测试或应用阶段出现,用于评估模型对未知类别的泛化能力。

1.3 TAO Track mAP

​​​​​​​

​​​​​​​1.4 BDD100K MOTS

​​​​​​​1.5 BDD100K MOT

​​​​​​​1.6 UVO VIS

​​​​​​​1.7 Compare with VOS Methods

​​​​​​​1.8 Compare with Self-supervised Methods

2、Ablation Study and Analysis

    直接使用现成的 SAM 特征(第 1 行)进行关联会产生较差的结果。主要原因是 SAM 的原始特征针对分割进行了优化,而不是实例级判别。然而,集成文中的 MASA 训练方法并添加轻量级轨道头显着提高了性能,在 AsocA 中提高了 15.6%,在 BDD MOT 上的 mIDF1 提高了 14.4%。这强调了文中的训练策略的有效性。结合动态特征融合块进一步提高了 1.6% 的性能。此外,使用对象先验蒸馏分支的联合训练导致 AsocA 增加 1.8%,mIDF1 提高了 1.6%,显示了这些架构设计的效果。

    通过将 MASA 管道中的 SAM 替换为 Mask2former-SwinL,在 COCO 上进行了预训练。如表 9a 所示,我发现使用 SAM 提议训练的模型显着提高了 BDD 上的域内性能和 TAO 上的零样本跟踪

    调查 SAM 提案数量对学习的影响,尝试了每批 64、128 和 256 个提案的不同上限。表 9b 显示了随着提案数量的增加,BDD 和 TAO 上的 AssocA 持续改进,这表明丰富的实例集合促进了更具辨别力的跟踪特征。

    如表 9c 所示,随机仿射、Mixup 和 LSJ  的组合提供了最佳性能。方法 1 表示基本的数据增强,包括翻转、调整大小、颜色抖动和随机裁剪。如果没有强增强(方法1),其在BDD MOT上的mIDF1下降了6.7%,比方法5差得多。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • STM32 | ADC+RS485(第十天)
  • 如何在 Next.js 中实现电子邮件验证?
  • 手把手教你如何在宝塔上添加可道云登录页面的ICP备案信息,别跟权威开玩笑。
  • html+css 实现hover边框彩色流动
  • GD32 MCU硬件I2C不可靠不如软件I2C?
  • Linux之文件系统
  • C#中的TCP和UDP
  • LeetCode每日一题_3143.正方形中的最多点数
  • 【虚拟化】KVM使用virt-manager部署及管理虚拟机
  • 嵌入式FPGA(现场可编程门阵列)面试题及参考答案
  • 简明 | ResNet特点、残差模块、残差映射理解摘要
  • 【C语言】C语言期末突击/考研--结构体与C++引用
  • 2024华硕迷你主机选购指南:全系列覆盖
  • 深入理解 C 语言中的联合体
  • JavaWeb基础1:HTML/CSS/JS/HTTP
  • JS 中的深拷贝与浅拷贝
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【5+】跨webview多页面 触发事件(二)
  • Android框架之Volley
  • AngularJS指令开发(1)——参数详解
  • Idea+maven+scala构建包并在spark on yarn 运行
  • IDEA常用插件整理
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JAVA 学习IO流
  • MySQL主从复制读写分离及奇怪的问题
  • nodejs:开发并发布一个nodejs包
  • Vue UI框架库开发介绍
  • webgl (原生)基础入门指南【一】
  • 构建二叉树进行数值数组的去重及优化
  • 微信小程序--------语音识别(前端自己也能玩)
  • 为视图添加丝滑的水波纹
  • 我有几个粽子,和一个故事
  • 2017年360最后一道编程题
  • hi-nginx-1.3.4编译安装
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $(function(){})与(function($){....})(jQuery)的区别
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)无线电失控保护(二)
  • (C++哈希表01)
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (备忘)Java Map 遍历
  • (十五)使用Nexus创建Maven私服
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET 中 GetProcess 相关方法的性能
  • .NetCore发布到IIS
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题