南洋理工提出全场景图生成PSG任务,像素级定位物体,还得预测56种关系

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


现在已经2022年了,但是当下大多数的计算机视觉任务却仍然只关注于图像感知。比如说,图像分类任务只需要模型识别图像中的物体物体类别。

虽然目标检测,图像分割等任务进一步要求找到物体的位置,然而,此类任务仍然不足以说明模型获得了对场景全面深入的理解。

以下图1为例,如果计算机视觉模型只检测到图片中的人、大象、栅栏、树木等,我们通常不会认为模型已经理解了图片,而该模型也无法根据理解做出更高级的决策,例如发出「禁止投喂」的警告。

图1:原示例图

事实上,在智慧城市、自动驾驶、智能制造等许多现实世界的AI场景中,除了对场景中的目标进行定位外,我们通常还期待模型对图像中各个主体之间的关系进行推理和预测。

例如,在自动驾驶应用中,自动车需要分析路边的行人是在推车还是在骑自行车。根据不同的情况,相应的后续决策可能都会有所不同。而在智能工厂场景中,判断操作员是否操作安全正确也需要监控端的模型有理解主体之间关系的能力。

大多数现有的方法都是手动设置一些硬编码的规则。这使得模型缺乏泛化性,难以适应其他特定情况。

场景图生成任务(scene graph generation,或SGG)就旨在解决如上的问题。在对目标物体进行分类和定位的要求之上,SGG任务还需要模型预测对象之间的关系(见图 2)。

图2:场景图生成


传统场景图生成任务的数据集通常具有对象的边界框标注,并标注边界框之间的关系。但是,这种设置有几个固有的缺陷:

(1)边界框无法准确定位物体:如图2所示,边界框在标注人时不可避免地会包含人周围的物体;

(2)背景无法标注:如图2所示,大象身后的树木用bounding box标注,几乎覆盖了整个图像,所以涉及到背景的关系无法准确标注,这也使得场景图无法完全覆盖图像,无法达到全面的场景理解。

因此,作者提出全场景图生成(PSG)任务,携同一个精细标注的大规模PSG数据集。

图3:全场景图生成

如图 3 所示,该任务利用全景分割来全面准确地定位对象和背景,从而解决场景图生成任务的固有缺点,从而推动该领域朝着全面和深入的场景理解迈进。

论文信息


Paper link: https://arxiv.org/abs/2207.11247Project Page: https://psgdataset.org/OpenPSG Codebase: https://github.com/Jingkang50/OpenPSGCompetition Link: https://www.cvmart.net/race/10349/baseECCV’22 SenseHuman Workshop Link: https://sense-human.github.io/HuggingFace Demo Link: https://huggingface.co/spaces/ECCV2022/PSG

作者提出的PSG数据集包含近五万张coco的图片,并基于coco已有的全景分割标注,标注了分割块之间的关系。

作者精细地定义了56种关系,包括了位置关系(over,in front of,等),常见的物体间关系(hanging from等),常见的生物动作(walking on,standing on,等),人类行为(cooking等),交通场景中的关系(driving,riding等),运动场景中的关系(kicking等),以及背景间关系(enclosing等)。

作者要求标注员能用更准确的动词表达就绝不用更模糊的表达,并且尽可能全地标注图中的关系。

PSG模型效果展示

任务优势


作者通过下图的例子再次理解全场景图生成(PSG)任务的优势:

左图来自于SGG任务的传统数据集Visual Genome (VG-150)。可以看到基于检测框的标注通常不准确,而检测框覆盖的像素也不能准确定位物体,尤其是椅子,树木之类的背景。同时,基于检测框的关系标注通常会倾向于的标注一些无聊的关系,如「人有头」,「人穿着衣服」。

相比之下,右图中提出的 PSG 任务提供了更全面(包括前景和背景的互动)、更清晰(合适的物体粒度)和更准确(像素级准确)的场景图表示,以推动场景理解领域的发展。

两大类PSG模型


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

双阶段的方法利用Panoptic-FPN在第一阶段中对图像进行全景分割。

接下来作者提取全景分割得到的物体的特征以及每一对物体融合的关系特征,送至下一阶段的关系预测阶段。框架已集成复现了传统场景图生成的经典方法IMP,VCTree,Motifs,和GPSNet。

PSGFormer是基于双decoder DETR的单阶段方法。

模型首先在a)中通过卷积神经网络backbone提取图片特征并加以位置编码信息作为编码器的输入,同时初始化一组用以表示三元组的queries。

与DETR类似地, 在b)中模型将编码器的输出作为key和value与表示三元组的queries一同输入解码器进行cross-attention操作。

随后模型在c)中将解码完成的每个query分别输入主谓宾三元组对应的预测模块,最后得到对应的三元组预测结果。

PSGFormer基于双decode的DETR的单阶段方法。

模型在a) 通过CNN提取图片特征,加以位置编码信息输入编码器,同时初始化了两组queries分别代表物体和关系。

接着在b)步骤里,模型基于编码器编码的图片信息,分别在物体解码器和关系编码器中通过cross-attention解码学习物体query和关系query。

当两类query均学习完毕后,在c)中通过映射后匹配,得到成对的三元组query。

最后在d)中通过预测头分别完成关于物体query和关系query的预测,并根据c)中的匹配结果得到最终的三元组预测结果。

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

结论分享


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

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

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


最后,欢迎大家试用HuggingFace:

Demo:https://huggingface.co/spaces/ECCV2022/PSG

关于图像生成的展望


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

如下图,虽然输入的是「杯子在勺子上」,生成的图片仍然都是「勺子在杯子里」。

正巧,PSG数据集标注了基于mask的scene graph关系。

作者可以利用scene graph和全景分割mask作为训练对,得到一个text2mask的模型,在基于mask生成更细致的图片。

因此,PSG数据集有可能也为注重关系的图像生成提供了潜在的解决方案。

相关文章
Java 将Map的toString格式字符串转为 Map
Java 将Map的toString格式字符串转为 Map
1744 0
Java 将Map的toString格式字符串转为 Map
|
3月前
|
人工智能 安全 Java
先收藏|OWASP Top10 第二坑:Java开发踩过的配置漏洞
OWASP 2025榜单显示,“安全配置错误”高居第二,100%被测Java应用中招,漏洞超71.9万次!本文揭露6大典型配置风险:默认账户未改、Swagger未禁用、报错信息裸奔、云服务权限失控、安全头缺失、密钥硬编码,并附真实案例与修复指南。(239字)
|
2月前
|
人工智能 自然语言处理 安全
【详细版教程】OpenClaw 2.6.2 Windows10 部署完整教程
OpenClaw(小龙虾)是专为Windows10优化的本地AI智能体框架,支持一键部署、零代码配置,可跨软件自动执行文件整理、邮件发送、浏览器操作等任务。数据完全本地运行,保障隐私安全,10分钟即可搭建属于你的AI数字员工。
|
10月前
|
存储 JSON Java
淘宝店铺全量商品接口实现:从店铺解析到批量采集技术方案
本文介绍了淘宝店铺商品数据采集的技术实现方案,涵盖店铺页面解析、商品分页遍历及反爬策略应对。内容聚焦于合规性要求与核心技术难点,提供基于Python的实战代码,实现高效、稳定且符合平台规则的商品数据批量获取,适用于电商分析与竞品监控场景。
|
监控 安全 网络安全
网络边界详解
网络边界详解
|
编译器 开发工具 Android开发
Android 12 新特性深度解析
【2月更文挑战第15天】 随着移动操作系统的不断进化,Android 12带来了一系列创新功能与性能提升。本文将深入剖析Android 12的核心新特性,包括隐私仪表盘、通知管理、设备控制以及性能优化等方面,为开发者和用户提供全面的更新指南。
|
存储 芯片
什么是虚地址,什么是物理地址?
什么是虚地址,什么是物理地址?
828 0
|
存储 移动开发 前端开发
前后端RSA互相加解密、加签验签、密钥对生成(Java)
最近有一些安全性要求比较高的场景,我们提供API给第三方商户用于收单,其中有几个功能是绑卡、ATM/POS密码变更。
前后端RSA互相加解密、加签验签、密钥对生成(Java)
|
前端开发 JavaScript 大数据
如何解决大数据下滚动页面卡顿问题
如何解决大数据下滚动页面卡顿问题
505 0

热门文章

最新文章