掌桥专利:专业的专利平台
掌桥专利
首页

一种基于扩散模型的3D预训练方法与系统

文献发布时间:2024-04-18 19:58:21


一种基于扩散模型的3D预训练方法与系统

技术领域

本发明实施例涉及计算机视觉技术领域,尤其涉及一种基于扩散模型的3D预训练方法与系统。

背景技术

随着3D计算机视觉领域的快速发展,点云成为描述三维物体形状和空间位置的一种重要数据形式。点云数据的应用范围十分广泛,包括三维场景重建、自动驾驶、智能机器人等领域。3D点云预训练技术的研究可以为这些任务提供重要的支持,从而大大降低人工智能模型开发和部署的时间和资源成本。

当前主流的3D预训练方法可分为对比学习和掩码建模两大类。对比学习通过比较样本间的相似性和差异性进行预训练,例如在3D点云领域通过不同视角构建两个点云,对比两个点云间点特征的相似性实现点云网络的预训练;或者仅使用单视图的深度图进行特征对比学习也能学到有效的特征表示;或者根据跨模态对比学习方法,将点云和渲染的2D图像进行对比学习,有助于学习可泛化的点云表征。然而基于对比学习的3D预训练方法往往需要设计负样本和大的批大小(batchsize),如果负样本选择不当,模型可能会学习到错误的特征表示,导致性能下降;大的批大小可能导致训练过程更加不稳定,训练效果较差,且影响模型性能,导致模型坍塌风险。掩码建模不需要设计负样本和大的批大小,但是目前的掩码建模多通过修改层次化的网络架构进行多层次几何知识的学习,导致网络计算量增加。

发明内容

有鉴于此,本发明实施例提供一种基于扩散模型的3D预训练方法与系统、电子设备及计算机存储介质,以至少部分解决上述问题。

根据本发明实施例的第一方面,提供了一种基于扩散模型的3D预训练方法,包括通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,其中,可见点云分词特征由获取的点云块生成;将深层可见点云分词特征与遮蔽点云分词特征进行拼接,得到拼接特征,其中,遮蔽点云分词特征由获取的点云块生成;通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件;根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数,损失函数用于引导解码器进行解码,以完成训练。

在一种实现方式中,通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征之前,包括通过最远点采样算法和K近邻算法获取点云块;对点云块进行中心化处理,以更新点云块;将更新的点云块嵌入至分词特征中,得到点云分词特征;对点云分词特征进行随机遮蔽,生成可见点云分词特征和遮蔽点云分词特征,其中,可见点云分词特征表示为

在另一种实现方式中,通过最远点采样算法和K近邻算法获取点云块,包括通过最远点采样算法对预设的点云数据进行采样,得到s个中心点,其中,预设的点云数据包含n个点,预设的点云数据表示为X∈R

在另一种实现方式中,将更新的点云块嵌入至分词特征中,得到点云分词特征,包括通过带参数φ的简化版PointNetξ

在另一种实现方式中,通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,包括将可见点云分词特征的位置信息输入至带参数τ的位置嵌入公式ψ

在另一种实现方式中,通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件,包括通过参数为ω的条件嵌入模块f

在另一种实现方式中,根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数,包括根据扩散模型的指导条件c进行预训练模型的训练目标定义,公式为:

将针对每个预设的点云数据的时间步长区间[1,T]划分为h个阶段:

其中/>

从h个阶段中随机采样一个时间步长t,计算h次损失并将h次损失进行平均运算,得到损失函数:

Q

根据本发明实施例的第二方面,提供了一种基于扩散模型的3D预训练系统,包括第一编码模块,用于通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,其中,可见点云分词特征由获取的点云块生成;拼接模块,用于将深层可见点云分词特征与遮蔽点云分词特征进行拼接,得到拼接特征,其中,遮蔽点云分词特征由获取的点云块生成;第二编码模块,用于通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件;确定模块,用于根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数,损失函数用于引导解码器进行解码,以完成训练。

根据本发明实施例的第三方面,提供了一种电子设备,包括处理器、存储程序的存储器。其中,程序包括指令,指令在由处理器执行时使处理器执行如第一方面的方法。

根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面的方法。

综上,本发明实施例的方案在不改变网络架构、不增加计算量的前提下,通过改进预训练方法、利用扩散模型的多级引导特性,实现对点云的全面理解,获得更丰富的几何信息,提高了模型训练的效果和性能,进一步节省了点云预训练的成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于扩散模型的3D预训练方法的步骤流程图。

图2为本发明实施例的基于扩散模型的3D预训练方法的整体框架图。

图3A为本发明实施例的基于扩散模型的3D预训练方法的可视化结果图。

图3B为本发明另一实施例的语义分割结果比较图。

图4为与图1实施例对应的基于扩散模型的3D预训练系统的结构框图。

图5为根据本发明另一实施例的一种电子设备的结构示意图。

具体实施方式

为了对本申请实施例的技术特征、目的和效果有更加清楚的理解,现对照附图说明本申请实施例的具体实施方式。

在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。

为使图面简洁,各图中只示意性地表示出了与本申请相关的部分,它们并不代表其作为产品的实际结构。另外,为使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个或多个,或仅标示出了其中的一个或多个。

为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

为了便于理解,在详细描述本发明的具体实施例之前,先针对本发明的现有技术进行示例性说明。

在现有技术中的许多研究,包括VisualChatGPT[1]Wu C,Yin S,Qi W,etal.Visual chatgpt:Talking,drawing and editing with visual foundation models[J].arXiv preprint arXiv:2303.04671,2023.以及SAM[2]Kirillov A,Mintun E,RaviN,et al.Segment anything[J].arXiv preprint arXiv:2304.02643,2023.已经证明了预训练模型在广泛的下游任务中的卓越性能。随着3D计算机视觉领域的快速发展,点云成为描述三维物体形状和空间位置的一种重要数据形式。点云数据的应用范围十分广泛,包括三维场景重建、自动驾驶、智能机器人等领域。3D点云预训练技术的研究可以为这些任务提供重要的支持,从而大大降低人工智能模型开发和部署的时间和资源成本,当前主流的3D预训练方法可分为对比学习和掩码建模两大类。

对比学习通过比较样本间的相似性和差异性进行预训练,例如:

在3D点云领域PointContrast[3]Xie S,Gu J,Guo D,et al.Pointcontrast:Unsupervised pre-training for 3d point cloud understanding[C]//ComputerVision-ECCV 2020:16th European Conference,Glasgow,UK,August 23-28,2020,Proceedings,Part III 16.Springer International Publishing,2020:574-591.通过不同视角构建两个点云,对比两个点云间点特征的相似性实现点云网络的预训练。

DepthContrast[4]Zhang Z,Girdhar R,Joulin A,et al.Self-supervisedpretraining of 3d features on any point-cloud[C]//Proceedings of the IEEE/CVFInternational Conference on Computer Vision.2021:10252-10263.仅使用单视图的深度图进行特征对比学习也能学到有效的特征表示。

CrossPoint[5]Afham M,Dissanayake I,Dissanayake D,et al.Crosspoint:Self-supervised cross-modal contrastive learning for 3d point cloudunderstanding[C]//Proceedings of the IEEE/CVF Conference on Computer Visionand Pattern Recognition.2022:9902-9912.提出一种跨模态对比学习方法,将点云和渲染的2D图像进行对比学习,有助于学习可泛化的点云表征。

然而上述基于对比学习的方法往往需要设计负样本和大的批大小(batchsize),同时无法完全避免模型坍塌,从而影响性能。

与对比学习不同,掩码建模通过恢复遮蔽(mask)信息预训练编码器,不需要设计负样本和大的批大小,其中:

Point-BERT[6]Yu X,Tang L,Rao Y,et al.Point-bert:Pre-training 3d pointcloud transformers with masked point modeling[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition.2022:19313-19322.通过dVAE[7]Rolfe J T.Discrete variational autoencoders[J].arXiv preprint arXiv:1609.02200,2016.将点云块(patch)转换为离散的分词(token)并预测遮蔽(mask)部分的分词。

更近一步地,Point-MAE[8]Pang Y,Wang W,Tay F E H,et al.Maskedautoencoders for point cloud self-supervised learning[C]//Computer Vision-ECCV 2022:17th European Conference,Tel Aviv,Israel,October 23-27,2022,Proceedings,Part II.Cham:Springer Nature Switzerland,2022:604-621.直接对点云块进行遮蔽和恢复,从而预训练编码器。

Point-M2AE[9]Zhang R,Guo Z,Gao P,et al.Point-M2AE:multi-scale maskedautoencoders for hierarchical point cloud pre-training[J].arXiv preprintarXiv:2205.14401,2022.构建了一个层次化的网络结构,可以逐步的建模几何信息和捕获特征信息,在下游任务中取得了较好的效果。

Joint-MAE[10]Guo Z,Li X,Heng P A.Joint-mae:2d-3d joint maskedautoencoders for 3d point cloud pre-training[J].arXiv preprint arXiv:2302.14007,2023.关注2D图片和3D点云的相关性,提出了层次化的模块进行跨模态交互,重建两种模态的遮蔽信息。

然而Point-M2AE和Joint-MAE是通过修改层次化的网络架构进行多层次几何知识的学习,较大的增加了网络计算量。

因此,本发明针对上述问题进行剖析并提出解决方案,在不改变网络架构不增加计算量的前提下,通过改进训练方法,利用扩散模型逐步引导的特性,使网络通过恢复不同阶段的噪声点云来学习多层次的几何知识,从而能在各种下游任务获得更好的性能。

下面结合本发明实施例附图进一步说明本发明实施例具体实现。

参见1图为本发明实施例的基于扩散模型的3D预训练方法的步骤流程图,图2为本发明实施例的基于扩散模型的3D预训练方法的整体框架图。

根据图1和图2,本发明实施例主要包括以下步骤:

步骤S110,通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,其中,可见点云分词特征由获取的点云块生成。

应理解,编码器(Encoder)是指将输入数据转换为潜在表示或特征向量的模块或网络结构,负责提取潜在的几何特征,由标准的Transformer块组成。

还应理解,通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,以便后续的处理步骤能够更好地理解和利用这些特征。

步骤S120,将深层可见点云分词特征与遮蔽点云分词特征进行拼接,得到拼接特征,其中,遮蔽点云分词特征由获取的点云块生成。

应理解,将深层可见点云分词特征与遮蔽点云分词特征进行拼接,得到拼接特征的目的是将这两种特征结合起来,以获得更丰富和多样化的特征表示,提供更全面的信息用于后续处理。

步骤S130,通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件。

应理解,条件嵌入模块将拼接特征作为输入,通过一系列的操作和网络层来对其进行编码处理。条件嵌入的目的是提取拼接特征中的关键信息,并生成扩散模型的指导条件,指导条件可以帮助解码器更好地进行解码操作。

步骤S140,根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数,损失函数用于引导解码器进行解码,以完成训练。

综上,本发明实施例的方案在不改变网络架构、不增加计算量的前提下,通过改进预训练方法、利用扩散模型的多级引导特性,实现对点云的全面理解,获得更丰富的几何信息,提高了模型训练的效果和性能,进一步节省了点云预训练的成本。此外,本发明实施例的3D预训练方法灵活性强,可以扩展到各种网络模型中以提升其性能。

在一种实现方式中,通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征之前,包括通过最远点采样算法和K近邻算法获取点云块;对点云块进行中心化处理,以更新点云块;将更新的点云块嵌入至分词特征中,得到点云分词特征;对点云分词特征进行随机遮蔽,生成可见点云分词特征和遮蔽点云分词特征,其中,可见点云分词特征表示为

应理解,生成可见点云分词特征和遮蔽点云分词特征可以帮助模型学习到具有不同重要性的特征。对于可见点云分词特征,模型可以重点学习到关键和明显的特征。而遮蔽点云分词特征则可以帮助模型学习到对遮挡进行推断和填充的能力,提升对完整点云数据的理解能力和建模能力。

通过随机遮蔽部分点云分词特征,可以增加数据集的多样性,从而提高模型的泛化能力。遮蔽不同的点云分词特征可以模拟真实场景中的遮挡情况,使得模型能够更好地适应各种遮挡情况下的处理。

通过中心化处理可以将点云块位置归一化到原点或指定位置,消除了位置对后续处理的影响,可以提高数据的一致性、稳定性和描述能力;通过将更新的点云块嵌入到分词特征中可以丰富特征表示,并为后续的处理任务提供更好的特征基础。

在另一种实现方式中,通过最远点采样算法和K近邻算法获取点云块,包括通过最远点采样算法对预设的点云数据进行采样,得到s个中心点,其中,预设的点云数据包含n个点,预设的点云数据表示为X∈R

在另一种实现方式中,将更新的点云块嵌入至分词特征中,得到点云分词特征,包括通过带参数φ的简化版PointNetξ

在另一种实现方式中,通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,包括将可见点云分词特征的位置信息输入至带参数τ的位置嵌入公式ψ

在另一种实现方式中,通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件,包括通过参数为ω的条件嵌入模块f

在另一种实现方式中,根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数,包括根据扩散模型的指导条件c进行预训练模型的训练目标定义,公式为:

将针对每个预设的点云数据的时间步长区间[1,T]划分为h个阶段:

其中/>

从h个阶段中随机采样一个时间步长t,计算h次损失并将h次损失进行平均运算,得到损失函数:

Q

应理解,在微调阶段,将编码器(encoder)与扩散模型分离,引入特定的解码器(decoder)和任务头进行训练,从而适应各种不同的3D下游任务。

还应理解,本发明在预训练过程中是恢复原始点云,也可以通过恢复遮蔽点云块进行预训练,预训练过程中扩散模型去噪网络可以用transformer网络结构替换,预训练网络Encoder可以替换为任意2D/3D的特征网络。

本发明提出的全新的预训练模型不需要层次化的网络结构,通过改进3D预训练方法,利用扩散模型的多级引导特性,实现对原始输入的全面理解,同时能使网络能够获得更丰富的几何信息,从而在下游任务中表现更好,有效节省了点云预训练的成本。此外,该发明提出的预训练范式可以很灵活的扩展到各种网络模型中,并提升其性能。

图3A为本发明实施例的基于扩散模型的3D预训练方法的可视化结果图,每一行分别展示了原始输入点云即预设的点云数据,被遮蔽点云以及逆扩散过程中不同阶段的生成点云。根据图3A可知即使遮蔽了80%的点,本发明的方案仍然能恢复出高质量的点云,证明了本发明方案的有效性。

图3B为本发明另一实施例的语义分割结果比较图,展示了关于S3DIS数据集上语义分割结果的定性比较。第一列是原始输入点云,第二到四列分别是PointNeXt,Point-MAE和本发明方案的检测结果,最后一列是真实标签。本发明方案的分割结果更接近真实标签,对黑板和桌子的分割效果更好,相比于从头开始训练的PointNeXt和Point-MAE错误分割更少,学到了更层次化的几何知识,能在下游任务中表现更好。

参见图4为与图1实施例对应的基于扩散模型的3D预训练系统400的结构框图,基于扩散模型的3D预训练系统400包括:

第一编码模块410,用于通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征,其中,可见点云分词特征由获取的点云块生成。

拼接模块420,用于将深层可见点云分词特征与遮蔽点云分词特征进行拼接,得到拼接特征,其中,遮蔽点云分词特征由获取的点云块生成。

第二编码模块430,用于通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件。

确定模块440,用于根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数,损失函数用于引导解码器进行解码,以完成训练。

综上,本发明实施例的方案在不改变网络架构、不增加计算量的前提下,通过改进预训练方法、利用扩散模型的多级引导特性,实现对点云的全面理解,获得更丰富的几何信息,提高了模型训练的效果和性能,进一步节省了点云预训练的成本。

本实施例的系统用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的系统中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。

根据本发明实施例的第三方面,提供了一种电子设备,参见图5,现将描述可以作为本申请的服务器或客户端的电子设备500的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

该电子设备500可以包括:处理器(processor)502、通信接口(CommunicationsInterface)504、存储器(memory)506、以及通信总线508。

处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口404,用于与其它电子设备或服务器进行通信。

处理器502,用于执行程序510,具体可以执行上述方法实施例中的相关步骤。

具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。

处理器502可能是处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序510具体可以用于使得处理器502执行以下操作:通过编码器对可见点云分词特征进行编码处理,得到深层可见点云分词特征;将深层可见点云分词特征与遮蔽点云分词特征进行拼接,得到拼接特征;通过条件嵌入模块对拼接特征进行编码,得到扩散模型的指导条件;根据扩散模型的指导条件和多阶段均匀采样策略确定损失函数。

此外,程序510中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

本发明示例性实施例还提供一种存储有计算机程序的计算机存储介质,其中,计算机程序被处理器执行时实现本发明各实施例的方法。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。

应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

相关技术
  • 一种3D网络模型预训练方法、系统、终端及存储介质
  • 一种基于对抗训练的语言模型预训练方法、系统及电子设备
技术分类

06120116481722