ECCV 2022|全场景图生成PSG:追求「最全面」的场景理解

简介: ECCV 2022|全场景图生成PSG:追求「最全面」的场景理解

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


研究背景


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



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


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

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




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 等)。该研究要求标注员能用更准确的动词表达就绝不用更模糊的表达,并且尽可能全地标注图中的关系。

PSG 模型效果展示


PSG 任务优势

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


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

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


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


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


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) 的画作着实令人惊叹,但是也有研究表明,这些生成模型可能只是把文本中的几个实体粘合在一起,甚至都没有理解文本中表述的空间关系。如下图,虽然输入的是 “杯子在勺子上”,生成的图片仍然都是 “勺子在杯子里”。


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

相关文章
|
人工智能 算法 机器人
字节Coze优缺点分析
【2月更文挑战第16天】字节Coze优缺点分析
3314 2
字节Coze优缺点分析
|
应用服务中间件 Linux 网络安全
Linux 安装 Nginx 并配置为系统服务(超详细)
Linux 安装 Nginx 并配置为系统服务(超详细)
|
Shell Linux Python
基于远程服务器安装配置Anaconda环境及创建python虚拟环境详细方案(一)
基于远程服务器安装配置Anaconda环境及创建python虚拟环境详细方案
6474 0
基于远程服务器安装配置Anaconda环境及创建python虚拟环境详细方案(一)
|
关系型数据库 MySQL Linux
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
在Linux系统中使用tar.xz压缩包安装MySQL数据库的详细步骤。包括下载MySQL压缩包,解压到指定目录,创建mysql用户和组,设置目录权限,初始化MySQL,配置my.cnf文件,启动服务,以及修改root用户密码。此外,还提供了如何设置Windows远程登录MySQL服务器的方法。
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
|
Linux Windows
Nomachine 最简安装与使用指南
这是一篇2022年Nomachine软件的极简安装与使用指南,包括Windows和Linux系统下的安装步骤,以及如何在Windows系统上通过Nomachine远程控制Linux系统的方法。
Nomachine 最简安装与使用指南
|
数据可视化 Ubuntu Linux
PyCharm连接远程服务器配置的全过程
相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。 通常服务器系统采用Linux,而我们平常使用频繁的是Windows系统,二者在操作方面存在很大的区别,比如我们实验室的服务器采用Ubuntu系统,创建远程交互任务时可以使用Terminal终端或者VNC桌面化操作,我觉得VNC很麻烦,所以采用Terminal进行实验,但是Terminal操作给我最不好的体验就是无法可视化中间实验结果,而且实验前后的数据上传和下载工作也让我头疼不已。
|
人工智能 自然语言处理 机器人
谷歌AI Gemin怎么使用?Gemini国内使用指南!(2024.8.19)
从自然语言处理(NLP)到对话生成,AI语言模型已经成为科技界的一个重要组成部分。在众多杰出的AI语言模型中,Gemini凭借其卓越的性能和广泛的应用而脱颖而出。作为谷歌旗下的多模态AI巨头,Gemini融合了最先进的语言处理技术,为用户提供了无与伦比的语言理解和生成能力。
|
存储 算法 Java
JVM垃圾收集-ZGC的染色指针
垃圾收集是回收以前分配的内存的机制, 以便将来的内存分配可以重用它。
1145 0
JVM垃圾收集-ZGC的染色指针
|
存储 安全 算法
Python如何在打印日志时隐藏明文密码?
Python如何在打印日志时隐藏明文密码?
337 0
|
JSON 数据处理 API
盘点Python中4种读取JSON文件和提取JSON文件内容的方法
盘点Python中4种读取JSON文件和提取JSON文件内容的方法
2644 0