《Unified Visual Relationship Detection with Vision and Language Models》ICCV2023

摘要

这项工作集中在训练单一的视觉关系检测器(VRD),该检测器可以预测来自多个数据集的标签空间的并集。由于不同数据集的标签体系不一致,合并标签是一个挑战。作者提出了 UniVRD,一种新颖的自下而上的方法,利用视觉和语言模型(VLMs)来统一视觉关系检测。VLMs 提供了对齐良好的图像和文本嵌入,其中相似的关系被优化以在语义上统一。UniVRD 在 HICO-DET 上达到了 38.07 mAP,比当前最佳的自下而上的 HOI 检测器相对提高了 60%。更重要的是,当模型扩展时,统一检测器的性能可以与特定数据集的模型相媲美,并且能够实现进一步的性能提升。

拓展阅读:

视觉关系检测(Visual Relationship Detection,简称VRD)旨在识别和理解图像中物体之间的语义关系。这种关系通常是成对的,并且可以用一个谓词(predicate)来描述物体间的相互作用或连接方式。

具体来说,视觉关系检测包括以下几个关键步骤:

  1. 物体检测:首先,系统需要检测图像中的物体,并为每个物体确定一个边界框(bounding box)。

  2. 关系识别:在物体被检测到之后,系统需要识别这些物体之间的语义关系。这些关系可以是"人-物"(human-object)或"物-物"(object-object)的交互,例如"坐在椅子上"、"拿着手机"或"狗追猫"。

  3. 谓词预测:对于每一对物体,系统需要预测一个或多个谓词来描述它们之间的关系。谓词通常是动词或动词短语,如"sitting on"、"holding"、"chasing"。

  4. 上下文理解:视觉关系检测通常需要考虑图像的上下文信息,以便更准确地识别关系。例如,相同的物体在不同的上下文中可能有不同的关系。

  5. 输出关系三元组:最终,系统输出的是一组关系三元组(triplets),每个三元组包含主语(subject)、谓词(predicate)和宾语(object),例如("人","坐在","椅子")。

视觉关系检测对于高级视觉理解任务至关重要,如场景图生成(Scene Graph Generation)、视觉问答(Visual Question Answering)和图像字幕生成(Image Captioning)。这些任务通常需要对图像内容进行深入的语义分析,而不仅仅是简单的物体识别。通过理解物体间的关系,计算机能够生成更丰富、更准确的描述和解释,从而更好地模拟人类的视觉感知和认知能力。

拟解决的问题

现有的视觉关系检测(VRD)模型通常只针对单一数据源进行训练,这限制了它们的泛化能力和可扩展性。作者试图解决的问题是如何训练一个能够统一多个具有异构标签空间的数据集的单一视觉关系检测器。

创新之处

  • 统一标签空间:提出一种新方法来统一不同数据集的标签空间,这是一个之前研究中未解决的问题。
  • 使用 VLMs:利用视觉和语言模型(VLMs)来优化图像和文本的嵌入,使得语义上相似的关系在嵌入空间中彼此接近。
  • 自下而上的设计:UniVRD 的设计允许模型在训练时同时受益于对象检测和视觉关系数据集。

方法

  • 对象检测器:使用标准的 Vision Transformer 作为图像编码器,并通过线性层和前馈网络预测每个实例的类别嵌入和边界框坐标。
  • 关系解码器:在对象检测器之后附加一个 Transformer 解码器,用于从预测的对象中解码成对的关系。
  • 文本嵌入:使用文本嵌入而不是类别整数来对检测到的对象和关系进行分类。

(a) 我们首先调整预训练的视觉和语言模型 (VLM) 进行对象检测。(b) 然后,我们将解码器附加到输出实例嵌入中,以解码来自预测对象的成对关系。查询字符串嵌入文本编码器并用于统一语言空间中的分类。预训练的 VLM 编码器以浅灰色标记,我们的附加模块以浅橙色标记。正面和负面文本字符串分别以绿色和红色突出显示。

对象检测器

对象检测器基于标准的Vision Transformer(ViT)构建,但进行了一些修改以适应对象检测任务:

  1. 移除池化层和最终投影层:原始ViT模型中的池化层和最终的投影层被移除,因为它们不适用于对象检测任务。
  2. 输出Token嵌入:ViT模型的每个输出Token通过一个线性层(Linear Layer)转换,以生成每个实例的分类嵌入。
  3. 边界框预测:Token嵌入通过一个两层的前馈网络(Feed-Forward Network, FFN)来预测边界框坐标。
  4. 文本提示:对于每个物体类别,使用预定义的提示模板生成文本查询,这些查询将通过文本编码器转换为文本嵌入,用于指导对象的分类。

关系解码器

关系解码器的目标是从一组检测到的物体中识别出相互之间的关系,并将这些关系表示为"主题-谓词-对象"的三元组(〈subject, predicate, object〉)。

  • 关系解码器接收来自对象检测器的输出,包括一组预测的边界框集合 和相应的实例嵌入集合
  • 创建一组预定义的关系查询,这些查询是Transformer解码器的输入,用于解码潜在的关系。
  • 每个关系查询通过Transformer解码器的初始化阶段,生成一组初始的关系嵌入 ,其中 M 是解码器的输出关系嵌入的数量,等于学习的关系查询的数量。
  • 在关系嵌入上应用一个线性层和一个 FFN 来预测分别用于主语和宾语框的分类和位置的每个关系嵌入。

通过将预测的关系嵌入 r ∈ R 与实例嵌入 z ∈ Z 进行比较来找到主语和宾语框的索引。具体来说,我们使用 FFN 将每个关系嵌入 投影到主语嵌入 和宾语嵌入 中。主语索引 和宾语索引 通过以下方式获得:

其中 sim(·,·) 测量两个嵌入之间的余弦相似度。

用于分类的文本嵌入

概念解释

  • 用于分类的文本嵌入是将文本(例如类别名称或关系描述)转换为可以用于机器学习模型的连续向量表示的关键步骤。
  • 文本提示是将类别名称或描述性短语转换成模型可以处理的形式。例如,将"person"转换为"a photo of a person"。
  • 文本编码器是一个预训练的语言模型,通常是基于Transformer的架构,能够将文本序列转换为一系列嵌入向量。

文本提示被送入文本编码器,编码器通过其内部的嵌入层和Transformer层处理文本,生成文本嵌入。文本嵌入具有高维空间中的连续值,能够捕捉文本的语义信息,包括同义词、反义词、上下文含义等。

使用相似度度量(如余弦相似性)来比较实例嵌入或关系嵌入与文本嵌入之间的相似度,从而实现分类:

  • 对于对象检测器,文本嵌入用于将检测到的物体与特定的类别关联起来。每个物体的边界框和实例嵌入与文本嵌入进行比较,以确定最佳匹配的类别。
  • 对于关系解码器,文本嵌入用于识别和分类物体间的关系。关系三元组(如"a person riding a horse")被转换成文本提示,并生成相应的文本嵌入。

结论

作者提出了一种基于 VLMs 的自下而上的方法,用于训练单一统一的视觉关系检测模型,该模型在多个数据集上表现出竞争力。通过扩展模型规模,可以在 VRD 任务上获得显著的性能提升。

相关推荐
AI_NEW_COME17 分钟前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室39 分钟前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself41 分钟前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董1 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee1 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa1 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空2 小时前
Python调用open ai接口
人工智能·python
睡觉狂魔er2 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan7242 小时前
LILAC采样算法
人工智能·算法·机器学习