论文阅读:PointCLIP: Point Cloud Understanding by CLIP

 CVPR2022

链接:https://arxiv.org/pdf/2112.02413.pdf

0、Abstract

        最近,通过对比视觉语言预训练(CLIP)的零镜头学习和少镜头学习在2D视觉识别方面表现出了鼓舞人心的表现,即学习在开放词汇设置下将图像与相应的文本匹配。然而,在二维大规模图像文本对的预训练下,CLIP识别能否推广到三维识别还有待研究。在本文中,我们通过提出PointCLIP来确定这样的设置是可行的,它对CLIP-encoded的点云和3D类别文本进行对齐。具体来说,我们对点云进行编码,在不渲染的情况下将点云投影到多视图深度图中,并对视图上的零点预测进行聚合,实现从2D到3D的知识转移。在此基础上,我们设计了一个inter-view adapter,以便更好地提取全局特征,并自适应地将3D中学习到的少镜头知识融合到2D预训练的CLIP中。通过在少数镜头设置中对轻量级适配器进行微调,PointCLIP的性能可以得到很大的改善。此外,我们观察了PointCLIP与经典3d监督网络之间的互补性。通过简单的集成,PointCLIP提高了基线的性能,甚至超过了最先进的模型。因此,PointCLIP是在低资源成本和低数据条件下,通过CLIP有效理解3D点云的一个有前途的替代方案。我们对广泛采用的ModelNet10、ModelNet40和具有挑战性的ScanObjectNN进行了深入的实验,以证明PointCLIP的有效性。代码在https://github.com/ZrrSkywalker/PointCLIP发布。

1. Introduction

        近年来,深度学习已经主导了二维和三维领域的计算机视觉任务,如图像分类[12,17,21,28,36,41],目标检测[1,4,13,29,46,64],语义分割[3,24,35,61,65],点云识别和部分分割[19,43,44,55]。随着三维传感技术的迅速发展,对三维点云数据处理需求的不断增长,催生了许多具有更好的局部特征聚合器[30,32,49]、几何建模[20,39,40]和基于投影的处理[20,34,48]的先进深度模型。与基于网格的二维图像数据不同,三维点云存在空间稀疏和不规则分布的问题,阻碍了直接方法从二维域转移。此外,新捕获的大规模点云数据包含大量“看不见”类别的对象到训练有素的分类器。在这种情况下,即使是性能最好的模型也可能无法识别它们,而且当“看不见的”对象出现时,每次都要重新训练也是负担不起的。

        对比视觉语言预训练(CLIP)[45]在2D视觉中显著缓解了类似的问题,该方法提出在自然语言监督下学习可转移的视觉特征。对于“未见”类目的零拍分类,CLIP利用预先训练的视觉和语言之间的相关性进行开放词汇识别,取得了很好的效果。为了进一步提高在少镜头设置下的准确性,CoOp[66]采用可学习标记对文本提示进行编码,从而自适应形成分类器权重。从另一个角度来看,CLIP-Adapter[16]添加了一个具有两个线性层的轻量级残留样式适配器,以更好地适应图像特征。Tip-Adapter[63]进一步提高了它的性能,同时大大减少了训练时间。这两种方法都实现了显著的改进,超过零镜头剪辑。因此,识别新的未标记物体的问题已经在二维CLIP中得到了探索。然而,一个问题自然出现了:这种基于clip的模型能否转移到3D领域,实现对“看不见”的3D对象的零拍分类?

        为了解决这个问题,我们提出了PointCLIP,它将CLIP的2D预训练知识转换为3D点云理解。第一个问题是在无序点云和CLIP可以处理的基于网格的图像之间架起桥梁。考虑到自动驾驶[4,13,29,42]、室内导航[67]等多种场景对实时预测的需求,我们建议采用在线透视投影[19],不进行后期渲染[48],即将每个点简单地投影到一系列预定义的图像平面上,生成散点深度图。该投影过程在时间和计算上的成本都很小,但保留了多视图点云的原始属性。在此基础上,我们利用CLIP预处理的视觉编码器对点云的多视图特征进行编码,并通过零镜头分类器独立获得每个视图的文本匹配预测。在CLIP之后,我们根据提示将3D类别名称放入手工制作的模板中,并通过CLIP的文本编码器生成零镜头分类器。由于不同的视图对整个场景的识别有不同的贡献,我们通过视图之间的加权聚合来获得对点云的最终预测。

        尽管PointCLIP在没有任何3D训练的情况下实现了跨模态零拍分类,但其性能仍落后于在完整数据集上经过良好训练的经典点云网络。为了消除这一差距,我们引入了一个具有瓶颈线性层的可学习访问视图适配器,以便在少镜头设置中更好地从多个视图中提取特征。具体来说,通过交互和汇总交叉视图信息,将所有视图的特征连接起来,提取点云的紧凑全局特征。基于全局表示,生成每个视图的自适应特征,并通过残差连接将其添加到原始的clip编码特征中。通过这种方式,每个视图都配备了融合的全局特征,并将来自3D少镜头数据集的新适应特征与2D预训练的CLIP编码相结合。在培训期间,我们只对这个轻量级适配器进行了微调,并冻结了CLIP的可视和文本编码器,以避免过度拟合,因为每个类只有几个样本。令人惊讶的是,PointCLIP与具有较少镜头微调的采访适配器实现了与使用完整数据集进行良好训练的一些以前的模型相当的性能,这是性能和成本之间的良好平衡。

        此外,我们观察到,在对比缺失的监督下,CLIP的2D知识与近距离的3D监督是互补的。带有访问视图适配器的PointCLIP可以在少镜头设置下进行微调,以提高经典的全训练3D网络的性能。以16镜头的ModelNet40[57]和完全训练的PointNet++[44]中的PointCLIP为例,直接集成它们的预测logit进行测试。令人惊讶的是,PointCLIP将PointNet++ 89.71%的性能提高到92.03%,准确率为87.20%。此外,我们选择目前最先进的三维识别模型CurveNet[39]作为集成基线,实现了从93.84%到94.08%的性能提升。相比之下,简单地将两个在ModelNet40上完全训练过的模型集成在一起,而不使用PointCLIP只会导致性能损失。因此,PointCLIP可以被重新评级为一个多知识集成模块,通过有限的额外训练,通过2D对比知识促进3D网络。

        •我们提出PointCLIP来扩展CLIP处理3D点云数据,通过将2D预训练的知识转换为3D,实现跨模态零拍识别。

        •PointCLIP上引入了一个访问视图适配器,通过多个视图之间的特性交互,提高了少镜头微调的性能。

        •PointCLIP可以作为一个多知识集成模块,用于提高现有完全训练的3D网络的性能,其性能超过了最先进的性能。

        •在广泛适应的ModelNet10、ModelNet40和具有挑战性的ScanObjectNN上进行了全面的实验,这表明PointCLIP在3D理解方面的潜力。

2. Related Work

3D的零镜头学习。零拍学习的目的是使识别“看不见的”物体,在训练中没有采用。虽然零拍学习在二维分类中引起了广泛的关注[26,45,58],但是在三维领域中如何进行零拍学习的研究却很少。作为对点云的第一次尝试,[7]将3D数据集分为两部分:“见过的”和“未见过的”样本,并对前者进行PointNet[43]训练,而对后者通过度量类别语义的余弦相似度进行测试。基于之前的工作,[5]进一步缓解了由于提取的3D特征质量较低而导致的毂度问题[62],[6]引入了三重损失,以在转换设置中获得更好的性能,这允许在训练时利用未标记的“看不见的”数据。与以上设置中对部分三维样本进行训练,对其他三维样本进行预测不同的是,PointCLIP不需要进行任何三维训练,直接实现零点识别,对整个点云数据集进行预测。因此,我们的设置对于2D预训练和3D应用之间的领域差距更具挑战性,但对于实际问题更迫切。

迁移学习。迁移学习[9,60]的目的是利用数据丰富领域的知识来帮助数据稀缺领域的学习。对于一般的视觉,ImageNet[9]的预训练可以极大地辅助下游的任务,如对象检测[1,18,46]和语义分割[35]。在自然语言处理方面,通过蒙版语言模型[10]在网络语料库上预先训练的表示在机器翻译[38]和自然语言推理[8]上也取得了领先的性能。在没有任何微调的情况下,最近推出的CLIP[45]显示了对“不可见”数据集的卓越的图像理解能力。CLIP- adapter[16]、Tip-Adapter[63]、ActionCLIP[53]和WiSE-FT[56]进一步表明,通过注入特定领域的监控,CLIP的性能可以大大提高。虽然成功的案例令人鼓舞,但现有的方法大多都是在相同的模式下进行知识转移,即图像到图像[9]、视频到视频[2]或语言到语言[10]。与他们不同的是,我们的PointCLIP能够有效地将从2D图像中学习到的表示转移到完全不同的3D点云中,这激发了未来在不同模式间迁移学习的研究。

面向点云的深度神经网络。现有的点云深度神经网络可分为基于点的方法和基于投影的方法。基于点的模型在原始点上处理,而不需要任何预转换。PointNet[43]和PointNet++[44]首先用一个多层感知器(multilayer Perceptron, MLP)对每个点进行编码,并利用max pooling操作实现置换不变性。最近的基于点的方法提出了更先进的本地聚合器和架构设计[30,49]。除了原始点之外,基于投影的方法通过将点云转换为体积[37]或多视图[48]数据表单来理解点云。其中,多视图方法将点云投影到多视图图像中,利用在ImageNet[28]上预先训练的2D Convolution Neural Networks (CNN)[21]对其进行处理,如MVCNN[48]等[14,15,25,59]。通常,这种视图投影方法操作离线生成的图像,这些图像是从点转换的3D网格[54]投影出来的,或者需要渲染后的阴影和纹理[47],所以它们在实时应用中昂贵且不实用。相反,我们遵循SimpleView[19],天真地将原始点投影到图像平面上,并根据垂直距离设置它们的像素值。这种深度图的生成在时间和计算成本上都是边际的,满足了高效的端到端零镜头识别的需求。

3. Method

在3.1节中,我们首先回顾了用于2D零拍分类的对比视觉语言预训练(CLIP)。然后在3.2节中,我们引入PointCLIP,它将2D预训练的知识转换为3D。在第3.3节中,我们为PointCLIP提供了访问视图适配器,以便在少镜头设置下获得更好的性能。在3.4节中,我们提议将PointCLIP与经过充分训练的经典3D网络集成在一起,进行多知识集成,可以实现最先进的性能。

3.1. A Revisit of CLIP

        CLIP被训练来匹配图像与它们相应的自然语言描述。CLIP中有两个独立的编码器,分别用于视觉和文本特征编码。在训练过程中,给一组图像和文本,CLIP提取它们的特征,并学习在对比缺失的嵌入空间中对齐它们。为了确保全面的学习,从互联网上收集了4亿个训练图像文本对,这使得CLIP能够将图像与开放词汇表中的任何语义概念进行对齐,以进行零拍分类。

        具体来说,对于K类的“看不见的”数据集,CLIP通过将所有类别名称放入预定义的模板(称为提示符)来构造文本输入。然后,由类别提示符的c维文本特征得到零射分类器,记为。Wt中的每K行向量对预训练的类别权重进行编码。同时,将每个测试图像的特征通过CLIP的视觉编码器编码为,分类计算为:

        其中,softmaxi(·)和pi表示第一类的softmax函数和预测概率。整个过程不需要新的训练图像,仅通过冻结的预先训练的编码器就可以获得很好的零拍分类性能。

3.2. Point Cloud Understanding by CLIP

        二维中各种大规模数据集[28,31]为模型的预训练提供了丰富的样本[11,21],以实现高质量和鲁棒的二维特征提取。相比之下,被广泛采用的3D数据集相对来说要小得多,类别也比较有限,如ModelNet40[57]有9843个样本,40个类,而ImageNet[28]有100万个样本,1000个类。因此,很难获得良好的预训练的三维网络进行迁移学习。为了缓解这一问题,并探究CLIP的跨模性能力,我们提出了PointCLIP,基于预训练的CLIP对点云进行零拍学习。

        弥合模态差距。点云是一组分散在三维空间中的无序点,其稀疏性和分布与基于网格的二维图像有很大的不同。为了将点云转换为CLIP-accessible表示,我们从多个视图生成点投影图像,以消除3D和2D之间的模态差距。例如,在三维空间中,将一个点的坐标记为(x, y, z),以底部投影视图为例,其在图像平面上的位置为(x/z,y/z),位于[19]之后。这样投影出的点云就是一个透视缩短的图形,远处小,近处大,更接近于真实照片。除了[19]应用卷积层将单通道深度图预处理为三个通道外,我们没有采用任何预卷积,而是在三个通道中直接将像素值设置为z。另外,与其他脱机投影方法根据网格[54]或CAD模型[48]生成的投影图像不同,我们的投影深度图是由原始点生成的,没有颜色信息,而是深度值分散,这导致了时间和计算成本的边际。有了这种轻量级的跨模态聚合,CLIP的预先训练的知识就可以用于点云的理解。

        零拍分类。基于M个视图的投影图像,我们使用CLIP提取其视觉特征{fi},对于i = 1,…, m对于文本分支,我们在预定义模板的类标记位置放置K个类别名:“[class]的点云深度图。”,并将其文本特征编码为零射分类器Wt∈RK×C。然后分别计算各视图的分类logitsi,通过加权求和得到点云的最终logitsp,

其中,αi是衡量视图i重要性的超参数。每个视图fi编码点云特征的不同视角,能够进行独立的零拍分类。他们的总结进一步补充了不同角度的信息,以获得全面的了解。PointCLIP的整个过程对于“不可见的”3D数据集来说是非参数化的,它通过CLIP的预先训练的2D知识将每个点云与其类别配对,而不需要任何3D训练。

3.3. Inter-view Adapter for PointCLIP

        虽然PointCLIP在点云上实现了高效的零拍分类,但其性能仍无法与完全训练的3D神经网络相比[43,44]。然后我们考虑一个更常见的场景,在新收集的数据中包含每个“看不见的”类别的一些对象,网络需要在这样的少镜头设置下识别它们。对整个模型进行微调是不现实的,因为参数庞大,样本不足,容易导致过拟合。因此,参考自然语言处理(NLP)中的[23]和CLIP-Adapter[16]对下游任务的预训练模型进行微调,我们在PointCLIP之上附加了一个三层多层感知器(MLP),命名为inter-view adapter,以进一步提高其在少镜头设置下的性能。为了进行培训,我们冻结CLIP的可视和文本编码器,并通过交叉熵损失对可学习适配器进行微调。

        具体来说,给定一个点云的clip编码的M-view特征,我们将它们沿通道维串接为,通过inter-view adapter的前两层获取点云的紧凑全局特征为

其中, W1、W2表示适配器中的两层权值。通过这种访问视图聚合,来自多个透视图的特性融合成一个总括表示。之后,由全局特征生成视图适配特征,并通过残差连接将其添加到原始的clip编码特征中

其中表示视图i中W3的第i部分,。一方面,该算法将全局引导的自适应特征融合到fi中,实现了对点云的整体理解,从而实现了更好的视景预测;另一方面,残差样式适配器将新学习的3D少镜头知识与2D预训练的CLIP知识相融合,进一步促进了知识的跨模态转移。

        在inter-view adapter之后,每个视图用自适应的特征和文本分类器进行分类。与零镜头分类一样,将所有视图的所有M logits进行汇总,构建最终的预测,这里视图权值αi可以作为可学习参数,以便更自适应的聚合。令人惊讶的是,只需对这个轻量级适配器进行少量样本的微调,就可以显著提高性能,例如,在ModelNet40上,每个类别有16个样本,从20.18%提高到87.20%,不到全部数据的1/10。这一鼓舞人心的推进展示了特征适应对3D少镜头数据的有效性和重要性,这极大地促进了从2D到3D的知识转移。因此,带有访问视图适配器的PointCLIP为理解点云提供了一个有前途的替代解决方案。在一些应用程序中,没有条件用大规模的全注释数据来训练整个模型,只有微调带有少量数据的三层适配器才能达到相当的性能。

(感觉思路很简单,就是通过DNN做域转换,前两层有一点融合,第三层有一个shortcut 类似resnet的残差,但是这么讲就觉得高级了)

3.4. Multi-knowledge Ensembling

        经典的点云网络,如早期的PointNet[43]和最近的CurveNet[39],都是通过密切的监控在3D数据集上从头开始训练的。相反,PointCLIP主要从2D视觉语言学习中继承预先训练好的先验,包含不同方面的知识。然后,我们研究这两种形式的知识是否可以合集在一起进行联合推理。在实践中,我们首先得到经典的模型,如由[22]预训练的PointNet++[44],以及zero-shot或适配器版本的PointCLIP。我们对两个模型进行推理,并通过简单的加法将它们的预测对数集成为最终输出。出乎我们的意料,在16-shot微调的PointCLIP 87.20%的辅助下,89.71%的PointNet++提高到92.03%,显著提高了+2.32%。换句话说,两个低分数模型的集成可以产生一个更强的模型,它充分展示了来自两个模型的知识的互补交互。此外,即使零镜头PointCLIP为20.18%,PointNet++仍然可以改进到92.10%。相比之下,对两个受过全面训练的经典模型进行集成并不会提高性能,这表明互补知识的重要性。我们还将这种集成与其他高级网络一起实现,并观察到类似的性能提升,其中一些实现了最先进的性能。因此,PointCLIP可以作为一个即插即用的增强模块来实现健壮的点云理解。

(感觉自己做融合,两个同样的任务的结果,融合后很难提升,这是什么原理,这个也没看懂不知道对不对:

(微调的PointCLIP 87.20%89.71%的PointNet++ = 92.03%

(零镜头PointCLIP为20.18%)89.71%的PointNet++ = 92.10%,怎么零镜头的提高更多?

但是后边的表格里92.1又是16-shot的结果)

4. Experiments

4.1. Zero-shot Classificatio

设置。我们评估了PointCLIP在ModelNet10[57]、ModelNet40[57]和ScanObjectNN[51]三个知名数据集上的零镜头分类性能。对于每个数据集,我们不需要训练数据,采用完整的测试集进行评估。对于预训练的CLIP模型,我们默认采用ResNet-50[21]作为视觉编码器,transformer[52]作为文本编码器。然后,我们从6个正交视图投影点云:前、右、后、左、顶和底,每个视图的相对权重值从1到10,如表1的第四列所示。由于点坐标从-1归一化到1,我们将6个图像平面与坐标中心(0,0)的距离设定为固定的距离,这个距离表示为Proj的第一个值。设置如表1所示,距离越大,图像上的点分布越密集。投影的方形深度图的边长因数据集的不同而不同,在Proj中以第二个值表示。设置,更大的边长导致更小的投影对象大小。然后我们将所有图像上采样到(224,224),以便与CLIP的设置对齐。另外,我们将文本模板设置为“一个[CLASS]的点云深度图”。,以迎合点云的视觉特征。

性能。在表1中,我们展示了zero-shot PointCLIP在三个数据集的最佳性能设置下的性能。在没有任何3D培训的情况下,PointCLIP能够在ModelNet10上实现30.23%的良好效果,这证明了从2D到3D的知识转移是有效的。对于具有4倍于嘈杂的真实世界场景的类别数量的ModelNet40和ScanObjectNN, PointCLIP的性能略差,分别为20.18%和15.38%,这是因为缺少3D下游适配。对于项目的投影距离和图像分辨率。设置,它们的方差符合不同数据集的属性。与室内的ModelNet10相比,ModelNet40上的PointCLIP对于识别复杂的室外物体(如飞机、植物等)需要更多的细节,因此在点分散更多、物体尺寸更大(即透视投影距离和分辨率更大)的情况下表现更好。而ScanObjectNN则需要更密集的点和更大的分辨率来过滤噪声,保留复杂的真实场景信息。在视图权重方面,合成对象的ModelNet10和ModelNet40要求所有6个视图对最终分类的贡献具有不同的重要性,但对于包含有楼层和天花板噪声点的ScanObjectNN来说,上下视图几乎不能提供任何信息。

Ablations

在表2中,我们对ModelNet40上的投影视图数和每个视图的重要性进行了消融研究。对于投影视图数,我们尝试了1、4、6、8、10和121个视图,以便越来越多地捕捉点云的多视图信息,但超过6个视图会带来冗余,导致性能下降。为了探索不同视图如何影响性能,我们将所有相对权重统一为3,并分别将每个视图的权重增加到9。从表中可以看出,从右边投影的效果最好,这说明它的作用是主导的,而top视图和down视图对零拍分类的贡献相对较小。在表4中,我们实现了ResNet[21]到vision transformer[11]不同的视觉骨干,RN50×16[45]的性能最好,达到了23.78%,比ResNet-50多16倍的计算量。然而,将ResNet-50升级到ResNet-101,参数更多、层次更深,并不能提供更高的分类精度。

Prompt Design

我们在表3中给出了五种零弹点剪辑提示设计。我们观察到天真的“一张[CLASS]的照片。,在ModelNet40上达到17.02%,但简单地插入“点云”一词将损害性能。然后我们去掉“一张照片”,直接利用“点云”作为主体,使正确率提高了+1.66%。此外,由于投影的点云通常覆盖图像的大部分区域,添加一个形容词“大”可以带来进一步的性能改进。此外,我们添加了“深度图”,以更恰当地描述投影图像,这有助于最佳表现20.18%,表明提示选择的重要性。

4.2. Few-shot Classification

设置。我们也在ModelNet10[57]、ModelNet40[57]和ScanObjectNN[51]这三个数据集中,在1、2、4、8、16个镜头下对访谈视图适配器进行PointCLIP实验。对于K-shot设置,我们从训练集的每个类别中随机抽取K个点云。我们从4.1节的零拍实验中继承了最佳的投影设置。相比之下,考虑到效率和性能,我们采用ResNet-101[21]作为CLIP的预先训练的视觉编码器,更强的特征提取,并将投影视图数增加到10,增加了上/下、前/后左上角的视图,因为在表2中,左视图被证明是对少镜头识别最有价值的。此外,我们将提示修改为“一个大[类]的点云”。,它在几次射击实验中表现得更好。对于访问视图适配器,我们构建了一个残差式多层感知器(MLP),由三个线性层组成,如第3.3节所述。

性能。在图5中,我们展示了PointCLIP的少数shot性能,并将其与4个具有代表性的3D网络进行比较:PointNet[43]、PointNet++[44]、SimpleView[19]和最先进的CurveNet[39]。正如我们所看到的,PointCLIP与访谈视图适配器优于所有其他方法的少数镜头分类。在每个类别样本数量较少的情况下,PointCLIP优势明显,在ModelNet40上以1次投注的方式,超过PointNet 25.49%,超过CurveNet 12.29%。当提供更多的训练样本时,PointCLIP仍然领先于性能,但由于轻量级三层适配器的拟合能力有限,差距变得更小。详细的培训设置请参见附录。

消融。在表2中,我们展示了不同投影视图下的16镜头PointCLIP,并探讨了每个视图Score (%) Score (%) Score(%)对ModelNet40的贡献。与zero-shot版本不同,16-shot PointCLIP的10个视图的性能优于6个视图,这可能是因为新添加的适配器能够更好地利用来自更多视图的信息,并自适应地聚合它们。考虑到视图的重要性,我们遵循零镜头版本的配置,并观察到相反的结论,左边的视图在这里提供的信息最多。令人惊讶的是,对于表4中不同的视觉编码器,ResNet-101比vision transformer或ResNet-50×16用更少的参数实现了最高的精度。表3列出了提示设计对性能的影响,以及某大[类]的“点云”。,这与第4.1段的分析略有不同。

4.3. Multi-knowledge Ensembling

设置。为了验证预先训练的2D先验与3D知识混合的互补性,我们将ModelNet40上经过精细调整的87.20%的16 shot PointCLIP,分别与经过完全训练的PointNet[43]、PointNet++[44]、DGCNN[55]、SimpleView[19]和CurveNet[39]进行聚合,其训练模型由[22,50]不经过任何投票获得。我们手动调整PointCLIP与每个模型的融合比例,并在表5中报告比例最佳的性能,它代表了PointCLIP相对于整体的权重。

性能。如表5所示,与PointCLIP集成提高了所有经典的全训练3D网络的性能。结果充分证明了PointCLIP与现有的完全训练的3D模型的互补性,并且性能增益不是简单地通过集成模型实现的。这些结果对我们来说是令人惊讶的,因为16杆PointCLIP的准确性低于所有其他模型的全数据集训练,但仍然可以受益于他们已经很高的性能更高。其中,在PointNet++上准确率提高最大,从89.71%提高到92.10%,将PointCLIP与最先进的CurveNet相结合,进一步提高了94.08%。此外,我们观察到,对于具有低基线性能的模型,PointCLIP的logit需要占很大的比例,但对于性能良好的模型,如CurveNet,它们的知识应该在整体中发挥主导作用。

消融。我们对两个在没有PointCLIP的ModelNet40上完全训练的模型进行了消融研究,并为简单起见将它们的logits以相同的比例融合。如表6所示,将PointNet++集成降低了RSCNN和CurveNet的性能,将两个模型中最高的SimpleView和CurveNet进行聚合,并不能获得更好的性能。另外,一对PointCLIP也会损害性能。因此,简单地将两个具有相同训练方案的模型集成通常会导致性能下降,这说明了多知识交互的重要性。在表7中,我们将zero-shot PointCLIP和分别经过8、16、32、64、128个镜头调整的模型与CurveNet融合,探究其整体性能。据报道,zeroshot PointCLIP仅为20.18%,可以使CurveNet增强+0.04%。但是,在三维数据集上进行过多的训练会影响集成的精度。这可能是由于两个模型之间的相似度过高,不能提供预期的互补知识。

5. Conclusion and Limitation

        我们提出PointCLIP,在不需要任何3D训练的情况下,在点云上进行跨模态零拍识别。PointCLIP通过多视图投影,有效地将CLIP预训练的2D知识转移到3D领域。在少镜头设置下,我们设计了一个轻量级的访问视图适配器来聚合多视图表示并生成自适应的特征。通过微调这样的适配器和冻结所有其他模块,PointCLIP的性能得到了很大的改进。此外,PointCLIP可以作为即插即用模块,为经典的3D网络提供免费信息,其性能超过了最先进的技术。虽然PointCLIP实现了从2D到3D的迁移学习,但是如何将CLIP的知识应用到其他3D任务中还有待探索。我们未来的工作将集中于将CLIP应用于更广泛的3D应用。

自己总结:

1、把z直接当图像深度,因此直接算应该不大行,所以加了adapter。但是Clip是RGB色彩通道训练的,为什么直接用深度也可以?

2、可能clip本身对小类比较擅长,因此直接加原始模型效果也有提高,只能说是巧妙,作者也尝试了普通的两个模型直接相加并不能提高结果。

3、在想怎么做点云分割,Lseg + pointclip?

存在疑问

pointclip对结果的提升分别是92.03和92.10,是怎么理解的?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实现手机扫码——扫描识别路由器参数

有个应用是批量自动检测无线路由器,检测前需要自动登录路由器的管理界面进行设置,如设置wifi参数、连接模式,或者恢复出厂设置等。进入管理界面的登录用户名是admin,密码则各不相同。此外也需要知道路由器的MAC地址,因…

Qt基础-程序打包发布方法

本文讲解Qt程序打包发布方法。 一、使用Qt自带的windeployqt 生成可运行的包 准备将Qt生成的exe拷入到单独的文件夹,并进行命名,本文命名为packDemorun,并将文件放到D盘(自己随意放置) 1、找到Qt自带的命令终端 2、启动命令终端 3、输入:cd /d D:\packDemorun,进入文…

质量工程化,交付快速化

质量和速度之间权衡让人很难取舍,而通过推进质量工程,以系统化的方式识别和优化系统痛点,可以帮助团队构建既快又好的精益软件生产系统。原文: Quality Engineered, Speed Delivered 所有人都想要更快的速度。 但需要解决复杂问题: 权衡质量会…

小程序时代的机遇:开发成功的知识付费平台

知识付费平台不仅为知识创作者提供了广阔的变现渠道,同时也为用户提供了更为个性化、精准的学习体验。本篇文章,小编将为大家讲解知识付费小程序开发相关的知识。 一、小程序时代的背景 知识付费作为小程序领域中的“大热门”,有着非常高的…

整数在内存中的存储

整数和浮点数在内存中的存储方式是不一样的,今天,我们来具体学习一下 文章目录 整数在内存中的存储浮点数在内存中的存储 整数在内存中的存储 我们在之前就已经了解过了整数有原码,反码,补码的形式,这三种方式都是二进…

springboot 集成Dubbo2.7.8 ,连接zookeeper 提示错误 zookeeper not connected

Dubbo 连接zookeeper时&#xff0c;提示“zookeeper not connected” java.lang.IllegalStateException: zookeeper not connectedat org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:83) ~[dubbo-2.7.8.jar:2.…

【每周一测】Java阶段四第二周学习

目录 1、在MyBatis中&#xff0c;当实体类中的属性名和表中的字段名不一样&#xff0c;除了&#xff08; &#xff09;都可以实现属性和数据的映射。 2、下列数组定义及赋值&#xff0c;错误的是&#xff08; &#xff09; 3、关于会话跟踪以下说法错误的&#xff08; &…

C++ Qt开发:Qt的安装与配置

Qt是一种C编程框架&#xff0c;用于构建图形用户界面&#xff08;GUI&#xff09;应用程序和嵌入式系统。Qt由Qt公司&#xff08;前身为Nokia&#xff09;开发&#xff0c;提供了一套跨平台的工具和类库&#xff0c;使开发者能够轻松地创建高效、美观、可扩展的应用程序。其被广…

多线程(进阶一:锁策略)

一、乐观锁和悲观锁 二、轻量级锁和重量级锁 三、自旋锁和挂起等待锁 四、普通互斥锁和读写锁 五、公平锁和非公平锁 六、可重入锁和不可重入锁 七、synchronized和Linux的mutex锁的简单比较 八、synchronized的自适应 一、乐观锁和悲观锁 乐观锁&#xff1a;在加锁之前…

启动游戏出现concrt140.dll错误的8种解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是找不到concrt140.dll文件。这个错误通常会导致程序无法正常运行&#xff0c;给用户带来困扰。本文将介绍找不到concrt140.dll无法继续执行代码的8个方法&#xff0c;同时探讨concrt140.dll丢…

【活动】内容运营活动,你做对了吗?

内容运营活动&#xff0c;首先应该确认本次活动的主题&#xff0c;明确目标受众&#xff0c;分析这类用户的使用场景&#xff0c;感兴趣的话题等&#xff0c;结合市场的热点&#xff0c;探讨活动的形式&#xff0c;过程节点&#xff0c;活动奖励等内容&#xff08;头脑风暴形式…

Unity打包到Webgl平台以及遇到的问题

Unity打包到Webgl平台以及遇到的问题 参考网站 Unity打包WebGL的全过程及在打包和使用过程中会遇到的问题(本地测试)-CSDN博客 unity打包到Webgl 并配置能正常运行 这里我用的是Unity2022.3.3f1c1版本 有两种方法 1、配置本地web服务 2、安装vsCode>添加插件LiveServe…

使用git出现的问题

保证 首先保证自己的git已经下载 其次保证自己的gitee账号已经安装并且已经生成ssh公钥 保证自己要push的代码在要上传的文件夹内并且配置文件等都在父文件夹&#xff08;也就是文件没有套着文件&#xff09; 问题 1 $ git push origin master gitgitee.com: Permission de…

laravel的ORM 对象关系映射

Laravel 中的 ORM&#xff08;Eloquent ORM&#xff09;是 Laravel 框架内置的一种对象关系映射系统&#xff0c;用于在 PHP 应用中与数据库进行交互。Eloquent 提供了一种优雅而直观的语法&#xff0c;使得开发者可以使用面向对象的方式进行数据库查询和操作。 定义模型&…

Git 请输入一个提交信息以解释此合并的必要性

操作方法&#xff1a;按住Ctrl加下面的某个字母

linux-man命令的使用及练习

目录 1. 命令概述 2. 使用 3. 练习 ?man services时报错&#xff1a;No manual entry for services的解决办法 4. man命令中常用按键以及用途 1. 命令概述 Linux提供了丰富的帮助手册&#xff0c;当你需要查看某个命令的参数时不必到处上网查找&#xff0c;只要man一下即…

PID控制参数整定(调节方法)原理+图示+MATLAB调试

PID控制参数整定&#xff08;调节方法&#xff09;原理图示MATLAB调试 Chapter1 PID控制参数整定&#xff08;调节方法&#xff09;原理图示MATLAB调试序一、P参数选取二、I的调节三、D的调节四、总结 Chapter2 PID参数调整&#xff0c;个人经验&#xff08;配输出曲线图&#…

多人聊天程序

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…

触想嵌入式工业一体机在智能垃圾分类站的应用

1、行业发展背景 根据住建部给出的目标&#xff0c;到2025年前&#xff0c;全国地级及以上城市要基本建成垃圾分类处理系统。随着垃圾分类政策在全国强制落地&#xff0c;终端执行层面面临的最迫切问题是垃圾分类的准确性与社会参与意愿&#xff0c;而这两点与垃圾分类操作的简…

2004-2021年上市公司环境规制强度相关数据

2004-2021年上市公司环境规制强度相关数据 1、时间&#xff1a;2004-2021年 2、指标&#xff1a;年份、股票代码、股票简称、行业名称、行业代码、省份、城市、区县、行政区划代码、城市代码、区县代码、首次上市年份、上市状态、所属省份-工业增加值_亿元、所属省份-治理废气…