分割之后再识别对象之间关系,新模型RAM为SAM赋予新技能
机器之心专栏
本月初,Meta 推出的「分割一切(Segment Anything Model,SAM)」模型引起了广泛的关注。最近,来自南洋理工大学 MMLab 团队、伦敦国王学院和同济大学 VisCom 实验室的研究者们联合推出了一款名为 「Relate-Anything-Model(RAM)」的新模型。RAM 模型赋予了 Segment Anything Model(SAM)识别不同视觉概念之间的各种视觉关系的能力。该模型由同学利用闲暇时间合作开发。
演示程序链接:https://huggingface.co/spaces/mmlab-ntu/relate-anything-model
代码链接:https://github.com/Luodian/RelateAnything
数据集链接:https://github.com/Jingkang50/OpenPSG
RAM 模型基于 ECCV'22 SenseHuman Workshop & 国际算法算例大赛 “Panoptic Scene Graph Generation” 赛道冠军方案 GRNet。首先,我们来了解一下PSG baseline的基本信息和 GRNet 的工作原理。
PSG baseline
PSG 挑战赛奖金百万,共收到来自全球 100 支团队提交的各种解决方案,其中包括先进的图像分割方法、解决长尾问题等等。该竞赛还收到了一些创新性的方法,如场景图专用的数据增强技术。经过评估,考虑性能指标、解决方案的新颖性和意义等,小红书团队的 GRNet 脱颖而出,成为获胜方案。
比赛详情请参考:https://github.com/Jingkang50/OpenPSG
在介绍 PSG 挑战赛的获胜方案之前,我们首先介绍两个经典的 PSG 基线方法,其中一个是双阶段方法,另一个是单阶段方法。如下图(a)所示,双阶段基线方法在第一阶段使用预训练的全景分割模型 Panoptic FPN 从图像中提取特征、分割和分类预测。然后,将每个个体对象的特征提供给经典的场景图生成器(例如 IMP),以便在第二阶段进行适应 PSG 任务的场景图生成。该双阶段方法让经典的 SGG 方法以最少的修改适应 PSG 任务。
如上图(b)所示,单阶段基线方法 PSGTR 首先使用 CNN 提取图像特征,然后使用类似 DETR 的 transformer 编码器 - 解码器来直接学习三元组表示。其中,匈牙利匹配器用于将预测的三元组与 ground truth 三元组进行比较,然后优化目标最大化匹配器计算的成本,并使用交叉熵进行分类损失,使用 DICE/F-1 计算分割的损失。
冠军方案模型架构
PSG 任务的获胜团队提出了一种名为 GRNet 的新方法。PSG 原文的研究已经表明:单阶段模型目前表现优于双阶段模型,因此获胜团队推测,这主要是因为来自图像特征图的直接监督信号有利于捕捉关系。然而,获胜团队还发现,单阶段模型通常无法达到良好的分割性能。
基于这一观察,获胜方案旨在在两个模式之间找到一个权衡,通过重视双阶段范式并赋予其类似于单阶段范式中获取全局上下文的能力来实现。具体来说,如下图所示,获胜团队首先采用 Mask2Former 等现成的全景分割方法生成每个对象的分割。然后将来自分割器的特定对象的中间特征映射与其对应的分割融合成对象级别特征。获胜团队提出了一种全局上下文模块,利用处理全局信息特征映射的 transformer 处理每个对象级别内容。
值得注意的是,该方案还添加了一个类别嵌入以指示对象的类别。通过 transformer 编码器中的交叉注意力机制,输出的对象特征从其他对象中收集了更多的全局信息。最后,该方案对每个对象级别特征执行全局平均池化,以进一步生成上下文丰富的新对象嵌入。对于每个关系类别,执行关系二元分类任务以确定对象对之间是否存在关系。
冠军方案关系分类
获胜团队对关系二元分类任务还有一些特别的考虑。例如,他们注意到 PSG 数据集通常包含两个具有多个关系的对象,例如 “人看着大象” 和 “人喂大象” 同时存在。为了解决这个问题,他们的解决方案是将关系预测从单标签分类问题转换为多标签分类问题。
此外,获胜团队还意识到,PSG 数据集通过要求注释者选择特定和准确的谓词(如 “停在” 而不是更一般的 “在”)来追求精度和相关性,可能不适合学习边界关系(如 “在” 实际上与 “停在” 同时存在)。为了解决这个问题,获胜团队提出了一种自我训练策略,使用自我蒸馏标签进行关系分类,并使用指数移动平均(EMA)来动态更新标签。
冠军方案的其他设计
在计算关系二元分类损失时,每个预测对象必须与其对应的 ground truth 对象配对。匈牙利匹配算法能完成这个任务,但该算法容易出现不稳定的情况,特别是在网络准确度低的早期训练阶段。这可能导致对于相同的输入,产生不同的匹配结果,导致网络优化方向不一致,使训练变得更加困难,这个问题通常被称为 “匹配抖动”。为了解决该问题,获胜团队采用了去噪训练,其中将嘈杂的真实结果以快捷方式输入到解码器中,以学习相对偏移量,跳过匹配步骤,允许直接学习方法,有效地克服了匹配抖动带来的挑战。
冠军方案获奖理由
PSG 挑战的获胜解决方案 GRNet 旨在重新使用双阶段范式并赋予其像单阶段范式一样获取全局上下文的能力,以实现双阶段和单阶段两种范式之间的平衡。GRNet 首先采用全景分割方法生成每个对象的分割。然后将来自分割器的特定对象的中间特征映射和其对应的分割融合成对象级别特征。获胜团队通过使用 transformer 处理每个对象级别内容并利用交叉注意力机制进一步丰富全局特征映射来构建全局上下文模块。最后,对每个对象级别特征执行全局平均池化以生成新的对象嵌入。对于每个关系类别,执行关系二元分类任务以确定对象对之间是否存在关系。
获胜团队解决了许多挑战,例如双阶段范式利用全局信息的方法、关系精度和概括性之间的冲突,以及轻量级双阶段范式的计算效率。最终,获胜方案在所有参与者中获得了最好的总体得分。
RAM 模型
RAM 模型大致的设计思路是:利用 Segment Anything Model(SAM)来识别和分割图像中的物体,并提取每个分割物体的特征。RAM 使用 Transformer 模块使分割物体之间产生交互作用,从而得到新的特征,计算它们的配对关系并分类它们的相互关系。相比于 GRNet,RAM 做了如下简易的修改:
1. 利用 Segment Anything Model(SAM)作为特征提取器,代替原方案的 mask2former。
2. 新 GT 匹配:由于 RAM 研究团队使用 PSG 数据集来训练模型,对于每个训练图像,SAM 会分割多个物体,但只有少数与 PSG 的 ground truth(GT)mask 相匹配。RAM 研究团队根据它们的交集 - 并集(IOU)分数进行简单的匹配,以便(几乎)每个 GT mask 都被分配到一个 SAM mask 中。然后,该研究根据 SAM 的 mask 重新生成关系图,最后使用交叉熵损失来训练 RAM 模型。
RAM 方案整体流程如下图所示:
我们来看一些「Relate-Anything-Model(RAM)」的应用实例。如下图所示,RAM 模型实现的图像分析结果令人印象深刻。这些结果展示了 RAM 模型出色的性能和多样化应用的潜力。
感兴趣的读者可以访问 RAM 模型的 Huggingface 演示页面和数据集,了解更多研究细节。研究团队表示希望 RAM 模型能够为使用者带来启发和创新,并期待获得反馈和建议。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]
微信扫码关注该文公众号作者