一种具有形状感知的三维点云模型修复方法与流程



1.本发明涉及三维场景中点云补全技术领域,具体指一种具有形状感知的三维点云模型修复方法。


背景技术:



2.近些年来,随着科技水平的提高、硬件的生产成本的降低以及扫描设备可用性的提高,以计算机视觉为主的技术在各行各业都得到了广泛的应用,与此同时,三维扫描技术的逐渐成熟,通过相关设备能够在较短的时间内获取物体表面大量的三维高精度数据,能够以一种更加立体的方式将结果呈现在人们眼前。点云作为三维空间场景的一种表达形式,具有保留更多场景细节、丰富的语义信息以及简单的存储结构等特点,因此得到了多数研究人员的青睐,并将其广泛地应用于无人汽车的自动驾驶、智能机器人的行为控制、虚拟现实和增强现实等许多领域。
3.然而,限制于拍摄角度、拍摄范围以及拍摄环境等多方面的影响限制,虽然点云的获取方式相对简单,但是通常情况下由激光雷达、扫描相机等设备获取到的点云数据往往会遭受几何信息或语义的丢失,导致无法得到物体的完整形状,因此扫描获得的点云大多是不完整、缺失的,导致孔洞或者形状缺失的现象。同时,这样残缺和稀疏的点云不仅无法正确地表达物体的真实形状,还会对后续的点云分类、分割等任务造成影响。因此,对于不完整的三维点云模型进行修复和补全细化是一项非常有意义的任务。
4.对于点云补全的方式可以分为两个不同阶段,一、在三维点云的修复阶段,利用平面、曲面拟合或者最小化能量的方式将点云中小面积的缺失(孔洞)进行填充,利用对齐或匹配的方式对已有结构进行复制,实现对大面积的缺失(大面积孔洞、形状缺失)的修复,随后得益于深度学习的快速发展,也有一些基于深度学习的修复方法被相继提出。二、在三维点云的细化阶段,以低分辨率点云作为输入,输出具有丰富细节的高分辨率点云,可以利用基于几何优化和基于深度学习的方法来实现三维点云的细化。
5.无论是修复阶段还是细化阶段,早期的方法大多使用曲面拟合和网格插值方法,但是仅能对较小的缺失进行补全,对较大的孔洞往往无能为力,后来随着深度学习技术的发展和扫描机的应用,基于深度学习的点云补全方法逐渐被提出并取得了较好的效果,但是在发展初期,点云补全手段仍然需要借助转换形态的方式来处理,即将离散化的点云数据转化为结构化的网格或者体素,然后借助在网格或者体素领域的3d卷积处理进行补全,最后将补全结果转化为离散化的点云数据。如此操作,不仅耗时,而且转化过程中有可能造成信息丢失现象。之后,随着基于点的pointnet网络模型的提出,可以通过共享参数的多层感知器mlp和对称函数来直接操作点云中的每一个点,一些直接对点云中的3d点进行处理的补全方法也相继被提出,它们通常对输入的不完整、稀疏的点云进行编码得到全局特征向量,然后再利用解码的方式将该特征向量重建一个完整的、密度均匀的输出点云。
6.但是,目前已提出来的基于深度学习的点云模型修复方法大多倾向于获取全局特征结构而重建出点云的整体形状,但是对细节的把握不足,即使有部分对于点云细化的一
些处理方法,仍仅限于对点云数量的扩充,并没有考虑点与点之间的几何关系,忽略了对微小结构的保持。


技术实现要素:



7.为了解决上述提及的现存方法中没有对局部细节修复的问题,本发明提出了一种具有形状感知的三维点云模型修复方法,来对具有形状缺失的不完整点云模型和稀疏的点云模型进行补全和细化。
8.为了解决上述技术问题,本发明的技术方案为:
9.一种具有形状感知的三维点云模型修复方法,包括以下步骤:
10.步骤一:获取数据集。该方法所涉及到的实验数据来自于mvp数据集,该数据集是一个高质量的多视角点云数据集,其中包括汽车、飞机、椅子、台灯、桌子、床、船艇、书架、吉他、摩托车等16个常见的物品;
11.步骤二:预处理实验数据。对步骤一中的数据集进行处理,包括对数据的采样、定位、角度旋转、模拟缺失过程以及对所有点云数据的归一化处理;
12.步骤三:设计神经网络模型结构。基于自动编码器网络框架,通过多个自学习的方向向量和局部自注意力机制提取相应的点云几何特征并借助残差网络进行局部结构优化,来构建一个以缺失的不完整点云模型作为输入,具有完整形状的修复点云作为输出的神经网络模型;
13.步骤四:构建神经网络模型损失。针对模型结构设计两种损失函数,计算网络输出的修复点云形状与真实点云形状之间的差异,进而约束神经网络模型对于残缺并且不规则点云的修复能力;
14.步骤五:搭建实验环境并训练神经网络模型。对该点云修复神经网络模型结构运行所需要的软硬件设施进行配置,并设置各项模型训练的超参数,最后,将设计好的神经网络模型进行端到端的训练,与此同时利用损失函数对该网络模型进行约束,使之能够更好地修复三维点云模型;
15.步骤六:存储最优模型及其各项参数。在训练和测试趋于稳定并保持在一个高水准修复结果后,保存最优模型结构及其各项参数。
16.作为优选,数据集在其步骤二中采用26个均匀分布在单位球体上的位置来为每个cad模型模拟出不完整的点云,如此方式使得获得的点云更平滑,能更好地表示底层对象的cad模型,也可以用于更好地评估网络恢复高质量几何细节的能力。
17.作为优选,将采用泊松盘采样(pds)对完整形状的非重叠且均匀分布的点云进行采样,同时对点云模型的点坐标进行单位球归一化,即将整个点云模型放缩到半径为1的球体中,使得网络在训练中能够更加快速且稳定的收敛。
18.作为优选,点云模型补全网络主要分为特征提取的编码器和模型修复的解码器,其中,编码器主要通过特征计算、特征卷积等方式获取点云模型中每一个点的特征信息,解码器主要根据编码器获取到的特征信息进行重建等处理,将残缺、密度不均匀的点云模型修复成完整、精细的点云模型。
19.作为优选,点云模型补全网络中编码器结构主要由特征卷积单元、形状感知模块、多个级联的局部形状特征卷积模块和最大池化操作组成。特征卷积单元用于获取点的空间
特征;形状感知模块则借鉴二维图像卷积算子的思想,对每一个点在其多个方向维度上生成自适应的三维点云形状卷积算子;同时,在局部特征卷积模块中利用形状卷积算子来捕获点云模型的形状特征,并与点云的空间特征相结合,从而可以通过最大池化操作来丰富每一个点的特征向量。
20.作为优选,点云模型补全网络中解码器结构主要由点云重建、修复和细化三个模块组成。重建模块主要是以点云的全局特征作为输入,生成一个粗略的点云向量来表示该模型的模糊特征,这种向量会体现出点云模型的大致轮廓信息,进而引导后续模块对点云补全的总体趋向;修复模块主要利用残差思想将输入点云和粗重建的点云相结合,并设置每个点的坐标偏移量,再采用多层感知器来学习该偏移量参数,从而生成一个修复后的点云模型;细化模块则对点云模型内部结构进行处理,使其生成一个点分布均匀、形状完整的点云模型。
21.作为优选,损失函数分为重建损失和形状约束损失两种。其中,第一种损失为重建损失,它是倒角距离(cd)损失和搬土距离(emd)损失的加权和,cd损失计算重建后的点集到真实点集中对应点的最短距离,emd损失计算从重建后的点集映射到真实点集中的最小代价和;第二种损失为形状约束损失,主要通过cd距离的单向约束来保证网络生成的预测点云模型中尽可能多的保留原始输入点云中的内部已有结构,使其补全后的模型仍保持着原有模型的结构信息。
22.作为优选,同时针对于点云训练的效率问题考虑,采用pytorch深度学习框架作为模型结构的底层框架搭建,并在ubuntu 20.04操作系统中进行模型的训练与测试。对于其所设置的超参数包括但不限于:批大小batchsize设置为32,激活函数采用leakyrelu函数,并在学习率为0.0003的adam优化器上持续训练了128个周期,每隔32个周期,学习率下降为原来的25%,同时针对所设计的深度学习模型的输入点云(残缺的点云)数量为1024,编码器输出的粗重建点云数量为1024,最终通过解码器输出的细化均匀密集点云数量为1024。
23.作为优选,在模型训练中模型会实时监控输出的损失和重建的正确率,进而定位到在整个训练的128个周期中效果最好的模型参数结构,并保存成pt件。
24.本发明具有以下实质性特点:采用上述所设计的模型结构,它会以残缺、密度不均匀的点云作为输入,进而输出精细、完整、密度均匀的点云。在编码器阶段,通过获取残缺点云的形体状态,并使用形状感知模块判断其残缺部分的几何走向,将邻接点特征聚合在该点中,进而提取出该点所具有价值的结构特征,同时考虑到整体形状对局部区域形状的影响,将其感受野扩大获取更丰富的特征进行还原。在解码器阶段,本发明以编码器生成的全局特征向量作为解码器的输入,再通过点云粗重建以及细化过程实现点云由粗及细的补全。
附图说明
25.图1为本发明实施例的点云补全修复流程图。
26.图2为本发明实施例中神经网络模型的结构。
27.图3为本发明实施例中神经网络模型的编码器主要部件。
28.图4为本发明实施例中神经网络模型的解码器模块。
29.图5为本发明实施例中神经网络模型的修复补全效果。
具体实施方式
30.下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。
31.实施例1
32.本发明提供了一种可以感知物体形状的三维点云模型修复方法,如图1所示,其中主要包括如下步骤:
33.步骤一:获取数据集。对于数据集的选取采用三维点云模型修复中比较高质量的多视角点云mvp数据集,该数据集中包含了生活中众多普遍的模型数据,例如:汽车、飞机、椅子、台灯、桌子、床、船艇、书架、吉他、摩托车等16个常见的物品。
34.mvp数据集相对于其他三维点云模型修复数据集而言,它的种类和数量都非常丰富,同时利用虚拟相机的均匀分布的多个视角产生多样化多角度的残缺点云,借助于高分辨率的绘制,mvp数据集获得了高质量的残缺点云,这对后续点云修复模型的工作具有较大的意义。
35.步骤二:预处理实验数据。一般情况下,大多数据集都无法直接应用于点云模型训练中,同样地,在本发明提出的网络结构训练之前,也需要对mvp数据集中的点云数据做一些处理,其中包括但不仅限于对数据的采样、旋转、模拟缺失过程以及归一化处理。
36.在采样方面,本发明采用泊松盘进行采样,相比于均匀采样,泊松盘采样获得到的点云模型更加平滑,可以更好地表示底层对象的cad模型。
37.在模型旋转方面,本发明采用角度定位到指定方向将数据集中不规则的数据进行旋转,来缓解网络模型对数据处理时的压力。
38.在模拟缺失过程方面,本发明采用在物体模型的不同区域随机失活一些点的信息,即将模型数据通过坐标划分成不同区域进行模拟点云缺失的过程。
39.在归一化方面,本发明采用将点云数据的点坐标进行单位球的归一化操作,通过将整个点云模型数据放缩到半径大小为1的单位球体中,以此来让后续的网络模型可以更好地学习点云数据信息并进行修复处理。
40.步骤三:设计神经网络模型结构。如图2、图3和图4所示,在该步骤中设计了一个可学习点云形状的网络模型结构,该模型以缺失的不完整点云模型作为输入,通过一系列处理,输出一个具有完整形状的点云。其结构分为编码阶段和解码阶段,在编码阶段中,主要由特征卷积单元、形状感知模块、局部特征形状卷积模块和最大池化操作组成,在解码阶段,主要由重建模块、修复模块和细化模块组成。
41.在编码阶段,本发明设计的编码器主要结构包含特征卷积单元、形状感知模块、局部形状特征卷积模块和最大池化操作,具体说明如下:
42.(1)特征卷积单元:在输入一组残缺的点云后,通过本单元提取点云信息的特征,由于点云无序的特性,无法将它直接应用二维图像上的卷积操作,因此需使用针对每个点的卷积来实现特征升维操作,即f=mlp(x),x表示输入的三维坐标点云,f表示通过共享的多层感知器mlp提取的每个点特征信息。值得注意的是,这里的x虽然代表点云三维坐标,但是在真实的操作处理中,其实是局部区域内的相对坐标信息。
43.(2)形状感知模块:借鉴于二维图像的卷积算子的思想,在三维点云空间内创建一个形状感知模板,该模板代表每一个点在各个方向上的向量大小,进而感知到物体的形状。具体步骤如下:
44.首先,通过最远点采样(fps)方式定位邻域中心点s={s1,s2,...,si,...,sn},其中si代表第i个局部区域内中心点的空间坐标。最远点采样的优点在于可以在点数降低的情况下,仍可以表述物体的大致形状,这对后续的形状感知极为重要。
45.接着,通过流体形状查询(isomap)的方式将捕获中心点邻域内的所有邻接点xi={x
i,1
,x
i,2
,...,x
i,j
,...,x
i,k
},其中x
i,j
代表第i个邻域内第j个邻接点的空间坐标。进一步,通过邻域中心空间坐标与其邻域内其他空间坐标运算,得到局部坐标向量x
′i={x
i,1-si,x
i,2-si,...,x
i,j-si,...,x
i,k-si}。同时,对比于r半径内邻接点定位和knn邻域查询的方式,采用iosmap方式进行邻域内点查询的优点在于可以根据物体真实的几何走向进行邻域内点定位,可以更好的捕获物体的形状。
46.其次,得到每个局部区域内定位到的邻接点集合后,将其与该区域内中心点作极坐标下的运算,得到极坐标值,这里只展示计算后极坐标空间下的角度向量,即:
47.anglei={angle
i,1
,angle
i,2
,...,angle
i,j
,...,angle
i,k
}
48.其中,angle
i,j
表示在第t阶段中第i个区域内第j个邻接点的极坐标角度向量值。
49.最后,初始化形状卷积算子ui={u
i,1
,u
i,2
,...,u
i,v
,...,u
i,m
},其中u
i,v
代表第i个邻域内中心点的第v个方向的形状卷积向量。由于设置的每一个卷积算子,代表这个局部区域中心的不同的方向向量,因此通过计算这些方向向量与局部邻域坐标向量的方向偏移来求得形状方向相似度,即:
[0050][0051]
其中,angle
i,j
表示第i个区域内第j个邻接点的极坐标角度向量值;u
i,v
表示第i个邻域内中心点的第v个方向的形状卷积向量。该表达式可以有效地体现形状方向的特征,即两者之间的差值越小,表明该邻接点特征向量对该方向向量的贡献越大。
[0052]
(3)局部形状特征卷积模块:该模块以特征卷积单元和形状感知模块的输出向量特征作为本模块的输入,输出为每个局部区域的总特征向量,具体操作流程如下:
[0053]
首先,将通过特征卷积单元得到的每个点的特征后,进行局部特征聚合卷积操作,得到第i个区域的局部区域卷积特征:
[0054]
fpi=aggr(f
i,1
,f
i,2
,...,f
i,j
,...,f
i,k
)
[0055]
其中,aggr代表聚合卷积;f
i,j
代表第i个区域中第j个点的特征信息。
[0056]
其次,将局部邻域每一个特征向量向该区域内中心的每一个方向向量进行投影,并将形状感知模块中得到的形状方向相似度作为其权重,进而求出局部区域形状特征:
[0057][0058]
其中,fsi表示第i个局部区域的形状特征,f
i,j
表示第i个局部区域内第j个邻接点的特征向量,表示第i个邻域内第j个邻接点特征与区域内中心点的第v个方向向量的形状方向相似度,该值越大,代表邻居向量特征越接近该方向特征向量,即使是较短的邻居向量也会产生较大的贡献。
[0059]
最后,所得到的特征向量fs便是每一个局部区域的形状特征集合。与二维图像的检测算子相似,每个形状特征皆可看作是经过某个卷积模板得到的某个方向上的边缘特征,最终将形状特征fs与原始经过mlp卷积获得的空间特征fp进行拼接即可得到每个区域
的特征向量集合:
[0060][0061]
(4)最大池化操作:在s+m维上进行最大池化和归一化操作,得到当前阶段t最终的特征向量。
[0062]
最终,为了保证特征向量不会整体悬崖式改变,因此将上述4个模块循环3次,来保证特征的变化斜率不会过大。输入点云通过3层上述的4个模块运算后,输出一个维度为c的特征向量来表示整个点云模型的全局特征。
[0063]
在解码阶段,本发明设计的解码器主要结构包含重建模块、修复模块、细化模块三个部分,具体说明如下:
[0064]
(1)重建模块:该模块以编码器输出的一个c维全局特征向量作为输入,输出一个粗略的点云向量来表示该模型的模糊特征,注意,该特征会体现出这个点云模型的大致轮廓信息。因此,首先通过一组线性层将大小为1
×
c的全局特征向量映射为1
×
3m的扩充特征向量,接着通过维度的转换将其调整成大小为m
×
3的粗略点云,最终将原始的输入点云与上述重塑出的点云进行合并,即:p
rough
=p
input
+p
recon
。同时考虑到点云分布的稀疏性,因此需要对合并点云进行重采样操作来获取分布均匀的粗糙点云。
[0065]
由于对点云的稀疏性要求较高,希望生成密度均匀的点云,因此采用最小密度采样(mds)的方式对合并点云进行采样,最小密度采样通过高斯核来估计每一个点周围的密度,在每次选取采样点的时候保证所采样的点密度最小。
[0066]
(2)修复模块:在经过重建模块后,得到一个大小为m
×
3的粗略点云后,虽然该粗略点云拥有均匀分布的点,但是由于合并点云是输入点云和重建点云拼接而成,因此为了使得二者拼接的更加自然,在该模块中以大小为m
×
3的粗略重建点云作为输入,输出修复后的大小为m
×
3的修复点云。
[0067]
首先,将每一个点附加一个标识符0或者1,分别代表这个点的来源为重建点云或者输入点云;其次,借助残差思想来预测每一个点云相对于真实的修复后点云模型的坐标偏移量,即采用多层感知器进行学习其偏移量参数;最终,修复模块的公式表达为:
[0068][0069]
其中,表示修复模块输出的第i个点的坐标,表示重建模块输出的第i个点的坐标,mp表示maxpooling操作,表示第i个点与其标识符ψi的mlp卷积后的特征向量。
[0070]
(3)细化模块:通过上述重建模块获取粗略点云、修复模块实现点云拼接平滑后,在本模块中,主要是针对点云模型内部的细节进行处理,最终输出一个大小为n
×
3的细化点云模型,该模型具有点分布均匀、密度均匀、形状完整等特点。在细化模块中,对点云模型中的局部几何优化进而实现对点云模型内部的细节恢复。
[0071]
首先,给定一个经过重建模块和修复模块输出的粗略修复点云p
repair
和点数量的扩充倍数r;其次,将修复点云拆分成r个部分形成点云的r个子集并将它们扩散到p
repair
的相邻点中;接着,预测每一个子点集的坐标偏移量δp;最终,得到更新子点集的点坐标公式如下:
[0072][0073]
其中,坐标偏移量δp为结合点特征和形状特征后,通过mlp卷积预测学习获得,表达如下:
[0074]
δp=mlp(f
p
,fs)
[0075]
点特征f
p
通过多层感知器的学习和自注意力机制的运算获得,其中,自注意力机制通过加权周围点特征来修正自身的特征,该特征为子点的分布提供了语义特征;形状特征fs的获取方式类似编码器中形状感知模块和局部形状特征卷积模块的具体操作,该特征为子点的分布提供了局部形状几何特征。
[0076]
最终,通过编码器-解码器结构输出的大小为n
×
3的点云模型数据。
[0077]
步骤四:构建神经网络模型损失。为了让修复后的点云模型更接近真实的点云模型,需要通过损失函数进行约束步骤三中网络结构的设计,这里针对模型结构设计两种损失函数,计算网络输出的修复点云形状与真实的点云形状之间的差异,进而约束神经网络模型对于残缺并且不规则点云的修复能力。
[0078]
(1)重建损失:通过修复后的点云模型与真实的点云模型之间的误差来评估网络结构修复后的结果,其计算方法为常规的倒角距离(cd)和搬土距离(emd)的加权和。
[0079]
倒角距离计算集合a中所有点到集合b中最近的点的最短距离平均值,不需要两个集合点数完全一致,计算公式如下:
[0080][0081]
其中,集合a、b分别表示预测的点云模型和真实的点云模型,p为集合a中的每一个点,q为集合b中的每一个点。
[0082]
搬土距离计算集合a转换成为集合b所需要的最小代价和,需要这两个集合点数大小相同,计算公式如下:
[0083][0084]
其中,f(x)是一个映射函数,它表示了集合a中的点p在集合b中的映射点。
[0085]
(2)形状约束损失:通过cd距离的单向约束来保证网络生成的预测点云模型中尽可能多地保留原始输入点云中的内部结构,因此只需要单向的约束匹配,计算公式如下:
[0086][0087]
其中,p
in
表示输入的残缺点云,p
pred
表示修复网络输出的预测点云,p为集合p
in
中的每个点,q为集合p
pred
中的每个点。
[0088]
最终,设α、β、γ分别为每个损失的权重值,总损失即为三种不同损失的权重和,如下:
[0089]
l=αl
cd
(a,b)+βl
emd
(a,b)+γl
stru
(p
in
,p
pred
)
[0090]
步骤五:搭建实验环境并训练神经网络模型。对该点云修复神经网络模型结构运行所需要的软硬件设施进行配置,并设置各项模型训练的超参数,最后,将设计好的神经网络模型进行端到端的训练,与此同时利用损失函数对该模型进行约束,使之能够更好地修
复三维点云模型。
[0091]
使用的cpu型号为intel(r)core(tm)i9-10900k,核数为20,主频为3.70ghz,内存为64g,gpu为geforce rtx 3080,显存为10g。操作系统为ubunm 20.04,深度学习框架为pytorch,cuda版本为11.2,cudnn版本为8.1,开发语言为python和c++。
[0092]
采用大小为1024
×
3的点云作为输入,编码器输出为1
×
1024的全局特征向量并将其作为解码器的输入,重建模块输出为1024
×
3的粗略点云,修复模块输出1024
×
3的修复点云,细化模块输出1024
×
3的预测点云。
[0093]
训练和测试中的模型参数:批大小batchsize设置为32,激活函数采用leakyrelu函数,并在学习率为0.0003的adam优化器上持续训练了128个周期,每隔32个周期,学习率下降为原来的25%。
[0094]
步骤六:存储最优模型及其各项参数。如图5所示,在训练和测试趋于稳定并保持在一个高水准修复结果后,保存最优模型结构及其各项参数。在模型训练中,模型会实时监控输出的损失和重建的正确率,进而定位到整个训练的128个周期中效果最好的模型参数结构,并保存成pt件。此后的残缺点云只需要使用训练好的网络结构和参数,便可以输出精细、分布均匀、密集、完整的点云模型。
[0095]
以上步骤是本发明主要的步骤流程及其详细说明,但本发明不仅仅限于上述所描述的实施方法。对于计算机领域专业人士而言,在不脱离本发明原理的情况下,对其中的任一部件进行多种变化(修改、删除、替换、变型等操作),仍然落于本发明的保护范围内。

技术特征:


1.一种具有形状感知的三维点云模型修复方法,其特征在于,包括以下步骤:步骤一:获取数据集;步骤二:预处理实验数据;对步骤一中的数据集进行处理,包括:对数据的采样、定位、角度旋转、模拟缺失过程以及对所有点云数据的归一化处理;步骤三:设计神经网络模型结构;基于自动编码器网络框架,通过多个自学习的方向向量和局部自注意力机制提取相应的点云几何特征并借助残差网络进行局部结构优化,来构建一个以缺失的不完整点云模型作为输入,具有完整形状的修复点云作为输出的点云模型补全网络;步骤四:构建神经网络模型损失;针对模型结构设计两种损失函数,计算网络输出的修复点云形状与真实点云形状之间的差异,进而约束神经网络模型对于残缺并且不规则点云的修复能力;步骤五:搭建实验环境并训练神经网络模型;对该点云修复神经网络模型结构运行所需要的软硬件设施进行配置,并设置各项模型训练的超参数,最后,将设计好的神经网络模型进行端到端的训练,与此同时利用损失函数对该网络模型进行约束,使之能够更好地修复三维点云模型;步骤六:存储最优模型及其各项参数;在训练和测试趋于稳定并保持在一个高水准修复结果后,保存最优模型结构及其各项参数。2.根据权利要求1所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤二中采用26个均匀分布在单位球体上的位置来为每个cad模型模拟出不完整的点云。3.根据权利要求1所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤二中包括数据处理方法:将采用泊松盘采样pds对完整形状的非重叠且均匀分布的点云进行采样;对点云模型的点坐标进行单位球归一化:将整个点云模型放缩到半径为1的球体中。4.根据权利要求1所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤三所述的点云模型补全网络主要分为特征提取的编码器和模型修复的解码器,其中,编码器主要通过特征计算、特征卷积的方式获取点云模型中每一个点的特征信息,解码器主要根据编码器获取到的特征信息进行重建并细化处理,将残缺、密度不均匀的点云模型修复成完整、精细的点云模型。5.根据权利要求4所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤三所述的点云模型补全网络中编码器,包括:特征卷积单元、形状感知模块、多个级联的局部形状特征卷积模块和最大池化操作特征卷积单元用于获取点的空间特征;形状感知模块对每一个点在其多个方向维度上生成自适应的三维点云形状卷积算子;在局部特征卷积模块中利用形状卷积算子来捕获点云模型的形状特征,并与点云的空间特征相结合,从而可以通过最大池化操作来丰富每一个点的特征向量。6.根据权利要求4所述的一种具有形状感知的三维点云模型修复方法,其特征在于,所述的点云模型补全网络中解码器,包括:点云重建、修复和细化三个模块;重建模块主要是以点云的全局特征作为输入,生成一个粗略的点云向量来表示该模型的模糊特征,这种向量会体现出点云模型的大致轮廓信息,进而引导后续模块对点云补全
的总体趋向;修复模块主要利用残差思想将输入点云和粗重建的点云相结合,并设置每个点的坐标偏移量,再采用多层感知器来学习该偏移量参数,从而生成一个修复后的点云模型;细化模块则对点云模型内部结构进行处理,使其生成一个点分布均匀、形状完整的点云模型。7.根据权利要求1所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤四所述的损失函数包括:重建损失和形状约束损失;重建损失,是倒角距离cd损失和搬土距离emd损失的加权和,cd损失计算重建后的点集到真实点集中对应点的最短距离,emd损失计算从重建后的点集映射到真实点集中的最小代价和;形状约束损失,主要通过cd距离的单向约束来保证网络生成的预测点云模型中尽可能多的保留原始输入点云中的内部已有结构,使其补全后的模型仍保持着原有模型的结构信息。8.根据权利要求1所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤五中,设置超参数包括:批大小batchsize设置为32,激活函数采用leakyrelu函数;在学习率为0.0003的adam优化器上持续训练了128个周期,每隔32个周期,深度学习模型的输入点云数量为1024,编码器输出的粗重建点云数量为1024,最终通过解码器输出的细化均匀密集点云数量为1024。9.根据权利要求1所述的一种具有形状感知的三维点云模型修复方法,其特征在于,步骤六所述的训练方式和模型存储,在模型训练中,模型实时监控输出的损失和重建的正确率,进而定位到在整个训练的128个周期中效果最好的模型参数结构。

技术总结


本发明公开了一种具有形状感知的三维点云模型修复方法,包括以下步骤:步骤一、获取数据集;步骤二、预处理实验数据;步骤三、设计神经网络模型结构;步骤四、构建神经网络模型损失;步骤五、搭建实验环境并训练神经网络模型;步骤六、存储最优模型及其各项参数。采用上述技术方案,将不完整的、残缺的、点分布不均匀的点云模型作为输入,输出补全修复后点分布均匀的完整点云模型。的完整点云模型。的完整点云模型。


技术研发人员:

吴向阳 周海新 金征雷

受保护的技术使用者:

杭州瑞成信息技术有限公司

技术研发日:

2022.09.30

技术公布日:

2022/12/29

本文发布于:2024-09-25 09:36:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/49501.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   特征   形状   卷积
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议