ACL 2023 | 从平面图像中理解空间语义:视觉空间位置描述

2023-06-26 13:06 540 阅读 ID:1182
将门
将门

本研究首次提出了一种关于视觉空间描述的新任务,构建了一个大规模图片-空间描述数据集,提供一个基于预训练视觉语言模型的基线方法,和基于 3D 特征和空间场景图建模的新型框架,实现了对图文生成领域在空间感知这一方向上的延伸,并为下游空间感知相关的应用提供了方法建模的启发。

论文链接:https://arxiv.org/abs/2210.11109

论文链接https://arxiv.org/abs/2305.11768
代码和数据:https://github.com/zhaoyucs/VSD

一、动机

1.1 图文生成任务(Image-to-Text Generation)背景

图文生成任务(Image-to-text Generation),即根据视觉图像输入生成关于图像的自然语言描述,是视觉理解的一个基本形式。图文生成在很多实际场景中都有相应的应用,例如图片搜索、自动导航、辅助感知,及诸多领域下的人机交互场景。对图文生成研究最多的是图像字幕(Image Caption),即为图片生成一句简短的描述。

然而这种方式仅仅停留在对图中展示内容的概括性描述,无法全方位、多角度地描绘出场景细节。另外一种形式的图文生成任务是视觉问答(Visual Question Answering),视觉问答在给定图片的基础上额外输入一个问题,根据提问内容针对性的回答关于图中的某方面信息。

然而,简单的图像字幕或者视觉问答并不能满足下游场景应用的需求,比如在比较具体的领域像自动导航、遥控等,需要针对性的让模型对视觉场景中的“空间位置信息”进行描述,而一般的图文生成模型没有经过专门针对“空间位置信息”的学习,也就无法实现从“空间位置信息”的角度进行描述生成,也无法解决理解“空间位置信息”过程中遇到的一些特殊问题。

                                                             图1 VSD与一般图文生成任务的区别

1.2 针对空间位置信息的图文生成

为了解决上述问题,我们针对空间语义理解提出了一个专门的图文生成任务:视觉空间位置描述(Visual Spatial Description,VSD)。该任务根据一张图片和图中的两个实体,生成对这两个实体的空间位置关系的自然语言描述。例如,如图 1 所示,根据提供的图片和一对实体(如“man”,“car”),生成他们的空间位置描述(“A man is walking behind a red car from right to left.”)。VSD 属于图文生成任务的一个子集,不同于无约束的图像字幕或视觉问答,它专门从“空间位置信息”的角度对场景进行描述,同时聚焦到了具体的局部目标之上。

1.3 视觉空间描述问题的难点

和一般图文生成任务相比,视觉空间描述任务面临两个关键的特有挑战:

1. 如何从平面图像理解空间位置信息。平面图像是三维真实世界在二维空间上的投影,本身不包含真正的三维空间信息。如图 1 中的“man”和“car”在图像中展示为左右相邻并重叠的区域,必须通过结合图中的场景才能“推理”出他们所表达的三维空间中实际的“前“、”后”关系。

2. 多角度描述问题。对于一种场景,有时需要用多种方式进行描述。如图 1 中的“man”和“car”,描述它们的关系可以通过借助不同的第三方参照物来进行,比如“the car on the road”或者“the car near the pole”等。

二、任务定义与数据标注

2.1 任务定义

视觉空间描述任务定义如下:

2.2 评价指标

主要指标 BLEU,SPICE。次要指标 METEOR,ROUGE,CIDEr

2.3 数据构建

我们利用了公开的图像数据集 SpacialSense 和 VisualGenome 的图片资源,选取了约 3w 张图片进行空间描述的标注,构建了一个 VSD 数据集。我们开发了一个标注平台进行标注管理,并专门雇佣了一批标注人员培训后进行统一标注,标注整体流程如图2所示。标注数据的统计结果如表 1 所示:

                                                                      表1 VSD数据集统计
                                                                         图2 数据标注流程

数据集包含约 3 万张图片,14 万个句子以及 4 千多种目标标签类型。目前已经更新了两个版本 VSD v1 和 VSDv2,v2 版相较于 v1 有更多样性的语言表达和更复杂的句式结构,因而更具挑战性。图 3 中给出了两个版本数据的差异,可以看出 v2 版本的描述句子更加复杂,包含了更多的细节信息。

                                                               图3 VSD v1和VSDv2数据对比

三、视觉空间描述生成模型

3.1 基线模型

                                                                   图4 预训练视觉-语言模型

传统的图文生成模型采用预训练的视觉-语言模型实现,如图 3 所示,包括一个视觉语言编码器和一个解码器。编码器降图像序列化后与文本表示一起进行编码,然后由解码器生成目标文字。一般的图文生成任务如图像字幕和视觉问答都可以通过这类模型解决,并取得了很好的效果。

在此基础上,针对 VSD 任务的特点,我们提出利用空间位置特征增强图文生成模型并引导模型生成关于空间位置关系的描述。具体地,我们将 VSD 两个输入目标的位置坐标编码作为位置特征,再利用空间关系分类任务作为辅助任务帮助训练模型学习空间特征。我们尝试了两种模式:流水线模式和端到端的联合学习模式。

在流水线模式下,如图 5 左侧所示,模型首先根据原始输入和提取的位置特征做关系分类预测,预测结果为预先定义的九个空间关系类别。然后,利用得到的空间关系输入到第二阶段的空间描述生成模型中,得到最终的描述文字。流水线模式虽然利用了空间特征,但由于第一步的关系分类精度无法保证,因此会不可避免产生错误传播问题。

为了避免这个问题,我们采用了端到端的联合学习模式,如图 5 右侧所示。在联合学习模式下,关系分类作为图文生成的辅助任务,并用多任务学习的方式一起训练。这样既充分利用了位置特征又避免了流水线模式的缺点。

                                                              图5 位置特征增强的图文生成模型

3.2 基于3D场景感知的视觉空间描述生成模型(ACL 2023)

然而,基于传统图文生成模型的方法无法解决 VSD 中从平面图像到三维世界的空间推理问题。为此,我们提出一个基于图像整体 3D 场景感知的模型来进行 VSD 生成。该模型采用编码-解码架构,如图 6 所示。

                                                            图6 基于3D场景感知的VSD模型结构

3.2.1 编码器: 3D场景特征建模

  首先,我们利用一个预训练的 3D 检测模型,对评价图像进行 3D 场景估计和目标检测,得到场景中每个物体的位置、姿态等 3D 特征,如表 2 所示。

                                                                              表2 3D特征介绍

然后,以 VSD 两个输入目标为中心,基于他们的 3D 特征构建一个 3D 空间场景图(target object-centered 3D spatial scene graph, GO3D-S²G),表示物体之间的空间位置关系,并通过图神经网络对 3D 空间场景图编码。GO3D-S²G 的构建过程如图 5 所示,图的节点表示场景中的实体,边表示实体空间关系,对所有节点依次建立三类边:

1. 目标实体边:两个目标实体是 VSD 最需要关注的,因此首先连接 VSD 的两个目标实体节点。

2. 目标实体-背景实体边:出目标实体本身,还需要关注目标实体与周围实体的直接交互,因此分别链接两个目标实体节点和其余节点,构成实体节点的一阶邻居。

3. 邻近实体边:场景中一些其他实体的关系也有助于对场景整体的感知,因此我们选择连接位置较近的其它实体作为补充的边。

                                                                       图7 3D空间场景图

构建好 3D 空间场景图之后,我们用一个关键节点中心化的图卷积神经网络(object-centered graph convolutional network, OCGCN)来进行编码建模,在每层迭代过程中额外增强了目标实体节点的特征权重。

3.2.2 解码器:空间语义多样性描述生成

在解码部分,未来满足多样性的描述生成,我们设计了一个 S³ 子图采样机制,通过采样具有不同拓扑结构的子图,来表示多样化的空间语义。具体方法如图 6 所示,我们首先为 3D 空间场景图的每一条边生成一个分数,表示边的重要程度。然后我们对 VSD 的两个目标实体节点采样一个分数最高的一阶邻居,最后修剪低分带有环路的边,最终得到一个有 2 到 4 个节点组成的子图。

                                                                        图8 S³子图采样机制

最后,综合空间位置图特征和视觉特征,通过语言模型进行解码,并引入 prompt learning 来强化语言模型的生成能力。我们根据采样得到的子图设计一个 prompt 模版,包括目标实体的标签,每对节点的关系。具体示例如图 7 所示,其中 table 和 sofa 是两个目标实体,bed 是和 sofa 相关的背景实体。

                                                                        图9 prompt模板示例

对于 prompt 中的 <REL> 关系词,我们根据实体的位置坐标映射到一组预定义的方位词上。映射关系如图 8 所示,方位涵盖了三维空间里的全方位视角。图 9 展示了根据实体的形心坐标计算得到方位词的规则。

最终,我们将采样的图特征和 prompt 模板以及图像视觉特征一同输入语言模型解码,并通过 transformer 中的 cross-attention 进行特征融合最后生成 VSD 描述。

                                                                图10 实体位置到方位词的映射
                                                          图11 位置坐标和方位词的映射规则<br>

四、实验结果

我们在两个版本的 VSD 数据集上进行了实验来验证我们的方法。我们以传统图文生成模型中表现最好的几种为基线模型,对比了我们的方法。

                                                                             表3 实验结果

观察表 3 的结果,我们发现:

  • 传统的图文生成模型(VL-PTMs)可以一定程度地解决 VSD 任务,且性能差别不大。因为预训练的视觉-语言模型具有了一定的通用图文生成能力。
  • VSDv2 版本的数难于 v1 版本,因此模型在 v2 版本明显弱于 v1。
  • 在视觉空间描述任务上,我们的模型明显优于其他模型,表明我们的模型在挖掘图像空间语义方面有更强的能力。
                                                                      表4 多样性生成结果

此外,我们还对比了多样化生成的能力,表 4 的结果表明我们的模型能够生成更多样的句式,同时保证语义上精度。

                                                                          表5 消融实验

表 5 展示的消融实验表明,我们利用 3D 场景信息可以有效帮助图像中物体空间位置关系的理解,且 3D 空间场景图的建模方式起到了关键作用。

                                                                图12 3D特征消融实验

我们比较了不同 3D 特征和纯 2D 特征的作用,图 12 的消融实验表明相较于 2D 特征,3D 特征可以有效提升 VSD 任务的性能。

                                                            图13 S³采样子图的拓扑类型分布

  最后,我们分析了 S³ 机制采样得到的子图拓扑类型的分布。如图 13 所示,通过控制采样阈值,我们可以把子图的拓扑类型分布控制在一个均衡的范围中,以合理地控制多样化程度。

五、工作总结和未来工作方向展望

在这两篇文章中,我们介绍一个新任务——视觉空间描述(VSD)。该任务从平面图像中根据指定目标生成它们的空间位置描述,是对图文生成类任务的一个扩展延伸。我们为该任务构建了一个包括 3 万张图片,10 万句以上的大规模数据集。为了解决 VSD 任务面临的关键问题,我们提出了一个基于 3D 特征利用的生成模型。实验结果表明,我们的模型在解决空间位置推理方面较一般通用图文生成模型表现出色,同时有较好的语义级别的多样性生成能力。对于未来工作方向,我们认为可以从以下几个点入手:

  • 将利用 3D 先验知识从平面图像中推理空间信息的思路应用于其他类似任务,如场景图生成、视频描述等。
  • 多样性生成机制的探索,我们提供了一个利用图结构采用的方式达到多样性生成的目的。类似的方法可以用在其他开放式任务中,如智能对话、图像合成、语音合成等
  • 视觉空间描述仍有一些问题需要探索,比如如何生成对多个目标的复杂关系生成描述、如何对全局场景进行描述、如何解决 grounding 问题等等。

作者:赵煜、费豪等

来源:PaperWeekly

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn