ICCV 23丨3D-VisTA:用于 3D 视觉和文本对齐的预训练Transformer

来源:投稿 作者:橡皮
编辑:学姐

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

开源代码:http://3d-vista.github.io

摘要:

3D视觉语言标定(3D-VL)是一个新兴领域,旨在将3D物理世界与自然语言连接起来,这对于实现具身智能至关重要。当前的 3D-VL 模型严重依赖复杂的模块、辅助损失和优化技巧,这需要简单且统一的模型。在本文中,我们提出了 3D-VisTA,这是一种用于 3D 视觉和文本对齐的预训练 Transformer,可以轻松适应各种下游任务。 3D-VisTA 仅利用自注意力层进行单模态建模和多模态融合,无需任何复杂的特定于任务的设计。为了进一步增强其在 3D-VL 任务上的性能,我们构建了 ScanScribe,这是第一个用于 3D-VL 预训练的大规模 3D 场景文本对数据集。 ScanScribe 包含源自 ScanNet 和 3R-Scan 数据集的 1,185 个独特室内场景的 2,995 个 RGBD 扫描,以及从现有 3D-VL 任务、模板和 GPT-3 生成的配对 278K 场景描述。 3D-VisTA 通过屏蔽语言/对象建模和场景文本匹配在 ScanScribe 上进行预训练。它在各种 3D-VL 任务上取得了最先进的结果,从视觉标定和密集字幕到问题回答和情境推理。此外,3D-VisTA 展示了卓越的数据效率,即使在下游任务微调期间注释有限,也能获得强大的性能。

1.引言

图 1:我们的 3D-VisTA 管道的总体框架。我们收集各种提示、场景图、3D 扫描和对象来构建 ScanScribe 数据集。通过自监督预训练,3D-VisTA 支持各种下游任务,包括 3D 视觉标定、密集字幕、问题回答和情境推理。

将 3D 物理世界与自然语言结合起来是实现具体人工智能的关键一步,其中智能代理可以理解并进一步执行现实世界中的人类指令。最近,3D 视觉语言 (3D-VL) 任务引起了越来越多的兴趣,包括 3D 视觉标定 、密集描述、语法学习、问题回答、和情境推理。

然而,大多数为 3D-VL 开发的模型仅关注其中一两个 3D-VL 任务,并采用特定于任务的设计。例如,3D-SPS和BUTD-DETR通过关注VL特征并检测每一层中的对象来逐步发现目标对象。 3DVG、MVT和 ViL3DRel通过将空间关系信息显式地注入模型设计中来改进 3D 视觉标定。 3DJCG通过具有两个独立的特定任务头的共享 3D 对象备选模块联合学习 3D 密集字幕和视觉标定。此外,训练这些模型通常需要手动指定的辅助损失(例如,3D 对象检测/分类和文本分类)或优化技巧(例如,知识蒸馏)。由于缺乏简单且统一的方法,在开发通用 3D-VL 模型方面存在巨大差距。

为了填补这一空白,我们引入了 3D-VisTA,这是一种基于 Transformer 的 3D 视觉和文本对齐模型,可以轻松适应各种下游任务。与之前设计复杂的特定任务模块的模型不同,我们只是利用普通的自注意力Transformer进行 3D-VisTA 中的单模态建模和多模态融合。作为进一步增强 3D 空间理解的通用方法,我们将对象之间的成对空间关系显式编码为 3D 对象建模的自注意力权重。

受到 NLP、CV和 2D-VL大规模预训练成功的启发,我们建议在 3D 场景文本数据上预训练 3D-VisTA,旨在在 3D-VL 任务上获得更好的性能。为此,我们构建了 ScanScribe,这是第一个用于 3D-VL 预训练的大规模 3D 场景文本对数据集。我们首先从 ScanNet和 3R-Scan数据集中收集室内场景的 RGB-D 扫描。我们还根据类别随机将场景中的一些对象替换为 Objaverse 3D 对象数据库中的对象,以增加对象多样性。为了获取文本,我们将基于 ScanNet 的现有数据集的文本转换为场景描述,包括来自 ScanQA的问答对以及来自 ScanRefer和 ReferIt3D的引用表达式。我们进一步利用 3R-Scan 扫描的场景图注释 ,并采用模板和 GPT-3从场景图生成场景描述。 ScanScribe 总共包含 278K 3D 场景文本对,用于 1,185 个室内场景的 2,995 次 RGB-D 扫描,以及 56.1K 个唯一对象实例。

我们在提出的 ScanScribe 数据集上预训练 3D-VisTA。我们的预训练任务包括屏蔽语言建模、屏蔽对象建模和场景文本匹配。值得注意的是,类似的目标在 2D-VL 领域被广泛采用,但在 3D-VL 领域却很少被探索。所提出的预训练过程有效地学习了 3D 点云和文本之间的对齐,从而消除了下游任务微调中辅助损失和优化技巧的需要。在六个具有挑战性的 3D-VL 任务上,从视觉标定(即 ScanRefer、Nr3D/Sr3D )和密集字幕(即 Scan2Cap)到问题回答(即 ScanQA)和情境推理(即 SQA3D),微调的 3D-VisTA 将 ScanRefer 上的 SOTA 结果提高了 8.1% (acc@0.5),在 Sr3D 上提高了 3.6%,在 Scan2Cap 上提高了 10.1%(C@0.25),在ScanQA 提高了 3.5%/2.1% (EM@1),SQA3D 提高了 1.9%。此外,3D-VisTA 展示了卓越的数据效率,只需对这些下游任务进行 30% 的注释即可获得出色的结果。

我们的主要贡献可以概括如下:

  • 我们提出了3D-VisTA,一个简单且统一的Transformer,用于对齐3D 视觉和文本。所提出的 Transformer 简单地利用了自注意力机制,没有任何复杂的特定于任务的设计。

  • 我们构建了ScanScribe,这是一个大规模3D-VL 预训练数据集,其中包含278K 3D 场景文本对,用于对1,185 个独特室内场景进行2,995 次RGB-D 扫描。

  • 我们引入了一种用于 3D VL 的自监督预训练方案,具有掩码语言/对象建模和场景文本匹配。它有效地学习3D点云和文本对齐,并进一步简化和改进下游任务微调。

  • 我们对 3D-VisTA 进行微调,并在各种 3D-VL 任务上实现最先进的性能,从视觉标定和密集字幕到问题回答和情境推理。 3D-VisTA 还展示了卓越的数据效率,即使注释有限也能获得出色的结果

2.相关工作

「3D 视觉语言学习。」 最近,人们对 3D 视觉语言 (3D-VL) 学习的兴趣日益浓厚。与传统的场景理解不同,3D-VL 任务将物理世界与自然语言连接起来,这对于实现体现智能至关重要。在这个新兴领域,Chen 等人和 Achlioptas 等人同时引入了 ScanRefer 和 ReferIt3D 数据集,用于对 3D 对象属性和关系的自然语言标定进行基准测试。除了 3D 视觉标定之外,Azuma 等人还开发了一个名为 ScanQA 的 3D 问答数据集,该数据集需要一个模型来回答有关给定 3D 场景的对象及其关系的问题。最近,Ma 等人提出了一种名为 SQA3D 的情境推理任务,用于 3D 场景中的具体场景理解。

已经针对这些基准提出了几种模型。值得注意的是,3D-SPS和BUTD-DETR通过利用交叉注意机制和语言指导逐步发现目标对象。 3DVG、MVT和 ViL3DRel通过将空间关系信息明确地注入到其模型中来解决 3D 视觉标定问题。尽管这些工作在桥接 3D 视觉和语言方面取得了令人印象深刻的成果,但它们仍然严重依赖模型设计中特定于任务的知识和复杂的优化技术。相比之下,所提出的 3D-VisTA 通过一个简单的基于 Transformer 的架构统一了视觉标定、问答和情境推理。训练 3D-VisTA 也很简单,不需要任何辅助损失或复杂的优化技术。请参阅表 1,了解 3DVisTA 与其他 3D-VL 模型之间的详细比较。任务、辅助损失和架构。

表 1:3D-VisTA 与其他模型之间的比较任务、辅助损失和特定于任务的架构。“VG”代表视觉标定,“QA”代表问题回答,“SR”代表情境推理,“DC”代表密集字幕。 “DET”代表对象检测损失,“KD”代表知识蒸馏损失,“O-CLS”代表对象分类损失,“T-CLS”代表文本分类损失。 “CA”代表交叉注意力,“2D”代表2D特征,“MV”代表多视图特征,“LC”代表语言条件模块。

「大规模预训练。」 近年来,大规模预训练已成为自然语言处理(NLP)、计算机视觉(CV)和2D视觉与语言(2D-VL)领域的基石。基于 Transformer 的架构,特别是 BERT和 GPT的引入,导致了各种 NLP 任务的显着改进。这些模型的成功促进了更先进的预训练技术的发展,例如 XLNet和 RoBERTa。这些模型在各种 NLP 任务上都取得了最先进的性能,包括文本分类、问答和语言生成。 CV 中最成功的预训练方法是 ImageNet预训练,它已被用作各种下游任务(例如对象检测和图像分割)的起点。最近,基于 Transformer 的模型(例如 ViT和 Swin Transformer)的引入导致了各种 CV 任务的显着改进。由于预训练技术,2D-VL 领域也取得了重大进展。特别是,ViLBERT和 LXMERT模型的引入在视觉问答和图像字幕等任务上取得了最先进的性能。最近,CLIP、ALIGN Flamingo的发展表明,对图像文本对进行大规模预训练可以带来更好的跨模态理解和上下文学习的出现以零样本或少样本的方式。

尽管大规模预训练已成为 NLP、CV 和 2D-VL 中的关键技术,但在 3D-VL 中却很少被探索。 探索视觉标定和密集字幕的多任务学习,然后进一步微调每个任务的模型。缺乏大规模预训练数据集可能会阻碍 3D-VL 预训练的探索。因此,我们构建了 ScanScribe,这是第一个用于 3D-VL 预训练的大规模 3D 场景文本对数据集。如表 2 所示,ScanScribe 比现有的 3D-VL 数据集大得多,并且文本也更加多样化。在 ScanScribe 上预训练 3D-VisTA 使 3D-VL 任务有了显着改进,因此我们相信 ScanScribe 可以推动未来 3D-VL 预训练的探索。

表 2:ScanScribe 与其他 3D-VL 数据集之间的比较。 “VG”代表视觉标定,“QA”代表问答,“SR”代表情境推理,“PT”代表预训练。 “词汇。”表示文本词汇量。

3.3D-VisTA

在本节中,我们介绍 3D-VisTA,一个简单且统一的 Transformer,用于对齐 3D 场景和文本。如图2所示,3D-VisTA以一对场景点云和句子作为输入。它首先通过文本编码模块对句子进行编码,并通过场景编码模块处理点云。然后,通过多模态融合模块将文本和 3D 对象标记融合,以捕获 3D 对象和文本之间的对应关系。 3D-VisTA 使用自我监督学习进行预训练,可以轻松针对各种下游任务进行微调。接下来,我们详细描述每个模块。

3.1 文本编码

我们采用四层 Transformer 将句子 S 编码为文本标记序列 {wcls, w1, w2, ···, wM},其中 wcls 是特殊分类标记([CLS]),M 是句子长度。该文本编码模块由预训练的 BERT的前四层初始化。

3.2场景编码

给定 3D 场景的点云,我们首先使用分割掩模将场景分解为一袋对象。分割掩模可以从地面实况或实例分割模型获得。对于每个对象,我们采样 1024 个点并将它们的坐标标准化为单位球。然后将对象点云输入PointNet++以获得其点特征和语义类。我们将点特征 fi 、语义类嵌入 ci 和位置 li (即 3D 位置、长度、宽度、高度)组合为对象标记 i 的表示:

其中 Wc 和 Wl 是附加投影矩阵,用于将 ci 和 li 映射到与 fi 相同的维度。

为了进一步提供对象的上下文表示,我们通过将对象标记注入四层 Transformer 来捕获对象到对象的交互。受之前工作的启发,我们将对象的成对空间关系显式编码到 Transformer 中(图 2 中的空间transformer)。更具体地说,我们定义对象对 i, j 的成对空间特征:

其中 dij 是欧几里德距离,θh、θv 是连接对象 i、j 中心的线的水平角和垂直角。成对的空间特征 S = [sij ] ∈ R N×N×5 用于调节 Transformer 中自注意力层的注意力权重:

其中 w ∈ R 5 用于将空间特征映射到注意力分数,σ 是 sigmoid 函数。

图 2:我们的 3D-VisTA 的模型架构,包括文本编码、场景编码和多模态融合模块。 3D-VisTA 通过自监督学习目标进行预训练,其中包括屏蔽语言建模、屏蔽对象建模和场景文本匹配。通过添加轻量级任务头,预训练的 3D-VisTA 可以轻松适应各种下游任务,而无需辅助损失和优化技巧等特定于任务的设计。

3.3 多模态融合

我们简单地将文本和 3D 对象标记连接起来,并将它们发送到 L 层 Transformer(图 2 中的统一transformer)以进行多模态融合。可学习的类型嵌入被添加到标记中以区分文本和 3D 对象。我们将多模态融合模块的输出分别表示为 [CLS]、文本标记和 3D 对象标记的 {wcls, w1:M, o1:N }。

3.4 自监督预训练

为了以自我监督的方式学习 3D 场景和文本对齐,我们通过以下代理任务在 3D 场景-文本对上预训练 3D-VisTA:

「掩码语言建模MLM。」 我们按照BERT预训练[15]进行MLM:(1)随机选择15%的文本标记; (2) 80%的时间:将这些标记替换为[MASK]; (2) 10%的时间:用一些随机文本标记替换这些标记; (3) 10%的时间:这些代币保持不变。该模型经过训练,可以在给定剩余文本和 3D 对象标记的情况下预测屏蔽文本标记:

「蒙版对象建模MOM。」 与 MLM 类似,我们屏蔽了 10% 的 3D 对象标记。然而,我们通过仅用可学习的掩码嵌入替换其点特征和语义嵌入(即等式(1)中的“fi + Wcci”)来掩蔽 3D 对象标记,但保留其位置信息(即等式(1)中的“Wl li”)等式(1))不变。该模型经过训练,利用被遮蔽对象的位置线索在给定剩余 3D 对象和文本的情况下预测其语义类别 c:

「场景文本匹配STM。」 虽然屏蔽语言和对象建模能够以细粒度实现本地文本-对象对齐,但我们还执行场景-文本匹配以增强场景和文本的全局融合,我们发现这对于下游问答任务非常有益。更具体地说,我们提取对应于 [CLS] 的输出作为输入场景-文本对的全局表示,并将其输入到两层 MLP 中以预测场景和文本是否匹配:

实际上,训练批次中 30% 的样本是负对,通过用随机选择的样本替换场景点云或文本来创建。

「最终的损失。」 我们的最终预训练目标是通过简单地添加上面代理任务的损失来获得的:

值得注意的是,所提出的预训练方案是自监督且与任务无关的,这与之前的工作[7]中使用的需要任务监督的监督多任务学习不同。

3.5 下游任务微调

通过添加轻量级任务头,预训练的 3D-VisTA 可以轻松适应各种 3D-VL 任务。更具体地说,我们在以下任务上微调 3D-VisTA:

「3D 视觉标定。」 任务模型根据引用表达式在 3D 场景中定位目标对象。为了找到被引用的对象,我们对每个对象标记 oi 应用两层 MLP,并获得该对象被引用的概率。该模型使用交叉熵损失进行微调。

「3D 密集字幕。」 引入用于测试模型检测和描述 3D 场景中的对象的能力。我们采用 w1:M 并自回归预测文本标记来生成句子。该模型使用交叉熵损失进行微调。

「3D问答。」 需要一个模型来回答给定 3D 场景的与对象相关的问题。我们将文本标记 w1:M 和对象标记 o1:N 馈送到模块化共同注意网络(MCAN)中以产生答案。该模型使用 QA 损失和对象定位损失进行微调。

「3D 情境推理。」 用于对具体代理的 3D 场景理解进行基准测试。为了使 3D-VisTA 适应此任务,我们将情况描述和问题连接成一个输入句子。答案分类类似于3D问答任务。该模型使用答案损失进行微调。

一般来说,我们发现使 3D-VisTA 适应这些下游任务比以前的方法简单得多,因为 3D-VisTA 仅使用任务损失进行微调,而不需要任何辅助损失(例如,句子/对象分类损失)或优化技巧(例如,多视图聚合和知识蒸馏)。这使得 3D-VisTA 成为更加统一和通用的 3D-VL 模型。

4.SceneScribe

近年来,大规模预训练被广泛用于提高 CV、NLP和 2D-VL中下游任务的性能。然而,大规模预训练在 3D-VL 领域几乎没有涉及,可能是由于缺乏 3D-VL 预训练数据集。为了促进 3D-VL 预训练的探索,我们构建了一个大规模 3D 场景文本对数据集,名为 ScanScribe。如表 3 所示,ScanScribe 中 3D 场景文本对的构建包括两部分:

3D 场景。我们从 ScanNet和 3R-Scan收集室内场景的 RGB-D 扫描。为了增加这些场景中 3D 对象的多样性,每个场景中 10% 的对象实例根据类别随机替换为 Objaverse 3D 对象数据库中的对象。

对于每个 ScanNet 和 3R-Scan 对象类别,我们从 Objaverse 下载大约 40 个对象实例作为候选对象替换。结果,我们收集了 1,185 个室内场景的 2,995 个 RGB-D 扫描,其中包含 56.1K 个独特的对象实例。

文本。对于来自 ScanNet 的扫描,我们将基于 ScanNet 的现有数据集的文本转换为场景描述,包括来自 ScanQA的问答对以及来自 ScanRefer和 ReferIt3D的引用表达式。对于 3RScan 的扫描,我们采用模板和 GPT-3根据场景图注释生成场景描述。具体来说,对于每个对象,我们首先从场景图中提取所有 〈object、relation、neighbor〉 三元组。然后,我们使用模板“这是一个对象,邻居与对象有关系”来生成描述。请注意,我们仅在基于模板的生成中选择少于 7 个邻居的对象。我们进一步探索使用 GPT-3 来生成描述,并提示“对象与邻居有关系......(重复直到所有邻居都被使用)。对象在哪里?或者概括一下场景。”最终,为收集的 3D 场景生成 278K 场景描述。

表 3:ScanScribe 的组成。 * 我们仅使用Objaverse为其他两个数据集中的3D场景提供候选对象替换;因此不会生成场景文本对。

5.实验

5.1 实验设置

实施细节。预训练运行 30 个 epoch,批量大小为 128。我们使用 AdamW优化器,β1 = 0.9,β2 = 0.98。学习率设置为 1e -4 ,预热步骤为 3,000 步,并进行余弦衰减。在预训练期间,我们使用ground-truth分割掩模来生成对象级点云。在微调期间,我们使用ground-truth掩模或Mask3d,这取决于任务设置。在 ScanRefer 数据集上,我们还合并了 PointGroup,以便与以前的方法进行比较。在消融研究中,为了简单起见,我们在所有任务中都使用真实掩模。预训练和微调均在单个 NVIDIA A100 80GB GPU 上进行。

3D 视觉标定。我们针对此任务在三个数据集上评估我们的模型:ScanRefer、Nr3D 和 Sr3D。对于 Nr3D/Sr3D,我们按照 ReferIt3D使用地面实况对象掩模并将结果报告为地面精度,即模型是否在地面实况对象建议中正确选择了引用的对象。对于 ScanRefer,我们使用检测器生成的目标备选并将结果报告为 Acc@k(k ∈ {0.25, 0.5}),即预测框与真实情况重叠且 IoU > 的引用查询的比例k.

3D 密集字幕 我们在 Scan2cap 数据集上评估我们的模型,并报告不同框重叠率下的文本相似度度量。

3D问答。我们在 ScanQA 数据集上评估我们的模型,并使用精确匹配(EM@1 和 EM@10)作为评估指标。我们还报告了几个句子评估指标,包括 BLEU-4、ROUGE、METEOR 和 CIDEr。我们的评估中使用了 ScanQA 的两个测试集(带或不带对象)。

3D 情景推理 我们在 SQA3D 数据集上评估我们的模型,并报告不同类型问题下的答案准确性作为评估指标。

表 4:Nr3D 和 Sr3D 与地面实况对象建议的接地精度 (%)。 Δ 表示 3D-VisTA 和 3D-VisTA(从头训练)之间的性能差异。 3D-VisTA 在 Nr3D 上取得了与 SOTA 竞争的结果,并在 Sr3D 上优于 SOTA。

表 5:ScanRefer 上检测到的目标建议的接地准确度 (%)。 “Det”表示模型中使用的 3D 对象检测模块。 “VN”代表 VoteNet,“PG”代表 PointGroup,M3D 代表 Mask3D,而“Opt.”则代表 VoteNet。表示联合优化 ScanRefer 上的对象检测器。 Mask3D 通过提供更准确的对象备选显着提高了标定精度。

表 6:Scan2Cap 数据集上的字幕结果。 “C”代表“CIDEr”,“B-4”代表“BLEU-4”,“M”代表“METEOR”,“R”代表“ROUGE”。 “@0.25”和“@0.5”表示预测框和真实框之间的重叠率。

5.2 下游任务结果

在本节中,我们讨论下游任务的实验结果,并将所提出的 3D-VisTA 模型与最先进的 (SOTA) 方法进行比较。结果如表 4 至表 8 和图 3 所示,这些结果的主要观察结果如下:

  1. 「即使从头开始训练,3D-VisTA 也能通过 SOTA 方法实现具有竞争力的性能。」 具体来说,3D-VisTA(scratch)在 Nr3D 和 Sr3D 上获得了 57.5% 和 69.6% 的总体准确率,优于大多数之前的模型;它在 ScanQA 上的 EM@1 准确率为 25.2%,比 SOTA 高 1.7%。值得注意的是,3DVisTA 仅使用任务损失在这些数据集上进行训练,没有任何辅助损失或优化技巧,这表明 3D-VisTA 是用于 3D-VL 任务的非常简单但有效的架构。

  2. 「ScanScribe 上的预训练显着提高了 3D-VisTA 的性能。」 总体而言,预训练将 Nr3D/Sr3D 上的准确率提高了 6.7%/6.8%,ScanRefer 上的 acc@0.25/0.5 提高了 4.7%/4.3%,ScanQA 上的 EM@1 提高了 1.8%/2.6%,C @0.25 在 Scan2Cap 上提高了 4.2%,在 SQA3D 上的平均准确度提高了 1.8%。这些重大改进巩固了 ScanScribe 在 3D-VL 预训练方面的功效。

  3. 「预训练的 3D-VisTA 的性能大幅优于 SOTA。」 3D-VisTA 在 Sr3D 上比 ViL3DRel 好 3.6%,在 ScanRefer 上比 ViL3DRel好 2.7%/8.1% (acc@0.25/0.5),比 ScanQA好 3.5%/2.1 (EM@1),比 Scan2Cap SOTA10.1 %/19.2% (C@0.25/0.5),SQA3D 1.9%(平均)。 3D-VisTA 为这些 3D-VL 任务创造了新记录,并可能激发未来 3D-VL 预训练的研究。

  4. 「对带有有限注释的下游任务进行 3D-VisTA 的微调取得了很好的结果。」 如图 3 所示,使用 ScanRefer 和 ScanQA 上 30% 和 40% 的注释进行微调,预训练的 3D-VisTA 可以比使用完整数据从头开始训练的 3D-VisTA 获得更好的性能。我们假设 3D-VisTA 通过预训练成功捕获了 3D 对象和文本之间的对齐,因此能够轻松适应各种格式的下游任务。它还揭示了 3D-VisTA 以零样本或少样本方式学习看不见的任务的潜力,这种潜力已经通过大规模预训练出现在 NLP和 2D-VL中。

表 7:使用 Mask3D 的对象备选对 ScanQA 进行回答的准确性。每个条目表示“带对象的测试”/“不带对象的测试”。

表 8:使用 Mask3D 的对象备选在 SQA3D 上回答准确性。预训练可以改善大多数问题类型的结果。

图 3:使用不同数量的训练数据微调 3D-VisTA 的性能。

5.3 消融实验

在本节中,我们进行消融研究来分析几个重要超参数的影响,包括 Transformer 深度、预训练目标和数据量。

「Transformer深度。」 由于模型大小是 NLP 和 2D-VL 预训练的关键因素,因此我们通过改变多模态融合模块中的层数来研究Transformer 深度的影响。如表 9a 所示,使用 4 层可实现最佳性能,简单地添加更多层并无帮助。这一观察结果与 NLP 和 2D-VL 的观察结果有些矛盾。它指出,尽管 ScanScribe 比现有的 3D-VL 数据集大得多,但仍远远不足以释放 3D-VL 领域预训练的全部潜力。

「预训练目标。」 表 9b 介绍了预训练目标的消融研究。传销目标本身对问答(QA)略有好处,但对视觉标定(VG)带来负面影响。添加 MOM 和 STM 可以提高 QA 和 VG 的性能,这凸显了 MOM 和 STM 对于对齐 3D 视觉和文本的重要性。总体而言,同时使用所有三个目标可以使这两项任务获得最佳性能,其中 STM 和 MOM 可以最大程度地提高准确性。

「预训练数据。」 表 9c 展示了使用各种预训练数据配置的结果。我们可以看到,简单地使用与下游任务来自同一领域的 ScanNet 数据进行预训练,可以在 VG 和 QA 方面带来显着的改进。这验证了预训练的有效性,即使在下游任务没有额外 3D 数据的情况下也是如此。添加 3R-Scan 和 Objaverse 增加了 3D 数据的数量和多样性,从而进一步提高了 VG 和 QA 的准确性。总体而言,当使用所有三个数据源时,这两项任务都可以获得最佳性能。这为改进 3D-VL 任务指明了一条有希望的途径——收集更多数据进行预训练。

表 9:3D-VisTA w.r.t. 的消融研究Transformer 深度、预训练目标和预训练数据。我们报告了 ScanRefer 上视觉标定 (VG) 的精度和 ScanQA 上问答 (QA) 的 EM@1 精度。

5.4 定性研究和其他结果

在本节中,我们进行了额外的研究,以更好地了解预训练的帮助。如图4所示,预训练提高了3D-VisTA对视觉标定的空间理解,因此它可以更好地与人类先前的观点和空间关系推理保持一致。当模型需要将目标对象与同一类的多个实例区分开来时,这非常有帮助。预训练还有助于更好地理解颜色和形状等视觉概念,以及回答问题和情境推理的情况。此外,预训练增强了长文本与 3D 场景对齐的能力,如图 5 中较长查询的较大改进所证明的那样。

图 4:各种任务的定性结果。斜体文本代表输入,蓝色框或文本代表从头开始训练的 3D-VisTA 的预测,红色代表预先训练的 3D-VisTA 的预测,绿色代表基本事实。结果表明,预训练提高了对空间关系、视觉概念和情境的理解。

图 5:ScanRefer 中不同句子长度(≤ 15、≤ 30、> 30)的从头训练和预训练之间的性能差距。

6.结论

本文提出了 3D-VisTA,这是一种用于 3D-VL 任务的简单而有效的架构。该模型仅使用自注意力层,可以轻松适应各种下游任务,而不需要任何辅助损失或优化技巧。我们还介绍了 ScanScribe,这是第一个用于 3D-VL 预训练的大规模 3D 场景文本对数据集。预训练的 3D-VisTA 在各种 3D-VL 任务上取得了最先进的结果,具有卓越的数据效率,为未来 3D-VL 任务的标定模型铺平了道路。

未来的作品。目前,3D-VisTA使用离线3D物体检测模块,这可能是进一步改进的瓶颈。在预训练阶段联合优化目标检测模块是未来一个有趣的方向。此外,ScanScribe中的数据量仍然不足以进行大规模3D-VL预训练,因此扩大预训练数据集以及模型大小是进一步改进3D-VL学习的一个有希望的方向。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“ViT200”获取全部论文+代码合集

码字不易,欢迎大家点赞评论收藏!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/153840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7安装mysql8

打开Mysql下载页面 https://downloads.mysql.com/archives/community/ 选择版本号: centos选择Red Hat版本,复制地址 复制地址后,链接ssh,添加储存库 yum install 粘贴地址; yum install https://downloads.mysql…

人工智能基础_机器学习044_使用逻辑回归模型计算逻辑回归概率_以及_逻辑回归代码实现与手动计算概率对比---人工智能工作笔记0084

上面我们已经把逻辑回归的公式,以及,公式对应的图形都画画出来了,然后我们再来看看 如何用代码实现 可以看到上面是代码,咱们自己去写一下 import numpy as np from sklearn.linear_model import LogistieRegression from sklearn import datasets # 训练数据和测试数据拆分…

人工智能时代下的程序员核心竞争力:构建专属护城河

选题建议:《人工智能时代下的程序员核心竞争力:构建你的护城河》 大纲: I. 引言 A. 人工智能时代的发展趋势B. 程序员面临的挑战与机遇 I. 引言 A. 人工智能时代的发展趋势 随着科技的飞速进步,我们已经踏入了一个日新月异的人工…

Leetcode—2216.美化数组的最少删除数【中等】

2023每日刷题&#xff08;三十六&#xff09; Leetcode—2216.美化数组的最少删除数 实现代码 int minDeletion(int* nums, int numsSize) {int last nums[0], flag 1, ans 0;for(int i 1; i < numsSize; i) {if(flag) { // 前一个下标为偶数if(nums[i] last) {…

Linux C 线程

线程 概述线程和进程的异同如何选择使用进程还是线程 函数获取进程自身ID  pthread_self创建线程  pthread_create退出线程  pthread_exit线程等待  pthread_join 四种线程模型1 &#xff09;单线程2 &#xff09;单线程3 &#xff09;双线程4 &#xff09;三线程 概述…

【HarmonyOS】低代码平台组件拖拽使用技巧之列表

【关键字】 HarmonyOS、低代码平台、组件拖拽、列表、列表项 1、写在前面 我们在日常开发中使用最多的组件可能就是列表组件了&#xff0c;现在几乎所有的应用都离不开列表&#xff0c;那么今天我们就来介绍一下如何利用低代码平台来实现列表的展示&#xff0c;列表实际上也是…

HALCON根据需要创建自定义函数

任务要求&#xff1a; 创建函数myfun(a,b,c)&#xff0c;输入浮点数a&#xff0c;b的值&#xff0c;计算c a b&#xff0c;将计算结果返回。 操作步骤&#xff1a; 1&#xff09;打开HDevelop程序 2&#xff09;打开函数菜单&#xff0c;选择“创建新函数”&#xff0c…

中间件安全:Apache Tomcat 文件上传.(CVE-2017-12615)

中间件安全&#xff1a;Apache Tomcat 文件上传. 当存在漏洞的 Tomcat 运行在 Windows / Linux 主机上&#xff0c;且启用了 HTTP PUT 请求方法(例如&#xff0c;将 readonly 初始化参数由默认值设置为ialse) &#xff0c; 攻击者将有可能可通过精心构造的攻击请求数据包向服务…

java算法学习索引之数组矩阵问题

一 将正方形矩阵顺时针转动90 给定一个NN的矩阵matrix&#xff0c;把这个矩阵调整成顺时针转动90后的形式。 顺时针转动90后为&#xff1a; 【要求】额外空间复杂度为O&#xff08;1&#xff09;。 public void rotate(int[][] matrix) {int tR 0; // 左上角行坐标int tC 0;…

oracle 19c 创建物化视图并测试logminer进行日志挖掘

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等https://xmws-it.blog.csdn.net/article/details/117297837?spm1001.2014.3001.5502【微/信/公/众/号&#xff1a;厦门微思网络】 1、创建物化视图 alter session set container…

解锁无限可能性:探索Amazon Lightsail的便捷云计算服务

解锁无限可能性&#xff1a;探索Amazon Lightsail的便捷云计算服务 在数字化时代&#xff0c;云计算成为推动创新和业务发展的关键驱动力。Amazon Lightsail 作为 Amazon Web Services&#xff08;亚马逊云科技&#xff09;家族中的一员&#xff0c;为小型企业和创业公司提供了…

深度剖析倍增算法求解最近公共祖先(LCA)的细枝末节

1. LCA&#xff08;最近公共祖先&#xff09; 倍增算法的基本思想在前面的博文中有较详细的介绍&#xff0c;本文不再复述。此文仅讲解如何使用倍增算法求解多叉树中节点之间的最近公共祖先问题。 什么是最近公共祖先问题&#xff1f; 字面而言&#xff0c;指在树上查询两个…

linux CentOS7 安装git 配置秘钥公钥克隆代码

第一步&#xff1a;安装git yum -y install git #查看版本 git --version 第二步&#xff1a;配置git信息 git config --global user.name "username" git config --global user.email "XXXXX.com" 第三步&#xff1a;生成密钥和公钥&#xff0c; 后…

裸片-PCBA

裸片 PCBA&#xff0c; 薄膜&#xff0c; 邦定-COB&#xff08;chip on board&#xff09;技术是指将裸芯片直接贴在PCB 板上&#xff0c;然后用铝线或金线进行电子连接的技术

golang 断点调试

1.碰见如下报错,调试器没有打印变量信息 Delve is too old for Go version 1.21.2 (maximum supported version 1.19) 2. 解决办法 升级delve delve是go语言的debug工具。 go install github.com/go-delve/delve/cmd/dlvlatest报错 Get “https://proxy.golang.org/github…

数据驱动-DDT

数据驱动-DDT 说明 自动化测试中&#xff0c;数据驱动是很重要的一个点实际项目中&#xff0c;肯定会出现这种情况&#xff1a;多条测试用例的执行步骤&#xff0c;断言步骤完全一致&#xff0c;只有输入和输出数据不一样这个时候依靠数据驱动&#xff08;数据参数化&#xf…

关于爬虫!看这一篇就够了!

作为一个互联网的技术开发&#xff0c;爬虫不管是自己写的还是所负责的网站被爬&#xff0c;都是挺常见的。 但是一个很常见的东西&#xff0c;却一直没有系统梳理过&#xff0c;今天我们从发展历史&#xff0c;价值&#xff0c;问题和应对恶意爬虫的策略来聊一聊爬虫。 1 爬…

MKRTOS MCU上的微内核操作系统

MKRTOS 全称是 Micro-Kernel Real-Time Operating System&#xff0c;中文名字是微内核实时操作系统。MKRTOS 是首款在开源的支持MCU的微内核操作系统。未来还将在MCU上支持虚拟化&#xff01;&#xff01;下载地址&#xff1a;https://gitee.com/IsYourGod/mkrtos-realMKRTOS被…

数据仓库:架构之详解Kappa和Lambda

目录 一、前言 二、架构详解 1 Lambda 架构 1.1 Lambda 架构组成 1.2 Lambda 特点 1.3 Lambda 架构的优点 1.4 Lambda 架构的不足 2 Kappa 架构 2.1 Kappa 架构的核心组件 2.2 Kappa 架构优点 2.3 Kappa 架构的注意事项 三、区别对比 四、选择时考虑因素 一、前言 …

Camtasia2024喀秋莎软件注册机

真的要被录屏软件给搞疯了&#xff0c;本来公司说要给新人做个培训视频&#xff0c;想着把视频录屏一下&#xff0c;然后简单的剪辑一下就可以了。可谁知道录屏软件坑这么多&#xff0c;弄来弄去头都秃了&#xff0c;不过在头秃了几天之后&#xff0c;终于让我发现了一个值得“…