基于高性能并行计算的特征保持的网格处理方法与系统

文档序号:34469142发布日期:2023-06-15 11:35阅读:29来源:国知局
基于高性能并行计算的特征保持的网格处理方法与系统

本发明涉及计算机图形、三维网格处理领域,具体涉及一种基于高性能并行计算的特征保持的网格处理方法与系统。


背景技术:

1、计算机图形学是一门研究如何通过计算机来表示以及处理图形数据的学科,其应用领域广泛,包括计算机动画、计算机辅助几何设计等。图形数据的表示形式有许多种,比如网格表示,点云表示。其中由于网格表示法的数据高效性以及与物理引擎和图形渲染引擎有着较好的适配度,它成为最为常用的表示形式。网格编辑技术是指以一个网格为基础,对其局部几何结构进行变换,最终转为另一个不同的网格,它保证了三维模型流水线生产。因此如何对网格进行形变,达到高效的定向可编辑性,并保留原始三维模型的局部和全局特征,是网格相关的技术需要重点考虑的问题。然而传统的网格创建需要手工完成,艺术家的熟练度直接决定了网格质量的好坏,通常创建的网格包含许多目标应用场景所不需要的冗余面片结构,因此面向网格数据的几何裁剪成为网格编辑后处理阶段的必要工具,且在不同应用场景下处理的数据分布也大不相同。

2、早期的网格裁剪是纯手工完成的,在诸如blender这样的三维建模软件中,设计师通常会按项目说明书保证网格关键语义部位的面片数量和局部拓扑结构符合实际应用所需。因此其耗时且效率低下,裁剪出的网格还不能保证冗余结构有被完全去除。

3、基于深度学习的三维网格语义分割方法为网格裁剪提供了可行的解决方案。相比于传统机器学习的手工特征构造,神经网络直接从训练集中学习的特征更能代表一般化网格模型特征在高维空间中的数据分布,从而其方法具备更好的泛化性。随着三维网格数据规模的增加,其数据分布相比于网格处理面向应用场景的所需数据更加趋于完备化,包括日常交通工具,工业零部件,电子元器件等都已经有了大量的网格模型。如何利用这些海量的,能表征目标物体一般性质的干净网格数据为神经网络提供网格分割和面向冗余结构的网格裁剪任务下的可学习知识,是基于数据驱动的方法需要考虑的难点之一。

4、基于有监督的三维网格语义分割方法需要大量的三维网格语义标注数据,来使得神经网络的迭代优化学习到的目标网格特征的数据分布尽可能完备。但尽管三维网格模型数据量大,带有语义标注的数据仍只占少部分,各个数据集都具有非常强的偏置效应,使得训练后的模型无法迁移到较为丰富的下游网格语义分割任务。此外,几乎所有语义分割标注数据集中都不包含网格中的冗余面片这一类别,因此它不能应用于工业场景中的网格裁剪任务。

5、目前的现有技术之一为设计师在三维建模工具中对待优化拓扑结构的网格模型进行手工裁剪。诸如blender这样的三维建模工具能直接对网格模型中的顶点和面片进行编辑,设计师依靠领域知识识别出冗余结构和网格模型面片的不同语义区域后,进行裁剪和着色标注即可。该技术的缺点是,依赖于设计师的操作熟练度和对领域知识的掌握程度,且本质为重复性机械劳作,长时间工作易导致设计师效率下降,也不利于网格裁剪和冗余结构剔除的准确性。

6、目前的现有技术之二为论文“meshnet:mesh neural network for 3d shaperepresentation”中的基于网格神经网络meshnet的三维网格语义分割方法。该方法为网格模型设计了空间描述子和结构描述子以提取网格模型的拓扑特征,基于这些基本模块构建的神经网络能够直接在语义标注的监督信号下,学习网格裁剪和语义分割的信息。该技术的缺点是,对网格模型直接分割,需要网格面片的语义标注,因此其可利用的数据集只能局限在modelnet40和shapenetpart这样同时包含点云分割和网格分割标注的数据集上,无法在真实场景的网格或点云数据上实现较好的迁移核泛化效果。此外,这些带语义标注的网格数据集,以及其他可用于网络辅助训练的点云数据集,通常不包含被分割物体的冗余结构这样的标签,因此无法应用于去除冗余面片的网格裁剪任务。


技术实现思路

1、本发明的目的是克服现有方法的不足,提出了一种基于高性能并行计算的特征保持的网格处理方法与系统。本发明解决的主要问题,一是如何利用点云和网格的多模态网络编码结构,以尽可能保持原始网格的特征信息,并充分利用现有点云编码器的成熟架构的问题;二是由于在训练过程中实时为输入的训练样本施加噪声以此表征网格裁剪所需的冗余结构,对于不能直接调用pytorch接口的网格加噪声部分,如何保证整个数据计算过程运行于gpu端从而节省数据传输时间,实现高性能并行的训练过程的问题。

2、为了解决上述问题,本发明提出了一种基于高性能并行计算的特征保持的网格处理方法,所述方法包括:

3、输入点云未标注数据集,并用点云重建任务训练编码点云特征的mae模型的transformer点云特征生成器和预测头mlpα;

4、输入带有语义分割标签的网格数据集,对数据集中的网格表面进行采样以生成稀疏点云,之后通过去除训练后的所述预测头mlpα,冻结所述mae模型的transformer点云特征生成器部分的参数,训练预测头mlpβ;

5、根据所述带有语义分割标签的网格数据集,对数据集中的网格加入噪声以表示网格几何裁剪任务的冗余结构,之后训练新增冗余结构类别后的预测头mlpγ;

6、用户输入待处理网格,首先将其所有顶点转为稀疏点云,之后利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpβ,生成该稀疏点云每个点的语义分割标签;然后利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpγ,生成该稀疏点云每个点的语义分割标签以及冗余结构类别标签;最后对标记为冗余结构的点执行剔除操作,其邻接顶点构成新的网格面片,完成网格的裁剪。

7、优选地,所述输入点云未标注数据集,并用点云重建任务训练编码点云特征的mae模型的transformer点云特征生成器和预测头mlpα,具体为:

8、按最远点采样算法设置种子点,按最近邻计算种子点邻域内固定数量的点云点作为点云块,每个块输入到pointnet++点云编码网络中生成点云块编码ti,其中i为种子点下标,与点云块下标一一对应;

9、在点云块集合中按比例掩码掉部分块tm,m∈m,m为被掩码点云块下标集合,未掩码部分输入transformer点云特征生成器中生成可见块的编码

10、解码过程用掩码token,即tm对不可见块占位,并重建出原始点云,该过程的损失函数lr可表示为下式:

11、lr=cd(mlpα(decoder(cat(t′j,tm))),pj)

12、其中cd表示倒角距离,mlpα表示预测头,pj表示原始的被掩码点云块,cat表示张量拼接操作。

13、优选地,所述输入带有语义分割标签的网格数据集,对数据集中的网格表面进行采样以生成稀疏点云,之后通过去除训练后的所述预测头mlpα,冻结所述mae模型的transformer点云特征生成器部分的参数,训练预测头mlpβ,具体为:

14、输入带有语义分割标签的网格数据集,按均匀分布在网格表面进行采样,得到与原始网格对应的点云,点云的语义分割标签与所在网格面片的标签相同;

15、去除训练后的所述预测头mlpα,使用所述transformer点云特征生成器生成点云块特征,并设置该transformer参数不记录梯度,然后使用新的预测头mlpβ编码特征预测点云语义分割结果;

16、用所述语义分割结果与标签值做交叉熵损失优化mlpβ网络模块的参数,损失函数的逐点形式可表示为下式:

17、

18、其中yc为语义分割对于类别c的标注值,pc为三维点语义分割的预测值。

19、优选地,所述根据所述带有语义分割标签的网格数据集,对数据集中的网格加入噪声以表示网格几何裁剪任务的冗余结构,之后训练新增冗余结构类别后的预测头mlpγ,具体为:

20、对于所述带有语义分割标签的网格数据集,首先经过数据增强人工产生冗余结构标签,该过程为在cuda核函数对选定顶点的加噪过程;

21、去除训练后的所述预测头mlpα,使用所述transformer点云特征生成器生成点云块特征,并设置该transformer参数不记录梯度,然后使用新的预测头mlpγ编码特征预测点云语义分割结果;

22、用所述语义分割结果与标签值做交叉熵损失优化mlpγ网络模块的参数,损失函数的逐点形式可表示为下式:

23、

24、其中yc为语义分割对于类别c的标注值,pc为三维点语义分割的预测值。

25、优选地,所述cuda核函数对选定顶点的加噪过程,具体为:

26、对于批大小为b的输入数据,选取n个网格顶点作为加噪声顶点;

27、将网格拓扑数据、顶点位置数据、三角形面片数据存入gpu共享内存以便快速访问;

28、对于每个顶点,核函数按照共享内存的信息计算顶点的离散高斯曲率,计算方式可表示为下式:

29、

30、其中a为k个共享该顶点的三角形面片的外心与边连接形成的多边形区域面积,θi为该顶点在某个面片的角度;

31、计算每个多边形面片的曲率,为所有顶点的曲率均值;

32、对于曲率大于阈值λ的面片,按方差为0.1σ的高斯分布为其重心坐标添加偏移量作为噪声,小于阈值λ则设置方差为σ进行加噪声;

33、新生成的点与该面片的所有顶点相邻,该点即标记为冗余结构。

34、优选地,所述用户输入待处理网格,首先将其所有顶点转为稀疏点云,之后利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpβ,生成该稀疏点云每个点的语义分割标签;然后利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpγ,生成该稀疏点云每个点的语义分割标签以及冗余结构类别标签;最后对标记为冗余结构的点执行剔除操作,其邻接顶点构成新的网格面片,完成网格的裁剪,具体为:

35、步骤一,对于输入的待处理网格,取其所有顶点转为稀疏点云数据;

36、步骤二,利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpβ,生成该稀疏点云每个点的语义分割标签,即输出每个点属于每个类别的概率值,取概率最大值为预测的所属类别;

37、步骤三,利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpγ,生成该稀疏点云每个点的语义分割标签以及冗余结构类别标签,即输出每个点属于每个类别和冗余结构类别的概率值,取概率最大值为预测的所属类别;

38、步骤四,对于预测结果为冗余结构的顶点,若其概率值小于步骤二中最大的类别概率值,则重新标记该顶点为步骤二的预测结果,否则标记为冗余结构;

39、步骤五,对标记为冗余结构的点执行剔除操作,删除该顶点和所有该顶点对应的边,邻接顶点构成新的网格面片,完成网格的裁剪。

40、相应地,本发明还提供了一种基于高性能并行计算的特征保持的网格处理系统,包括:

41、点云特征生成器和预测头mlpα训练单元,用于输入点云未标注数据集,并用点云重建任务训练编码点云特征的mae模型的transformer点云特征生成器和预测头mlpα;

42、预测头mlpβ训练单元,用于输入带有语义分割标签的网格数据集,对数据集中的网格表面进行采样以生成稀疏点云,之后通过去除训练后的所述预测头mlpα,冻结所述mae模型的transformer点云特征生成器部分的参数,训练预测头mlpβ;

43、预测头mlpγ训练单元,用于根据所述带有语义分割标签的网格数据集,对数据集中的网格加入噪声以表示网格几何裁剪任务的冗余结构,之后训练新增冗余结构类别后的预测头mlpγ;

44、网格处理单元,用于用户输入待处理网格,首先将其所有顶点转为稀疏点云,之后利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpβ,生成该稀疏点云每个点的语义分割标签;然后利用所述mae模型的transformer点云特征生成器与所述训练完成的预测头mlpγ,生成该稀疏点云每个点的语义分割标签以及冗余结构类别标签;最后对标记为冗余结构的点执行剔除操作,其邻接顶点构成新的网格面片,完成网格的裁剪。

45、实施本发明,具有如下有益效果:

46、本发明基于数据驱动和深度学习的方法能有效理解网格数据中的结构特征和空间特征,相比传统机器学习算法有更为鲁棒和表征能力更强的特征提取过程,因此语义分割结果更为准确。本发明基于自监督任务,利用大量无标注数据集,保证了特征编码器生成的特征分布足够完备,泛化性更强。此外,本发明利用训练过程的随机加噪声过程来生成网格裁剪中的冗余结构类别标签,使得其迁移到实际应用时,不仅能输出语义分割结果,还能完成对网格冗余结构的几何裁剪,其中的加噪声过程采用cuda并行计算架构保证了整个计算过程的高效性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1