3D- vista:预训练的3D视觉和文本对齐Transformer

这篇具有很好参考价值的文章主要介绍了3D- vista:预训练的3D视觉和文本对齐Transformer。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

代码: GitHub - 3d-vista/3D-VisTA: Official implementation of ICCV 2023 paper "3D-VisTA: Pre-trained Transformer for 3D Vision and Text Alignment"

摘要

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

背景

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

1.

将三维物理世界与自然语言结合起来是实现具身人工智能的关键一步[18,26,37],智能体可以在现实世界中理解并进一步执行人类指令[5,29]。最近,3D视觉语言(3D- vl)任务引起了越来越多的关注[19],包括3D视觉基础(3D visual grounding)[8,1]、密集字幕(dense captioning)[11]、语法学习(grammar learning)[23]、问题回答(question answering)[3,56]和情境推理(situated reasoning [36]。 

然而,大多数为3D-VL开发的模型只关注这些3D-VL任务中的一个或两个,并采用特定的任务设计[7,3,36,35,10]。

例如,3D-SPS[35]和BUTD-DETR[27]通过关注VL特征,对每一层的物体进行检测,逐步发现目标物体。3DVG[55]、MVT[24]和ViL3DRel[10]通过在模型设计中明确地注入空间关系信息,改善了三维视觉基础。

3DJCG[7]通过共享的3D对象建议模块shared 3D object proposal module[16]和两个独立的任务头two separate task-specific heads[7],共同学习3D密集字幕和视觉接地(dense captioning and visual grounding)。

此外,训练这些模型通常需要手动指定辅助损耗(例如,3D物体检测/分类和文本分[35,24,7,3,36])或优化技巧(例如,知识蒸馏[4,53])。

缺乏一个简单而统一的方法会造成严重的开发通用3D-VL模型的差距

为了填补这一空白,我们引入了3D-VisTA,一个基于transformer的模型的3D视觉和文本对齐,可以易于适应各种下游任务。与之前的在设计复杂的任务特定模块的模型中,我们简单地使用一个普通的self attention transformer[46]对于单模态建模和多模态融合3 d-vista。作为一般做法进一步加强三维空间理解[10,55,7],我们明确的将成对的空间关系编码成为对象间的self attention权重用于3D对象建模。

2.

受NLP[15、41、42、6、52、31]、CV[22、17、21、25、38]和2D-VL[30、2、34、40]中大规模预训练成功的启发,我们提出在3D场景文本数据上预训练3D- vista,以期在3D- vl任务上获得更好的性能。为此,我们构建了ScanScribe,这是第一个用于3D- vl预训练的大规模3D场景文本对数据集。

我们在提议的ScanScribe数据集上预训练3D-VisTA。我们的预训练任务包括掩码语言建模、掩码对象建模和场景文本匹配。值得注意的是,类似的目标在2D-VL中被广泛采用,但在3D-VL领域却很少被探索。所提出的预训练过程有效地学习了三维点云和文本之间的对齐,从而消除了下游任务微调中对辅助损失和优化技巧的需要。

贡献

1)提出3D- vista,一个简单而统一的transformer,用于对齐3D视觉和文本。所建议的Transformer只是利用了自注意机制,没有任何复杂的特定于任务的设计。

2)构建了ScanScribe,这是一个大规模3D- vl预训练数据集,包含278K 3D场景文本对,用于1,185个独特室内场景的2,995个RGB-D扫描。

3)提出了一种基于掩码语言/对象建模和场景文本匹配的自监督预训练方案。它有效地学习了三维点云和文本对齐,进一步简化和提高了下游任务的微调。

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

相关工作

3D Vision-language Learning 3D视觉语言学习

在这一新兴领域,Chen等人[8]和Achlioptas等人[1]同时引入了scanreferenceReferIt3D数据集,用于对自然语言基于3D对象属性和关系进行基准测试。除了3D视觉基础,Azuma等人[3]开发了一个名为ScanQA的3D问答数据集,该数据集需要一个模型来回答关于给定3D场景的物体及其关系的问题。最近,Ma等人[36]提出了一种称为SQA3D的情境推理任务,用于3D场景中的具体化场景理解。

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

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

Large-scale Pre-training 大规模预训练

近年来,大规模预训练已成为自然语言处理(NLP)、计算机视觉(CV)和2D视觉与语言(2D- vl)领域的基石。引入基于transformer的架构[47],特别是BERT[15]和GPT[41,42,6],已经导致了各种NLP任务的显着改进。这些模型的成功导致了更先进的预训练技术的发展,如XLNet[52]和RoBERTa[31]。这些模型在广泛的NLP任务上取得了最先进的性能,包括文本分类、问题回答和语言生成。CV中最成功的预训练方法是ImageNet[14]预训练,它已被用作广泛的下游任务(如目标检测和图像分割)的起点。最近,引入基于transformer的模型,如ViT[17]和Swin Transformer[32],已经导致各种CV任务的显着改进。

由于预训练技术,2D-VL领域也取得了重大进展。
特别是ViLBERT[34]和LXMERT[45]模型的引入,在视觉问答和图像字幕等任务上取得了最先进的性能。最近,CLIP的发展[40],ALIGN[50]和Flamingo[2]表明,对图像-文本对进行大规模预训练可以更好地进行跨模态理解,并以zero-shot 或few-shot的方式出现上下文学习

大规模预训练在3D-VL中却很少被探索。[7,9]探索了视觉基础和密集字幕的多任务学习,然后在每个任务上进一步微调他们的模型。由于缺乏大规模的预训练数据集,3D-VL预训练的探索可能会受到阻碍。因此,我们构建了ScanScribe,这是第一个用于3D- vl预训练的大规模3D场景文本对数据集。

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

 如表2所示,ScanScribe比现有的3D-VL数据集大得多,文本也更多样化。在ScanScribe上预训练3D-VisTA已经导致了3D-VL任务的显着改进,因此我们相信ScanScribe可以在未来推动3D-VL预训练的探索。

方法

3D-VisTA

如图2所示,3D-VisTA以一对场景点云和句子作为输入。首先通过文本编码模块对句子进行编码,然后通过场景编码模块对点云进行处理。然后通过多模态融合模块将文本和3D对象标记融合,以捕获3D对象和文本之间的对应关系。3D-VisTA使用自我监督学习进行预训练,可以很容易地对各种下游任务进行微调。

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

Text Encoding 文本编码

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

Scene Encoding 场景编码

给定一个3D场景的点云,我们首先使用分割蒙版将场景分解成一包(bag)物体。
分割掩码既可以从ground truth中获得,也可以从实例分割模型中获得[16,28,44]。

1)对于每个对象,我们采样1024个点,并将其坐标归一化为单位球。

2)将目标点云输入PointNet++[39]获取其点特征和语义类。我们将点特征fi、嵌入语义类ci和位置li(即3D位置、长度、宽度、高度)组合为对象标记i的表示。其中Wc和Wl是附加的投影矩阵,将ci和li映射到与fi相同的维度↓

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3)为了进一步提供对象的上下文表示,我们通过将对象token注入四层Transformer来捕获对象到对象的交互。受前人研究[55,24,10]的启发,我们将对象的成对空间关系明确编码到Transformer中(图2中的spatial Transformer)。

我们按照[10]定义了对象对i, j的成对空间特征↓

其中dij是欧几里得距离θh, θv是连接两个物体i,j中心的直线的水平线和对顶角

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

 两两空间特征S = [sij]∈RN×N×5用于调节Transformer中自关注层的关注权重:

 3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

其中w∈R5用于将空间特征映射到注意分数,σ为sigmoid函数。

Multi-modal Fusion 多模态融合

我们简单地将文本和3D对象标记连接起来(?如何连接?直接相加还是相乘?看代码),并将它们发送到l层变压器(图2中的统一变压器)进行多模态融合。可学习的type embeddings 被添加到token中,以区分文本和3D对象。对于[CLS]、文本标记和3D对象标记,我们将多模态融合模块的输出分别表示为{wcls,w1:M, o1:N}。
 

Self-supervised Pre-training 自监督预训练

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

Masked Language Modeling (MLM)

Masked Object Modeling (MOM)

Scene-Text Matching (STM)

Downstream Task Finetuning

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

3D Visual Grounding

3D Dense Captioning

3D Question Answering

3D Situated Reasoning

ScanScribe

scanscribe是我们建立的一个大规模的三维场景文本对数据集

如表3所示,ScanScribe中三维场景文本对的构建包括两部分:

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3D场景:

我们从ScanNet[12]和3R-Scan[48]收集室内场景的RGB-D扫描。为了增加这些场景中3D对象的多样性,每个场景中10%的对象实例根据类别随机替换为Objaverse 3D对象数据库[13]中的对象。对于每个ScanNet和3R-Scan对象类别,我们从Objaverse下载大约40个对象实例作为候选对象替换。因此,我们收集了1,185个室内场景的2,995个RGB-D扫描,其中包含56.1K唯一对象实例

 文本:

对于来自ScanNet的扫描,我们将基于ScanNet的现有数据集中的文本转换为场景描述,包括来自ScanQA[3]的问答对和来自Scan- reference[8]和refit3d[1]的引用表达式。对于来自3RScan的扫描,我们同时采用模板和GPT-3[6],基于它们的场景图注释生成场景描述[51]。

具体地说,对于每个对象,我们首先从场景图中提取所有的〈object, relation, neighbor〉三元组。然后我们使用模板“This is a object, a neighbor is relation to object” 来生成描述。

注意,在基于模板的生成中,我们只选择邻居少于7个的对象。

我们进一步探索使用GPT-3生成带有如下提示“object is relation to neighbor...(repeat until all the neighbors have been used). Where is object? or Summarize the scene.”最终,对收集到的3D场景生成278K的场景描述。

这个貌似就可以解决我LISA:通过大语言模型进行推理分割_Scabbards_的博客-CSDN博客中如何用gpt3生成/改写提示的疑问了

实验

实现细节

预训练运行30个epoch,批大小为128。

AdamW[33]优化器,β1 = 0.9, β2 = 0.98。学习率设为1e−4,预热3000步,余弦衰减。

预训练过程中,我们使用ground-truth segmentation masks生成对象级点云

微调过程中,我们使用ground-truth mask或Mask3d[44],这取决于任务设置。在scanreference数据集上,我们还合并了PointGroup[28]与之前的方法进行比较。

消融实验中,为了简单起见,我们在所有任务中都使用ground-truth masks

预训练和微调都在单个NVIDIA A100 80GB GPU上进行。

实验结果

1.即使从头开始训练,3D-VisTA也可以通过SOTA方法获得具有竞争力的性能。

2.ScanScribe上的预训练显着提高了3D-VisTA的性能。

3.预训练的3D-VisTA在性能上大大优于SOTA。

4.在有限注释的下游任务上微调3D-VisTA可以获得强大的结果。

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

 

消融实验

Transformer Depth

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能 

Pre-training Objectives

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

Pre-training Data

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

 

定性研究和附加结果

我们进行额外的研究,以更好地理解预训练是如何帮助的。

如图4所示,预训练提高了3D-VisTA在视觉基础上的空间理解能力,使其更符合人类对空间关系的先验观点和推理。当模型需要将目标对象与同一类的多个实例区分开来时,这非常有用。预训练还有助于更好地理解颜色和形状等视觉概念,以及回答问题和情境推理的情况。

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

 此外,预训练增强了长文本与3D场景对齐的能力,如图5所示,较长查询的改进幅度更大。

3D- vista:预训练的3D视觉和文本对齐Transformer,1500深度学习笔记,transformer,深度学习,人工智能

未来工作

 目前,3D- vista使用离线3D物体检测模块,这可能是进一步改进的瓶颈。在预训练阶段共同优化目标检测模块是一个有趣的未来方向。此外,对于大规模3D-VL预训练,ScanScribe的数据量仍然不足,因此,扩大预训练数据集和模型大小是进一步提高3D-VL学习的一个有希望的方向。文章来源地址https://www.toymoban.com/news/detail-650304.html

到了这里,关于3D- vista:预训练的3D视觉和文本对齐Transformer的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • html 怎么设置文本对齐,文本间距,盒子居中显示

    1.在一个盒子中我们怎么让文本水平,垂直居中显示 可以看到此时文本默认是在盒子的左上角显示的,可以 添加行高 (line-height 值 与盒子高度一样就行 ),和 文本对齐方式设置为水平居中 ,代码如下:    2.怎么让盒子中的元素居中显示  这里我们可以看到,盒子中的元

    2024年02月08日
    浏览(47)
  • HTML图片和文本居中对齐

    原理比较简单就不上图片了 你也许听说过在行元素中使用 vertical-align: middle; 可以实现居中对其,但实际使用上,常常没有作用。 其实行元素有四条线分别是: 顶线 中线 基线 底线 默认行元素是基线对齐的(两个元素的基线在同一高度) 下面代码相当于图片的基线和文字的

    2024年02月08日
    浏览(34)
  • 力扣:68. 文本左右对齐(Python3)

    给定一个单词数组  words  和一个长度  maxWidth  ,重新排版单词,使其成为每行恰好有  maxWidth  个字符,且左右两端对齐的文本。 你应该使用 “ 贪心算法 ” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格  \\\' \\\'  填充,使得每行恰好有  m

    2024年02月11日
    浏览(25)
  • uniapp input输入框placeholder文本右对齐

    给input标签加上placeholder-class,这个是给placeholder设置样式,右对齐这就是text-align:right;字体颜色之类依次编辑即可。

    2024年02月13日
    浏览(44)
  • 算法leetcode|68. 文本左右对齐(rust重拳出击)

    给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 \\\' \\\' 填充,使得每行恰好有 maxWidth 个字符。

    2024年02月13日
    浏览(38)
  • 要在HTML中让文字居中,可以使用CSS样式来设置文本的对齐方式

    以下是几种常见的居中文本的方法: 1. 使用 `text-align: center;` CSS样式:    这个方法适用于将文本居中对齐在其父元素内。可以将 `text-align: center;` 应用于父元素,这将使其内部的所有文本内容都居中对齐。    示例代码:    ```html    style       .container {         text-align

    2024年02月16日
    浏览(43)
  • 基于Transformer视觉分割综述

    基于Transformer视觉分割综述 SAM (Segment Anything )作为一个视觉的分割基础模型,在短短的 3 个月时间吸引了很多研究者的关注和跟进。如果你想系统地了解 SAM 背后的技术,并跟上内卷的步伐,并能做出属于自己的 SAM 模型,那么接下这篇 Transformer-Based 的 Segmentation Survey 是不

    2024年02月12日
    浏览(34)
  • 计算机视觉中的Transformer

    几十年来,理论物理学家一直在努力提出一个宏大的统一理论。通过统一,指的是将被认为是完全不同的两个或多个想法结合起来,将它们的不同方面证明为同一基础现象。一个例子是在19世纪之前,电和磁被看作是无关的现象,但电磁学理论成功地解释了它们,或以某种方

    2024年02月13日
    浏览(38)
  • Transformer & 立体视觉 & Depth Estimation

    1. Intro 立体深度估计具有重要的意义,因为它能够重建三维信息。为此,在左右相机图像之间匹配相应的像素;对应像素位置的差异,即视差,可以用来推断深度并重建3D场景。最近基于深度学习的立体深度估计方法已经显示出有希望的结果,但仍然存在一些挑战。 其中一个挑

    2024年02月14日
    浏览(36)
  • 【python-docx】文本操作(段落、run、标题、首行缩进、段前段后、多倍行距、对齐方式)

    1.概念 块级元素(block-level) 是指作为一个整体的元素,典型的是段落(paragraph)。 行内元素(inline) ,你可以把它理解为一部分块级元素,即一个块级元素包含一个或多个行内元素,典型的是run对象(我也不知道run应该翻译成什么)。 举个例子,你在Word回车换行开始输入

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包