机器之心专栏

作者:MMLab@NTU

本文提出基于全景分割的全场景图生成(panoptic scene graph generation,即PSG)任务。相比于传统基于检测框的场景图生成任务,PSG任务要求全面地输出图像中的所有关系(包括物体与物体间关系,物体与背景间关系,背景与背景间关系),并用准确的分割块来定位物体。PSG任务旨在推动计算机视觉模型对场景最全面的理解和感知,用全面的识别结果更好地支撑场景描述、视觉推理等下游任务。同时PSG数据集提供的关系标注和全景分割也为解决当前图像生成领域对关系不敏感的问题创造了新的机遇。

研究背景

当下大多数的计算机视觉任务仍然只关注于图像感知。比如说,图像分类任务只需要模型识别图像中的物体物体类别。虽然目标检测,图像分割等任务进一步要求找到物体的位置,然而,此类任务仍然不足以说明模型获得了对场景全面深入的理解。以下图为例,如果计算机视觉模型只检测到图片中的人、大象、栅栏、树木等,我们通常不会认为模型已经理解了图片,而该模型也无法根据理解做出更高级的决策,例如发出 “禁止投喂” 的警告。

opencv绘制网格(ECCV2022全场景图生成PSG)(1)

事实上,在智慧城市、自动驾驶、智能制造等许多现实世界的 AI 场景中,除了对场景中的目标进行定位外,我们通常还期待模型对图像中各个主体之间的关系进行推理和预测。例如,在自动驾驶应用中,自动车需要分析路边的行人是在推车还是在骑自行车。根据不同的情况,相应的后续决策可能都会有所不同。在智能工厂场景中,判断操作员是否操作安全正确也需要监控端的模型有理解主体之间关系的能力。大多数现有的方法都是手动设置一些硬编码的规则。这使得模型缺乏泛化性,难以适应其他特定情况。

opencv绘制网格(ECCV2022全场景图生成PSG)(2)

场景图生成任务(scene graph generation,或 SGG)就旨在解决如上的问题。在对目标物体进行分类和定位的要求之上,SGG 任务还需要模型预测对象之间的关系(见图 2)。传统场景图生成任务的数据集通常具有对象的边界框标注,并标注边界框之间的关系。但是,这种设置有几个固有的缺陷:(1)边界框无法准确定位物体:如图 2 所示,边界框在标注人时不可避免地会包含人周围的物体;(2)背景无法标注:如图 2 所示,大象身后的树木用 bounding box 标注,几乎覆盖了整个图像,所以涉及到背景的关系无法准确标注,这也使得场景图无法完全覆盖图像,无法达到全面的场景理解。

论文介绍

因此,来自新加坡南洋理工大学和商汤科技的研究者提出全场景图生成(PSG)任务,携同一个精细标注的大规模 PSG 数据集。该任务利用全景分割来全面准确地定位对象和背景,从而解决场景图生成任务的固有缺点,从而推动该领域朝着全面和深入的场景理解迈进。

opencv绘制网格(ECCV2022全场景图生成PSG)(3)

  • 论文地址:https://arxiv.org/abs/2207.11247
  • 项目地址:https://psgdataset.org/
  • OpenPSG开源代码链接: https://github.com/Jingkang50/OpenPSG

opencv绘制网格(ECCV2022全场景图生成PSG)(4)

HuggingFace Demo 链接:https://huggingface.co/spaces/ECCV2022/PSG

PSG 数据集

该研究提出的 PSG 数据集包含近五万张 coco 的图片。基于 coco 已有的全景分割标注,该研究标注了分割块之间的关系,并精细地定义了 56 种关系,包括了位置关系(over,in front of,等),常见的物体间关系(hanging from 等),常见的生物动作(walking on,standing on,等),人类行为(cooking 等),交通场景中的关系(driving,riding 等),运动场景中的关系(kicking 等),以及背景间关系(enclosing 等)。该研究要求标注员能用更准确的动词表达就绝不用更模糊的表达,并且尽可能全地标注图中的关系。

opencv绘制网格(ECCV2022全场景图生成PSG)(5)

PSG 模型效果展示

PSG 任务优势

下图的例子可以说明全场景图生成(PSG)任务的优势:

opencv绘制网格(ECCV2022全场景图生成PSG)(6)

左图来自于 SGG 任务的传统数据集 Visual Genome (VG-150)。可以看到基于检测框的标注通常不准确,而检测框覆盖的像素也不能准确定位物体,尤其是椅子,树木之类的背景。同时,基于检测框的关系标注通常会倾向于的标注一些无聊的关系,如“人有头”,“人穿着衣服”。相比之下,右图中提出的 PSG 任务提供了更全面(包括前景和背景的互动)、更清晰(合适的物体粒度)和更准确(像素级准确)的场景图表示,以推动场景理解领域的发展。

两大类PSG方法

为了支撑 PSG 任务,研究者搭建了一个开源代码平台 OpenPSG,其中实现了四个双阶段的方法和两个单阶段的方法,方便大家开发、使用、分析。

opencv绘制网格(ECCV2022全场景图生成PSG)(7)

双阶段的方法利用 Panoptic-FPN 在第一阶段中对图像进行全景分割。接下来该研究提取了全景分割得到的物体的特征以及每一对物体融合的关系特征,送至下一阶段的关系预测阶段。框架已集成复现了传统场景图生成的经典方法 IMP,VCTree,Motifs,和 GPSNet。

opencv绘制网格(ECCV2022全场景图生成PSG)(8)

PSGTR 是基于 DETR 的单阶段方法。模型首先在 a)中通过卷积神经网络 backbone 提取图片特征并加以位置编码信息作为编码器的输入,同时初始化一组用以表示三元组的 queries。与 DETR 类似地, 在 b)中模型将编码器的输出作为 key 和 value 与表示三元组的 queries 一同输入解码器进行 cross-attention 操作。随后模型在 c)中将解码完成的每个 query 分别输入主谓宾三元组对应的预测模块,最后得到对应的三元组预测结果。

opencv绘制网格(ECCV2022全场景图生成PSG)(9)

PSGFormer是基于双decoder DETR的单阶段方法。模型在 a) 通过 CNN 提取图片特征,加以位置编码信息输入编码器,同时初始化了两组 queries 分别代表物体和关系。接着在 b)步骤里,模型基于编码器编码的图片信息,分别在物体解码器和关系编码器中通过 cross-attention 解码学习物体 query 和关系 query。当两类 query 均学习完毕后,在 c)中通过映射后匹配,得到成对的三元组 query。最后在 d)中通过预测头分别完成关于物体 query 和关系 query 的预测,并根据 c)中的匹配结果得到最终的三元组预测结果。

PSGTR 与 PSGFormer 都是在 DETR 的基础上进行扩展和改进的模型,不同的地方在于 PSGTR 用一组 query 对于三元组直接建模而 PSGFormer 则通过两组 query 分别对物体和关系建模,两种方法各有利弊,具体可参考论文中实验结果。

总结和展望

1. 大部分在 SGG 任务上有效的方法在 PSG 任务上依旧有效。然而有一些利用较强的数据集统计先验,或主谓宾中谓语方向先验的方法可能没那么奏效。这可能是由于 PSG 数据集相较于传统 VG 数据集的 bias 没有那么严重,并且对谓语动词的定义更加清晰可学。因此,研究团队希望后续的方法关注视觉信息的提取和对图片本身的理解。统计先验可能在刷数据集上有效,但不本质。

2. 相比于双阶段模型,单阶段模型目前能达到更好的效果。这可能得益于单阶段模型有关于关系的监督信号可以直接传递到 feature map 端,使得关系信号参与了更多的模型学习,有利于对关系的捕捉。但是由于本文只提出了若干基线模型,并没有针对单阶段或双阶段模型进行调优,因此目前还不能说单阶段模型一定强于双阶段模型。这还希望参赛选手继续探索。

3. 相比于传统的 SGG 任务,PSG 任务基于全景分割图进行关系配对,要求对于每个关系中主宾物体的 id 进行确认。相比于双阶段直接预测全景分割图完成物体 id 的划分,单阶段模型需要通过一系列后处理完成这一步骤。若基于现有单阶段模型进一步改进升级,如何在单阶段模型中更有效的完成物体 id 的确认,生成更好的全景分割图,仍是一个值得探索的话题。

最近大火的基于文字输入的生成模型(如 DALL-E 2) 的画作着实令人惊叹,但是也有研究表明,这些生成模型可能只是把文本中的几个实体粘合在一起,甚至都没有理解文本中表述的空间关系。如下图,虽然输入的是 “杯子在勺子上”,生成的图片仍然都是 “勺子在杯子里”。

opencv绘制网格(ECCV2022全场景图生成PSG)(10)

正巧,PSG 数据集标注了基于 mask 的 scene graph 关系。我们可以利用 scene graph 和全景分割 mask 作为训练对,得到一个 text2mask 的模型,在基于 mask 生成更细致的图片。因此,PSG 数据集有可能也为注重关系的图像生成提供了潜在的解决方案。

,