论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning
  wh9rG0UkdQJu 2023年11月02日 117 0

对比语言图像预训练(CLIP)在 2D 图像任务上表现出了良好的开放世界性能,但其在 3D 点云(即 PointCLIP)上的传输能力仍远不能令人满意。在这项工作中,我们提出了PointCLIP V2,一个强大的3D开放世界学习器,以充分释放CLIP在3D点云数据上的潜力。首先,我们引入了一个真实的形状投影模块,为 CLIP 的视觉编码器生成更真实的深度图,该模块非常高效,并且缩小了投影点云与自然图像之间的域差距。其次,我们利用大规模语言模型为 CLIP 的文本编码器自动设计更具描述性的 3D 语义提示,而不是以前手工制作的提示。在不引入任何 3D 领域训练的情况下,我们的方法在零样本 3D 分类的三个数据集上的准确度显着超过 PointCLIP,准确率分别为 +42.90%、+40.44% 和 +28.75%。此外,PointCLIP V2 可以以简单的方式扩展到小样本分类、零样本部件分割和零样本 3D 对象检测,展示了我们对 3D 开放世界学习的卓越泛化能力。

1.引言

近年来,空间传感器和系统的进步引起了学术界和工业界的广泛关注,例如自动驾驶[7,18]、室内导航[57]和立体重建[31, 42]。为了有效理解 3D 中的主要数据形式点云,提出了许多相关任务并取得了巨大进展,包括形状分类 [34, 50]、场景分割 [36,48,52] 和 3D 对象检测 [26, 53]。重要的是,由于开放世界环境的复杂性和多样性,收集的 3D 数据通常包含大量“看不见”的对象,即从未由已部署的 3D 系统定义和训练的对象。鉴于人工数据标注,如何识别新类别的3D形状已成为热点问题,仍有待充分探索。

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_点云

图 1.PointCLIP V2 的零样本性能。在不同的 3D 数据集上,我们的 V2 比 PointCLIP 实现了零样本 3D 分类的显着精度增强。

最近,人们提出了用于零样本二维图像分类的通用CLIP [37],它通过大规模图像文本对进行预训练,并获得强大的开放世界识别能力。受此启发,PointCLIP [56] 首次表明 CLIP 也可以适用于零样本点云分类,而无需任何 3D 训练。为了弥合 2D 预训练 CLIP 和 3D 输入之间的模态差距,PointCLIP 分别引入了两个用于视觉和文本分支的模块。视觉方式将“看不见的”3D 点云稀疏地投影到 2D 深度图中,而文本方式将一般的 2D 提示修改为手工制作的 3D 描述。然而,作为一个前期的工作,PointCLIP 的零样本分类性能还远远不能令人满意。如图1所示,在广泛采用的ModelNet40[51]和ScanObjectNN[45]数据集上,PointCLIP仅达到23.78%和21.34%的分类精度,无法投入实际使用。因此,我们提出一个问题:到底是什么限制了CLIP在点云上的性能以及如何充分释放它以实现3D开放世界的理解?我们观察到 PointCLIP 主要受到与 2D-3D 域间隙有关的两个因素的影响。

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_3D_02

图 2. 视觉投影的比较。 PointCLIP V2(下)生成更真实的深度图,具有更密集的点分布和更平滑的深度值。

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_CLIP_03

图 3. 文本提示的比较。我们可视化编码文本和视觉特征的相似度得分图,其中 PointCLIP V2(底部)显示出更好的对齐效果。

(1)稀疏视觉投影。 PointCLIP 只是将 3D 点云投影到深度图上,作为具有单一深度值的稀疏分布点(图 2)。虽然很简单,但是散点样式的图形在外观和语义上都与现实世界的预训练图像有很大不同,这严重混淆了 CLIP 的视觉编码器。 (2)朴素的文字提示。 PointCLIP 主要继承了 CLIP 的 2D 提示,“a photo of a [CLASS]”。并附加简单的特定领域单词,例如“深度图”。如图 3 所示,CLIP 文本编码器提取的文本特征很难聚焦于相似度分数高的目标对象。这种简单的 3D 提示无法完全描述 3D 形状,并且会损害嵌入空间中预先训练的语言-图像对齐。

为了解决这个问题,我们提出了 PointCLIP V2,这是一个强大的零样本学习器,用于 3D 开放世界理解。无需“看到”任何 3D 训练数据,我们就能有效地将 2D 预训练 CLIP 转移到零样本 3D 分类、零件分割和对象检测。考虑到PointCLIP的上述缺点,我们的V2从两个方面进一步缩小了2D-3D域差距。

首先,要从 3D 点云生成更多 CLIP 首选图像,一个直观的解决方案是利用更先进的投影方法。除了 PointCLIP 的透视深度散射 [10] 之外,现有文献还利用了 Phong 阴影 [43]、高度图 [44] 和轮廓图 [44] 方式。然而,这些方法包括复杂的处理步骤,计算成本相当高并且耗时,与表 1 相比,阻碍了它们的实时应用。为此,我们提出了真实形状投影,它非常高效,即比 Phong 着色快 67 倍,并且产生比 PointCLIP 更真实的图像。具体来说,我们将不规则点云转换为具有深度值的基于网格的体素然后应用 3D 局部池以及顶部的高斯滤波内核。由此,投影的 3D 形状由具有更平滑深度值的更密集点组成。如图 2 所示,我们生成的图形在视觉上与现实世界的图像更加相似,并且可以高度释放 CLIP 预训练视觉编码器的表示能力。

其次,由于PointCLIP中使用的原始提示缺乏详细的3D特定描述,我们转向自然语言处理中提示工程的成功[16,21,22]。在自动提示设计[20,33,39]的推动下,我们采用大规模语言模型(LLM),例如GPT-3 [2],生成具有丰富3D语义的提示,称为LLM辅助3D提示。

通过将定制命令输入 LLM,例如“给出桌子深度图的标题:”,我们利用其预先训练的语言生成知识来获取一系列 3D 特定的提示,例如“桌子的高度图”有四条腿。”此外,我们还专门针对不同形状类别生成的提示,可以更好地捕捉具有独特空间结构的 3D 形状的独特特征。如图 3 所示,PointCLIP V2 的文本特征对投影深度图发挥了更强的匹配特性,很大程度上保留了 3D 域中预训练的图像文本对齐

凭借我们精心改进的投影和提示方案,PointCLIP V2 在零样本 3D 分类方面显着超越了 PointCLIP,即在 ModelNet10 上分别达到 +42:90%、+40:44% 和 +28:75% 准确率 [51], ModelNet40 [51] 和 ScanObjectNN [45] 数据集。此外,我们的方法还可以以零样本的方式适应更多重要的 3D 任务:零件分割和 3D 对象检测。通过附加密集的反投影通过头部和预训练的 3D 区域提议网络,PointCLIP V2 表现出强大的零样本分割和检测性能,例如,ShapeNetPart [55] 上的 48:4% mIoUI 和 ScanNet V2 [8] 上的 18:97% AP25。这表明 PointCLIP V2 在一般 3D 开放世界理解方面具有巨大潜力。

我们的贡献总结如下:

• 我们提出了PointCLIP V2,这是一种有效的CLIP 跨模式适应方法,可将预先训练的2D 知识转移到3D 领域

• 我们引入逼真的形状投影和LLM辅助3D提示,以有效缩小2D3D域差距。

• 作为第一项工作,我们的PointCLIP V2 可以扩展到零样本3D 零件分割和对象检测,而无需任何3D 域训练。

2、相关工作

3D开放世界学习。现有的 3D 开放世界学习方法主要集中在分类任务上。Cheraghian 等人的一系列努力通过最大化潜在空间中的类间差异来训练“已见”类别的零样本分类器,并对“未见”类别进行测试[4-6]。作为第一次尝试,PointCLIP [56] 在没有对 3D 数据集进行任何训练的情况下实现了零样本点云识别。通过迁移预训练的 CLIP 模型 [37],可以有效地利用 2D 知识来识别 3D 数据。 CLIP2Point [14]通过额外的3D预训练进一步提高了CLIP在点云上的适应性能。在本文中,我们提出了 PointCLIP V2,它遵循 PointCLIP 的范例,但显着增强了其零样本 3D 分类的能力。此外,最近的一些工作 [19,23,27,29] 研究了 3D 场景的开放世界语义分割和 3D 对象检测。与 Cheraghian 等人类似,这些方法都依赖于具有分割和检测标签的 3D“看到”数据,如图 4 所示。相比之下,我们的 PointCLIP V2 仍然不需要“看到”3D 训练,并且第一次,直接进行零样本3D分割和检测,实现完整的3D开放世界理解。

点云投影

与基于点的 3D 模型[17,25,34,36,48,50,52]并行,基于投影的点云分析旨在通过将点云投影到 2D 图像中以获取形状,从而利用丰富的 2D 网络进行 3D 域分类 [1,9,11,12,24,38,40,41,43,47,49,54]。

其中,Qi等人[35]对点云进行球形体素化,并利用Phong着色[32]来渲染不同的图像视图。 Su等人[44]发现简单的高度图和二值轮廓在没有大规模数据集训练的情况下可以很好地概括。值得注意的是,PointCLIP [56] 和 SimpleView [10] 对 3D 到 2D 投影进行透视变换,实现了高效率和良好的分类精度。鉴于视图投影的广泛应用,我们受到启发,在 3D 开放世界设置下为 PointCLIP V2 开发更高效、更真实的投影方法。在表 1 中,我们将我们的方法与现有的高级投影方法的延迟和准确性进行了比较。为了公平比较,我们在 PointCLIP V2 的管道下实施了所有先前的工作,即通过我们的 LLM 辅助 3D 提示来充分揭示其有效性。如图所示,我们的真实形状投影表现出比 [35,43,44] 快得多的推理速度,并且比 PointCLIP 获得了更高的零样本性能,这表明了我们的优势。

3.方法

在本节中,我们首先简要回顾一下用于零样本 3D 分类的 PointCLIP [56](第 3.1 节)。然后,我们具体介绍了我们提出的真实形状投影(第 3.2 节)和 LLM 辅助的 3D 提示(第 3.3 节)。最后,我们针对各种 3D 开放世界任务实施我们的方法(第 3.4 节)。 PointCLIP V2的整体框架如图5所示。

3.1.回顾

PointCLIP

PointCLIP 继承自 CLIP [37],由两个分别用于视觉和文本编码的预训练编码器组成。为了弥合模式差距,PointCLIP 项目将 3D 点云稀疏地分解为深度图作为视觉输入,并使用 3D 相关单词作为文本输入来自定义一般 2D 提示。

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_CLIP_04

图 5.PointCLIP V2 的总体框架。对于视觉编码,我们通过真实形状投影生成高质量的深度图。对于文本编码,我们利用预先训练的大规模语言模型进行 3D 特定提示。 PointCLIP V2 可以通过反向投影密集对齐来扩展到零样本分割,以及给定 3D 区域建议的零样本 3D 检测。

稀疏视觉投影。

给定输入点云,PointCLIP遵循SimpleView [10]进行多视图透视投影。具体来说,对于每个视图,具有 3D 坐标 (x,y,z) 的点 p 被投影到 2D 图像平面上的像素 (|x/z|,|y/z|),其中 |·| 表示上限整数运算。然后,将深度值 z 视为像素强度,并对 RGB 通道重复 3 次。无需进一步处理,生成的M个深度图fVig M i=1由具有不连续像素值的散射点组成。然后,PointCLIP 将这些稀疏深度图输入 CLIP 的视觉编码器,并从 M 个投影视图中获取全局视觉特征 {fi} M i=1,其中 fi 2 ∈ 1×C 。

简单的文字提示。

同时,CLIP 的文本编码器将手工制作的提示作为输入,例如“[CLASS] 的深度图”。提取文本特征Wt ∈ R K×C ,即零样本分类权重。 K表示类的数量,Wt中的每个列向量对应于某个形状类别。

通过使用“深度图”这个词,PointCLIP 希望预先训练的文本编码器能够捕获句子中更多与 3D 相关的线索,从而更好地与投影的深度图对齐。除此之外,通过聚合 {fi} M i=1 和 Wt 之间的多视图对齐来计算最终的零样本分类 logits,公式为

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_CLIP_05

其中αi作为超参数,衡量视图i的重要性。

3.2.逼真的形状投影

为了从 3D 点云生成更逼真的深度图并实现时间效率,PointCLIP V2 中的投影包括四个步骤:体素化、致密化、平滑和挤压,如图 6 所示。

体素化。对于不同的M个视图,我们分别创建一个零初始化的3D网格G ∈ R H×W×D,其中H; W; D表示其空间分辨率,D专门表示垂直于视平面的深度维度。以一个视图为例,我们将输入点云的3D坐标标准化为[0, 1] 并将点 p = (x; y; z) 投影到体素中

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_3D_06

其中 s ∈ (0; 1] 表示调整投影形状大小的比例因子。对于投影到同一体素的多个点,我们简单地为相应体素分配最小深度值。这是因为,从角度来看在目标图像平面上,深度值z较小的点会遮挡较大的点,然后,我们得到一个包含稀疏深度值的3D网格G,由于点云的稀疏性,其中大部分体素是空的。

致密化。为了解决这种不真实的散射问题,我们通过局部小值池化操作来致密网格,以保证视觉连续性。我们通过局部空间窗口内的最小体素值重新分配 G 中的每个体素。同样,与平均池化和最大池化相比,保留最小深度值符合投影地图上被遮挡的视觉外观。这样,稀疏点之间原本空置的体素可以被有效地填充合理的深度值,而背景体素仍然保持空着,从而得到更密集和更平滑的空间表示

光滑的。由于局部池化操作可能会在某些 3D 表面上引入伪影,因此我们采用非参数高斯核进行形状平滑和噪声过滤

通过适当的核大小和方差,滤波不仅可以消除致密化引起的空间噪声,还可以保留原始 3D 形状中边缘和角落的锐度。这样,我们就获得了由 3D 网格表示的更紧凑、更平滑的形状。

挤。最后一步,我们简单地压缩 G 的深度维度以获得投影深度图 V 2 R H×W 。我们提取每个深度通道的最小值作为每个像素位置的值,并将其重复三次作为 RGB 强度。与PointCLIP [56]中的3D到2D透视变换相比,我们基于网格的正交投影对于硬件实现更加友好。

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_点云_07

图 6. 真实形状投影。我们展示其中一个视图的投影管道。该开关选择直接零样本分类或具有可学习平滑的少样本分类。

3.3. LLM 辅助的 3D 提示

PointCLIP 采用先前手工制作的模板作为输入文本编码器的提示,缺乏对投影深度图和类别形状特征的 3D 特定描述。因此,考虑到大规模语言模型(LLM)强大的描述能力,我们利用 GPT-3 [2] 为 CLIP 生成具有足够 3D 语义的文本提示,如图 7 所示。通常,GPT-3 会收到定制的文本提示。语言命令并通过预先训练的知识输出响应。为了使 GPT-3 完全适应 3D 域,我们提出以下四个系列的 3D 相关语言命令:

字幕生成。给定描述性命令,GPT-3 合成目标投影 3D 形状的通用标题,例如输入:“描述 [窗口] 的深度图:”; GPT-3:“它将[窗口]描述为一个黑色的窗格。”。

问答。 GPT-3 生成 3D 相关问题的描述性答案,例如输入:“如何描述 [table] 的深度图?”; GPT3:“[桌子]是一个矩形,顶部平坦,有四个腿。”。

释义一代。对于深度图描述,GPT-3 预计会生成同义句子。例如,输入:“生成句子的同义词:倾斜 [CLASS] 的灰度深度图。”; GPT-3:“倾斜[CLASS]的单色深度图。”。

词到句。基于一组关键词,GPT-3被要求将它们组织成一个完整的句子,并丰富额外的与形状相关的内容,例如输入:“用这些词造一个句子:[桌子],深度图,模糊。” ; GPT-3:“模糊的深度图在角落显示了一张[桌子]。”。

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_3D_08

图 7. LLM 辅助的 3D 提示。我们将四种类型的语言命令输入到预先训练的 LLM 中,这些命令为 CLIP 的文本编码器生成特定于 3D 的提示。

对于 K 类,我们将其类别名称放在“[CLASS]”位置以捕获按类别的形状属性职权。然后,我们将所有语言命令输入 GPT-3 并获取每种命令类型生成的 L 个提示。通过这种方式,我们获得了每个类别具有丰富语义的 4·L 3D 特定描述,并将它们集成为 CLIP 文本编码器的类别提示。

3.4.开放世界理解零样本分类。

通过投影和提示进行跨模式适应后,我们将多视图深度图和 LLM 辅助的 3D 提示输入 CLIP 的编码器,从而产生视觉特征 {fi} M i=1 和文本特征 Wt。然后,我们按照PointCLIP进行语言-图像对齐,通过公式1获得最终的分类logits。

少样本分类。

给定一小组 3D 训练数据,我们可以将真实形状投影的平滑操作修改为可学习的,如图 6 所示。

具体来说,由于不规则点云已转换为基于网格的体素,因此我们在高斯滤波器之后采用两个 3D 卷积层。此类可学习模块学习从小样本数据集中总结 3D 领域知识,并进一步调整 3D 形状以使其更加 CLIP 友好。为了公平比较,我们遵循 PointCLIP 采用多视图适配器并在训练期间冻结预训练的编码器。

零样本零件分割。为了更普遍地理解 3D,我们提出了一个零样本分割管道来启用 PointCLIP 和我们的 V2。对于投影视图,与获得全局特征 ffig M i=1 的形状分类不同,我们在最终池化操作之前从 CLIP 的视觉编码器中提取密集特征图,并将特征上采样为原始深度图大小,表示为 {Fi} M i=1,其中Fi ∈ R H×W×C 。

然后,对于视图 i,我们在每个特征像素和文本特征 Wt 之间进行密集对齐,公式为

论文解读:PointCLIP V2: Adapting CLIP for Powerful 3D Open-world Learning_点云_09

logitsi 中的每个元素表示像素级分类 logits。之后,我们将不同视图的 logits 反投影到 3D 空间并对其进行平均,以获得每个点的部分分割 logits。通过几何反投影,可以以零样本的方式处理 3D 分割任务。

零样本 3D 物体检测。对于 3D 对象检测,我们的 PointCLIP V2 可以用作零样本分类头来识别场景中“看不见”的对象。具体来说,我们利用预训练的 3D 区域提议网络(例如 3DETR [28])来生成候选 3D 框。

然后,每个框中的原始点被输入 PointCLIP V2 进行零样本分类。

4.实验

在本节中,我们首先说明PointCLIP V2的详细网络配置,然后展示我们在不同任务上的开放世界3D性能。

4.1.实施细节

逼真的形状投影。我们设置网格G的默认大小为H × W × D = 224 × 224 × 112,因此投影深度图的大小为224 × 224。点云放置在G的中心,比例因子s为设置为 0.7 以保证更好的视觉外观。用于致密化的最小池化的窗口大小为(10,10,5)。高斯滤波器的核大小设置为(7,7,5)。我们遵循 PointCLIP [56] 以 1024 个点作为输入,并将点云投影到 10 个视图中。对于视觉编码器,我们默认采用视觉变换器[46],块大小为16×16,表示为ViT-Bn16。

LLM 辅助提示。强大的语言模型 GPT-3 [2] 需要为每种命令类型生成 L = 250 形状提示。我们使用“text-davinci-002”GPT-3引擎并将温度常数设置为0.99。

3D特定提示的最大长度设置为40。对于文本编码器,采用12层转换器对提示进行编码[37]。

4.2.零样本分类设置。

零样本分类性能在三个广泛使用的基准上进行评估:ModelNet10 [51]、ModelNet40 [51] 和 ScanObjectNN [45]。

研究了 ScanObjectNN 数据集的三个部分:OBJ ONLY、OBJ BG 和 PB T50 RS。按照零样本的方式,我们直接在完整的测试集上测试分类性能,而不涉及训练集。我们在最佳设置下比较现有方法。

具体来说,PointCLIP V2 和 CLIP2Point 均采用 ViT-Bn16 [14]。对于PointCLIP,我们分别针对ModelNet10、ModelNet40和ScanObjectNN数据集使用ResNet101 [13]、ResNet-50×4 [37]和ViT-Bn16,以充分实现其最佳性能。

4.3.小样本分类设置。

我们在 ModelNet40 [51] 和 ScanObjectNN [45] 数据集上测试 k-shot 分类性能。我们采用与零样本任务中使用的相同的 3D 特定提示作为文本输入,并联合训练视图间适配器和可学习平滑(图 6)。 3D 卷积层采用 5 × 5 × 3 内核大小,后面是批量归一化 [15] 和非线性激活层 [30]。

4.4.零样本零件分割设置。

我们评估了 ShapeNetPart 数据集 [55] 上的零样本分割性能,其中包括 16 个类别和 50 个带注释的部分。遵循先前完全训练的方法 [25,36,48],我们从每个点云中随机采样 2048 个点,并采用官方的训练/验证/测试分割。我们采用 ViT-Bn16 视觉编码器,并从最后一个 Transformer 块中提取特征图作为特征图. 为了进行比较,我们还通过我们提出的零样本分割管道实现了 PointCLIP,并报告了最佳性能结果。

设置。 ScanNet V2 数据集 [8] 用于评估我们的性能,其中包含 18 个对象类别。

我们采用预训练的 3DETR-m [28] 模型作为区域提议网络来预测候选框。我们提取每个框中的点并通过 PointCLIP V2 进行零样本分类。在前面的 18 个类别中添加了一个“None”类别,以衡量每个候选框的客观性得分。我们使用平均精度 (mAP) 在两个不同的 IoU 阈值 0:25 和 0:5(表示为 AP25 和 AP50)下报告验证集上的零样本检测性能。此外,PointCLIP 是通过我们零样本 3D 检测的努力实现的,我们报告了最佳性能的结果。











【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
wh9rG0UkdQJu