CN112070877A - 点云处理方法、装置、设备及计算机可读存储介质 - Google Patents
点云处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112070877A CN112070877A CN201910445213.8A CN201910445213A CN112070877A CN 112070877 A CN112070877 A CN 112070877A CN 201910445213 A CN201910445213 A CN 201910445213A CN 112070877 A CN112070877 A CN 112070877A
- Authority
- CN
- China
- Prior art keywords
- model
- distance
- target
- point cloud
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种点云处理方法、装置、设备及计算机可读存储介质,该方法包括:基于获取的点云构建第一模型和第二模型;其中,第一模型在点云构成的空间的内部,第二模型在点云构成的空间的外部;扩张变形第一模型,收缩变形第二模型;其中,扩张变形后的第一模型到点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;第一集合包括点云和第二模型,第二集合包括点云和第一模型;基于点云、变形后的第一模型和变形后的第二模型拟合重建目标对象的三维模型。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种点云处理方法、一种点云处理装置、一种点云处理设备以及一种计算机可读存储介质。
背景技术
近年来,随着信息数字化技术的发展,信息数据不管是从数量上还是从维数上都显著增加了,特别是空间三维(3Dimensions,3D)数据已经引起业界和研究者的高度重视,人们逐渐将数据的处理从二维投向3D的研究上。其中,3D建模是许多3D技术的关键步骤,如虚拟现实(Virtual Reality,VR)/增强现实(Augmented Reality,AR)技术、3D打印技术以及3D人体模板驱动技术等。自3D空间中的离散点云数据构建三维模型则是最常见3D建模问题。
现有技术中,可以通过由粗到细的Competing Fronts重建方法,该算法首先在点云的内部选定一个初始位置,并在该位置构造一个初始球,然后,根据一定规则膨胀变形该球,使最终的变形结果尽量拟合点云形状,同时又不超出点云的范围;最后根据变形结果以及初始点云生成3D重建结果。
上述算法是需要间接依赖点云法向信息来重建三维模型的,然而,当前一般的消费级深度相机或3D扫描设备采集的原始的三维点云数据通常是没有法向信息,那么对于没有法向信息的点云集,该算法只能使用估计的法向来重建三维模型,而通过点云估计的法向很可能是不精确的,导致影响重建结果。如何解决现有技术中很难基于采集的点云数据重建出高质量的三维模型,以提高该三维模型在VR/AR技术领域、3D打印技术领域等应用场景中的显示效果、还原准确度等等,是本领域技术人员关注的技术问题。
发明内容
本申请实施例公开了一种点云处理方法、一种点云处理装置、一种点云处理设备以及一种计算机可读存储介质,能够解决现有技术中很难基于采集的点云数据重建出高质量的三维模型的技术问题。
第一方面,本申请实施例提供一种点云处理方法,该方法包括:
基于获取的点云构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;
扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;
基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。
在一种可能的实现方式中,在基于获取的点云构建第一模型和第二模型之前,还可以包括:获取目标对象的点云。
通过执行上述方法,使用两个演化的模型对获取输入的点云数据进行变形逼近,然后根据演化变形结果来重建三维模型,该重建方法仅依赖点云数据的空间位置信息,可以不需要点云法向之类的辅助信息,从而可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型,解决了现有技术由于需要依赖点云法向信息来重建三维模型,导致对于没有法向信息的点云集难以重建出高质量的三维模型的技术问题;而且执行上述方法,具有应对存在信息缺失或存在噪音的点云数据重建的能力,对于数据缺失较严重的点云数据同样可以得到稳定的重建结果,而且对数据噪音拥有较高地容忍度,从而可以提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效果、还原准确度等等。
在一种可能的实现方式中,所述扩张变形所述第一模型包括:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
由于第一集合包括点云和第二模型,通过根据第一集合来扩张变形第一模型,因此可以在扩张变形第一模型的过程中以点云和第二模型共同来约束扩张变形,从而使得第一模型在不断的迭代过程中更好地逼近点云,可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型。
在一种可能的实现方式中,所述扩张变形所述第一模型包括:
对所述第一模型进行扩张变形,直到所述第一模型到所述第一集合的目标距离小于等于第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
在扩张变形第一模型的过程中,通过判断所述第一模型到所述第一集合的目标距离是否小于等于第一判定距离,来决定是否结束本轮迭代,由于第一集合包括点云和第二模型,因此可以在扩张变形第一模型的过程中以点云和第二模型共同来约束扩张变形,从而使得第一模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,所述第一阈值等于所述第二阈值,所述扩张变形所述第一模型,收缩变形所述第二模型,包括:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于所述第一判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第一判定距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形,以及根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
由于第一集合包括点云和第二模型,通过根据第一集合来扩张变形第一模型,因此可以在扩张变形第一模型的过程中以点云和第二模型共同来约束扩张变形,从而使得第一模型在不断的迭代过程中更好地逼近点云;而且第二集合包括点云和第一模型,通过根据第二集合来收缩变形第二模型,同样可以在收缩变形第二模型的过程中以点云和第一模型共同来约束收缩变形,从而使得第二模型在不断的迭代过程中更好地逼近点云,可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型。并且,每轮扩张变形和收缩变形的迭代都以第一判定距离来判定,不但可以更好地控制扩张变形第一模型和收缩变形第二模型的同步性,提高第一模型和第二模型逼近点云的一致性,从而提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效果、还原准确度,还可以使迭代过程更加简单高效,从而提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在一种可能的实现方式中,所述根据所述第一集合对所述第一模型进行扩张变形,或者所述对所述第一模型进行扩张变形,包括:
根据所述第一模型的顶点到所述第一集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第一集合的方向移动。
对第一模型进行扩张变形的过程中,控制第一模型的顶点进行移动时,通过根据该顶点到第一集合包含的点的最短距离和所述第一判定距离来控制该顶点的移动,可以很好地借助点云和第二模型来约束第一模型的顶点的移动,使得第一模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,在对第一模型进行扩张变形的过程中,对该第一模型的所有顶点都各自执行根据所述第一模型的顶点到所述第一集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第一集合的方向移动的步骤。可以很好地借助点云和第二模型来约束第一模型的每个顶点的移动,使得第一模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离后,减少第一判定距离,重复执行对所述第一模型进行扩张变形之前,还包括对扩张变形后的第一模型进行网格拓扑优化。
由于第一模型扩张变形后,可能局部变得稀疏或过于稠密,这样不利于后续再利用该模型上的点去下一步迭代。通过在迭代演化时每次扩张变形第一模型后,对扩张变形后的第一模型先进行网格拓扑优化,网格拓扑优化后(如网格均匀化),再进行下一轮的扩张变形,改善拓扑结构,使得顶点变得均匀,可以使得后续的迭代变形结果可以更好地拟合点云的复杂形状。
在一种可能的实现方式中,所述扩张变形所述第一模型包括:
根据第一目标点距离确定第一目标点集合,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一目标点距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一目标点距离大于所述第一阈值;所述第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一目标点距离不超过所述第二模型到所述点云的距离;
根据所述第一目标点集合对所述第一模型进行扩张变形,直到所述第一模型到所述第一目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第一目标点距离,减少后的所述第一目标点距离为正数;
若减少后的所述第一目标点距离大于所述第一阈值,则重复执行所述根据第一目标点距离确定第一目标点集合,以及根据所述第一目标点集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一目标点距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
通过确认第一目标点集合,每轮迭代中让第一模型的扩张变形逼近该第一目标点集合,不但可以让直观地表示第一模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解第一模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第一目标点集合可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算扩张变形第一模型的过程中,针对每个该第一模型的顶点不需要都计算其到点云和第二模型的距离,在第一目标点集合确认后,可以简化成计算顶点到第一目标点集合的距离,大大减少了计算资源的开销,使得迭代过程进一步高效,提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在一种可能的实现方式中,所述减少所述第一目标点距离包括:
将所述第一目标点距离减少第一迭代差值,所述第一迭代差值大于0且小于所述第一目标点距离;或将所述第一目标点距离减少为原来的1/n,所述n为正数。
通过将第一目标点距离减少第一迭代差值或将第一目标点距离减少为原来的1/n,可以很好地控制第一目标点距离在迭代过程中减少的值,使得第一模型在不断的迭代过程中更好地逼近点云,可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型。
在一种可能的实现方式中,所述根据所述第一目标点集合对所述第一模型进行扩张变形,包括:
根据所述第一模型的顶点到所述第一目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第一目标点集合的方向移动。
具体地,可以通过(D(vi)-ξ)·ni控制所述第一模型扩张过程中顶点的移动距离和方向。其中,D(vi)-ξ表征顶点移动的距离,ni表征顶点移动的方向;D(vi)为所述第一模型的顶点到第一集合包含的点的最短距离,ξ为所述第一判定距离。
根据所述第一目标点集合对第一模型进行扩张变形的过程中,控制第一模型的顶点进行移动时,通过根据该顶点到所述第一目标点集合的最短距离和所述距离阈值来控制该顶点的移动,可以很好地借助第一目标点集合来约束第一模型的顶点的移动,使得第一模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,所述扩张变形所述第一模型包括:
根据第一目标点距离确定第一等值面,所述第一等值面包括由第一目标点集合构成的面,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一目标点距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一目标点距离大于所述第一阈值;所述第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一目标点距离不超过所述第二模型到所述点云的距离;
根据所述第一等值面对所述第一模型进行扩张变形,直到所述第一模型到所述第一等值面的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第一目标点距离,减少后的所述第一目标点距离为正数;
若减少后的所述第一目标点距离大于所述第一阈值,则重复执行所述根据第一目标点距离确定第一等值面,以及根据所述第一等值面对所述第一模型进行扩张变形的步骤;若减少后的所述第一目标点距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
通过确认第一等值面,每轮迭代中让第一模型的扩张变形逼近该第一等值面,不但可以让直观地表示第一模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解第一模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第一等值面可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算扩张变形第一模型的过程中,针对每个该第一模型的顶点不需要都计算其到点云和第二模型的距离,在第一等值面确认后,可以简化成计算顶点到第一等值面的距离,大大减少了计算资源的开销,使得迭代过程进一步高效,提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在一种可能的实现方式中,对所述第一模型进行扩张变形,直到所述第一模型到所述第一等值面的目标距离小于等于距离阈值后,减少第一目标点距离,重复执行对所述第一模型进行扩张变形之前,还包括对扩张变形后的第一模型进行网格拓扑优化。
由于第一模型扩张变形后,可能局部变得稀疏或过于稠密,这样不利于后续再利用该模型上的点去下一步迭代。通过在迭代演化时每次扩张变形第一模型后,对扩张变形后的第一模型先进行网格拓扑优化,网格拓扑优化后(如网格均匀化),再进行下一轮的扩张变形,改善拓扑结构,使得顶点变得均匀,可以使得后续的迭代变形结果可以更好地拟合点云的复杂形状。
在一种可能的实现方式中,所述收缩变形所述第二模型包括:
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于第二判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
由于第二集合包括点云和第一模型,通过根据第二集合来收缩变形第二模型,因此可以在收缩变形第二模型的过程中以点云和第一模型共同来约束扩张变形,从而使得第二模型在不断的迭代过程中更好地逼近点云,可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型。
在一种可能的实现方式中,所述根据所述第二集合对所述第二模型进行收缩变形,包括:
根据所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第二判定距离,控制所述顶点向所述第二集合的方向移动。
对第二模型进行收缩变形的过程中,控制第二模型的顶点进行移动时,通过根据该顶点到第二集合包含的点的最短距离和所述第二判定距离来控制该顶点的移动,可以很好地借助点云和第一模型来约束第二模型的顶点的移动,使得第二模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,所述收缩变形所述第二模型包括:
对所述第二模型进行收缩变形,直到所述第二模型到所述第二集合的目标距离小于等于第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
在收缩变形第二模型的过程中,通过判断所述第二模型到所述第二集合的目标距离是否小于等于第二判定距离,来决定是否结束本轮迭代,由于第二集合包括点云和第一模型,因此可以在收缩变形第二模型的过程中以点云和第一模型共同来约束扩张变形,从而使得第二模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,所述减少所述第二判定距离包括:
将所述第二判定距离减少第二迭代差值,所述第二迭代差值大于0且小于所述第二判定距离;或将所述第二判定距离减少为原来的1/n,所述n为正数。
通过将第二判定距离减少第二迭代差值或将第二判定距离减少为原来的1/n,可以很好地控制第二判定距离在迭代过程中减少的值,使得第二模型在不断的迭代过程中更好地逼近点云,可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型。
在一种可能的实现方式中,所述对所述第二模型进行收缩变形,包括:
根据所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第二判定距离,控制所述顶点向所述第二集合的方向移动。
对第二模型进行收缩变形的过程中,控制第二模型的顶点进行移动时,通过根据该顶点到第二集合包含的点的最短距离和所述第二判定距离来控制该顶点的移动,可以很好地借助点云和第一模型来约束第二模型的顶点的移动,使得第二模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,所述收缩变形所述第二模型包括:
根据第二目标点距离确定第二目标点集合,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二目标点距离的点,所述第二目标点集合位于所述点云构成的空间的外部;所述第二目标点距离大于所述第二阈值;所述第二目标点距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二目标点距离不超过所述第一模型到所述点云的距离;
根据所述第二目标点集合对所述第二模型进行收缩变形,直到所述第二模型到所述第二目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第二目标点距离,减少后的所述第二目标点距离为正数;
若减少后的所述第二目标点距离大于所述第二阈值,则重复执行所述根据第二目标点距离确定第二目标点集合,以及根据所述第二目标点集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二目标点距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
通过确认第二目标点集合,每轮迭代中让第二模型的收缩变形逼近该第二目标点集合,不但可以让直观地表示第二模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解第二模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第二目标点集合可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算收缩变形第二模型的过程中,针对每个该第二模型的顶点不需要都计算其到点云和第一模型的距离,在第二目标点集合确认后,可以简化成计算顶点到第二目标点集合的距离,大大减少了计算资源的开销,使得迭代过程进一步高效,提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在一种可能的实现方式中,所述根据所述第二目标点集合对所述第二模型进行收缩变形,包括:
根据所述第二模型的顶点到所述第二目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第二目标点集合的方向移动。
根据所述第二目标点集合对第二模型进行收缩变形的过程中,控制第二模型的顶点进行移动时,通过根据该顶点到所述第二目标点集合的最短距离和所述距离阈值来控制该顶点的移动,可以很好地借助第二目标点集合来约束第二模型的顶点的移动,使得第二模型在不断的迭代过程中更好地逼近点云。
在一种可能的实现方式中,所述收缩变形所述第二模型包括:
据第二判定距离确定第二等值面,所述第二等值面包括由第二目标点集合构成的面,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二判定距离的点,所述第二目标点集合位于所述点云构成的空间的外部;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
根据所述第二等值面对所述第二模型进行收缩变形,直到所述第二模型到所述第二等值面的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述根据第二判定距离确定第二等值面,以及根据所述第二目标点集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
通过确认第二等值面,每轮迭代中让第二模型的收缩变形逼近该第二等值面,不但可以让直观地表示第二模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解第二模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第二等值面可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算收缩变形第二模型的过程中,针对每个该第二模型的顶点不需要都计算其到点云和第一模型的距离,在第二等值面确认后,可以简化成计算顶点到第二等值面的距离,大大减少了计算资源的开销,使得迭代过程进一步高效,提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在一种可能的实现方式中,所述第一阈值等于所述第二阈值,所述扩张变形所述第一模型,收缩变形所述第二模型,包括:
根据第一判定距离确定第一目标点集合,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于第一判定距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
根据所述第一目标点集合对所述第一模型进行扩张变形,直到所述第一模型到所述第一目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
根据所述第一判定距离确定第二目标点集合,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第一判定距离的点,所述第二目标点集合位于所述点云构成的空间的外部;
根据所述第二目标点集合对所述第二模型进行收缩变形,直到所述第二模型到所述第二目标点集合的目标距离小于等于所述距离阈值;所述距离阈值为正数;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据第一判定距离确定第一目标点集合,根据所述第一目标点集合对所述第一模型进行扩张变形,以及根据所述第一判定距离确定第二目标点集合,根据所述第二目标点集合对所述第二模型进行收缩变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形以及对所述第二模型进行收缩变形。
通过确认第一目标点集合以及确认第二目标点集合,每轮迭代中让第一模型的扩张变形逼近该第一目标点集合,以及让第二模型的收缩变形逼近该第二目标点集合,不但可以让直观地表示模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第一目标点集合和第二目标点集合可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算扩张变形第一模型的过程中,针对每个该第一模型的顶点不需要都计算其到点云和第二模型的距离,在第一目标点集合确认后,可以简化成计算顶点到第一目标点集合的距离,大大减少了计算资源的开销;并且,每轮扩张变形和收缩变形的迭代都以第一判定距离来判定,不但可以更好地控制扩张变形第一模型和收缩变形第二模型的同步性,提高第一模型和第二模型逼近点云的一致性,从而提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效果、还原准确度,使得迭代过程进一步高效,从而提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在一种可能的实现方式中,对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于第二判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第二判定距离后,减少第二判定距离,重复执行对所述第二模型进行收缩变形之前,还包括对收缩变形后的第二模型进行网格拓扑优化。
由于第二模型收缩变形后,可能局部变得稀疏或过于稠密,这样不利于后续再利用该模型上的点去下一步迭代。通过在迭代演化时每次收缩变形第二模型后,对收缩变形后的第二模型先进行网格拓扑优化,进行网格拓扑优化后(如网格均匀化),再进行下一轮的收缩变形,改善拓扑结构,使得顶点变得均匀,可以使得后续的迭代变形结果可以更好地拟合点云的复杂形状。
在一种可能的实现方式中,所述第一模型到所述第一集合的目标距离包括:第一距离的平均距离;
其中,所述第一距离包括所述第一模型的每一个顶点各自到所述第一集合包含的点的最短距离。
通过设定第一模型到所述点云和所述第二模型的目标距离为第一距离的平均距离,可以更好地估计和控制第一模型的扩张变形,以更好地逼近点云。
在一种可能的实现方式中,所述第二模型到所述第二集合的目标距离包括:第二距离的平均距离;
其中,所述第二距离包括所述第二模型的每一个顶点各自到所述第二集合包含的点的最短距离。
通过设定第二模型到所述点云和所述第一模型的目标距离为第二距离的平均距离,可以更好地估计和控制第二模型的收缩变形,以更好地逼近点云。
在一种可能的实现方式中,所述基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型,包括:
建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
根据每一组顶点构成的空间线段所关联的点云的点,确定每个所述空间线段对应的抽取位置;
基于所述抽取位置生成目标对象的三维模型。
由于抽取或提取的中间面会更加逼近点云,通过提取中间面可以更加精确地拟合重建出该目标对象的三维模型;并且大大提高了在重建三维模型中对点云数据噪音的容忍能力,可以而稳定地对大多数点云进行三维重建,包括对存在信息缺失的点云数据的三维重建。
在一种可能的实现方式中,还包括:
在获取的所述点云的数据存在缺失的情况下,建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
根据每一组顶点构成的空间线段所关联的点云的点,分析所述关联的点云的点的稀疏情况;
根据所述稀疏情况补充所述点云的数据。
通过上述对点云的数据(即点云数据)的修复,针对存在点云数据丢失或缺失的情况,例如在点云的有损编解码传输过程中,可能会遇到解码的点云数据存在数据丢失的情况,那么本申请的点云处理方法可以很好地还原出丢失或缺失部分的点云数据。
在一种可能的实现方式中,所述基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型之后,还包括:
基于所述目标对象的三维模型构造三维模板驱动的三维模板模型。通过本申请输出的稳定的高质量的重建结果可以构造出稳定高质量的三维模板模型,从而可以更好地以该三维模板模型驱动模拟出三维物体的真实运动,实现更为理想的驱动效果。
第二方面,本申请实施例提供一种头戴式显示装置,包括处理器和显示模块;
所述处理器被配置用于调用存储的程序代码,执行上述第一方面任意一种的点云处理方法;并基于目标对象的三维模型创建增强现实或虚拟现实或游戏应用中的三维内容;
显示模块用于显示所述三维内容。
通过本申请输出的稳定的高质量的重建结果头戴式显示装置可以提高AR或VR或游戏应用中的三维物体的显示质量,提高AR或VR或游戏应用中创建三维物体的效率,降低创建成本。同样的,还可以将本申请输出的稳定的高质量的目标对象三维模型应用在建筑物设计、针对出版物文本内容的VR展示、广告市场中对产品的3D展示、地质和科学领域对地形建模、器官建模等辅助科学研究等等,都可以提高创建的三维物体的显示质量、提高创建效率,降低创建成本,更好地满足各应用领域创建三维物体的需求。
第三方面,本申请实施例提供一种3D打印装置,包括处理器和3D打印模块;
所述处理器被配置用于调用存储的程序代码,执行上述第一方面任意一种的点云处理方法;
所述3D打印模块用于基于目标对象的三维模型对所述目标对象进行3D打印。
通过本申请输出的稳定的高质量的重建结果3D打印装置可以避免现有技术中三维打印结果不稳定质量差的问题,可以极大地提高三维打印的效果,从而提高生产效率,降低生产成本。
第四方面,本申请实施例提供一种点云处理装置,包括建模单元,用于执行第一方面的任意一种方法。
在一种可能的实现方式中,所述点云处理装置还可以包括获取单元,用于获取目标对象的点云。
第五方面,本申请实施例提供一种移动终端,包括采集模块、处理器和通信模块;
所述采集模块用于采集获取目标对象的点云;
所述处理器被配置用于调用存储的程序代码,执行第一方面的任意一种方法;
所述通信模块用于将所述处理器拟合重建的所述目标对象的三维模型发送给其他设备。
在一种可能的实现方式中,所述移动终端还包括显示屏,所述显示屏用于显示所述目标对象的三维模型的图像。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一方面的任意一种方法的部分或全部步骤的指令。
第七方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
应当理解的是,本申请的第二至第七方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1a是本申请实施例提供的点云处理方法的应用示意图;
图1b是本申请实施例提供的点云处理方法的设备架构示意图;
图2a是本申请实施例提供的三维模型用于AR/VR的三维内容构建的应用效果示意图;
图2b是本申请实施例提供的三维模型用于对所述目标对象进行三维打印的应用效果示意图;
图2c是本申请实施例提供的三维模型用于构造三维模板驱动的三维模板模型的应用效果示意图;
图3是本申请实施例提供的点云处理方法的流程示意图;
图4是本申请实施例提供的构建第一模型第二模型的原理示意图;
图5是基于点云数据扩张变形第一模型和收缩变形第二模型的截面示意图;
图6是本申请实施例提供的扩张变形第一模型的流程示意图;
图7是本申请实施例提供的收缩变形第二模型的流程示意图;
图8是本申请实施例提供的迭代协同演化模型的流程示意图;
图9是本申请提供的另一实施例的扩张变形第一模型的流程示意图;
图10a是本申请实施例提供的确定等值面的原理示意图;
图10b是本申请实施例提供的向确定的第一等值面的方向扩张变形第一模型的原理示意图;
图10c是本申请实施例提供的向确定的第二等值面的方向收缩变形第二模型的原理示意图;
图11是本申请提供的另一实施例的收缩变形第二模型的流程示意图;
图12是本发明实施例提供的光滑能量函数的原理示意图;
图13是本申请实施例提供的抽取中间面的原理示意图;
图14是本申请实施例提供的点云数据修复的原理示意图;
图15是本申请实施例提供的点云处理装置的结构示意图;
图16是本申请实施例提供的移动终端的结构示意图;
图17是本申请提供的另一实施例的移动终端的结构示意图;
图18是本申请实施例提供的头戴式显示装置的结构示意图;
图19是本申请实施例提供的3D打印装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
基于点云数据进行三维建模是当前许多三维技术的关键步骤,因此本申请的点云处理方法的应用场景十分的广泛,如图1a示出的本申请实施例提供的点云处理方法的应用示意图,通过采集设备或采集模块采集到目标对象的3D点云后,基于该3D点云进行三维模型的重建,最后输出重建的三维模型,将重建的三维模型应用与不同的场景,例如VR/AR的3D内容构建、3D打印、构建三维模板驱动所需要的三维模板模型等。本申请实施例的目标对象包括能够被扫描设备或采集设备扫描到的物体或实体。
如图1b示出的本申请实施例提供的点云处理方法的设备架构示意图,以其中一种实现方式的设备架构来举例说明,该设备架构可以包括采集模块、客户端计算机和渲染模块。其中,采集模块可以包括3D点云扫描设备、深度相机等电子设备,用于获取目标对象的3D点云数据;客户端计算机可以由计算设备构成,可以通过相关模块或单元来执行本申请实施例的点云处理方法的流程,包括点云数据获取模块(或接收模块)、建立的第一模型(扩张模型)和第二模型(收缩模型)、三维模型拟合重建模块(或抽取模块);渲染模块可以用于渲染显示构建的三维模型的渲染显示设备,例如AR/VR头显设备、3D显示屏、或智能移动终端等等。本申请实施例提供的一种点云处理方法,主要是针对如何根据点云重建三维模型。
本申请实施例的客户端计算机包括但不限于台式计算机、膝上型计算机、平板计算机、智能移动终端等终端设备或服务器等网络设备,该服务器可以为独立服务器,也可以为集群服务器。本申请实施例不做限制。
为了更好的理解本申请实施例的思想,下面首先对本申请实施例的应用场景进行介绍。本申请实施例的应用场景非常广泛,下面举例进行说明:
本申请实施例可以将输出的目标对象的三维模型用于创建增强现实或虚拟现实或游戏应用中的三维内容,还可以将本申请输出的稳定的高质量的目标对象三维模型应用在建筑物设计、针对出版物文本内容的VR展示以增加阅读出版物的趣味性和可交互性、广告市场中对产品的3D展示以提高广告推广效果、地质和科学领域对地形建模、器官建模等辅助科学研究等等,针对各个应用场景,都可以提高创建的三维物体的显示质量、提高创建效率,降低创建成本,更好地满足各应用领域创建三维物体的需求。如图2a示出的本申请实施例提供的三维模型用于AR/VR的三维内容构建的应用效果示意图。
本申请实施例还可以将输出的目标对象的三维模型用于对所述目标对象进行三维打印。通过本申请输出的稳定的高质量的重建结果可以避免现有技术中三维打印结果不稳定质量差的问题,可以极大地提高三维打印的效果,从而提高生产效率,降低生产成本。如图2b示出的本申请实施例提供的三维模型用于对所述目标对象进行三维打印的应用效果示意图。
本申请实施例还可以将输出的目标对象的三维模型用于构造三维模板驱动的三维模板模型。通过本申请输出的稳定的高质量的重建结果可以构造出稳定高质量的三维模板模型,从而可以更好地以该三维模板模型驱动模拟出三维物体的真实运动,实现更为理想的驱动效果。如图2c示出的本申请实施例提供的三维模型用于构造三维模板驱动的三维模板模型的应用效果示意图。
下面结合图3示出的本申请实施例提供的点云处理方法的流程示意图,详细说明本申请实施例如何根据点云重建三维模型,该方法包括但不限于如下步骤:
步骤S300:基于获取的点云构建第一模型和第二模型;
具体地,本申请实施例的点云是指在逆向工程中通过测量仪器得到的物体外在表面的点数据集合,也就是说,本申请实施例获取的点云是目标对象的点云,该目标对象是在空间中具有一定体积(即占有一定空间)的物体,包括杯子、桌子、电视机、人物等等;通过获取的点云中的点和由点构成的面可以表征该目标对象所占有的空间。
本申请实施例的点云的数据,也可以称为点云数据,步骤S300具体也可以认为是基于获取的点云的数据构建第一模型和第二模型。
步骤S300中点云处理设备基于获取的点云构建的第一模型在所述点云构成的空间的内部,构建的第二模型在所述点云构成的空间的外部。本申请实施例中点云构成的空间可以为通过点云表征的该目标对象所占有的空间,也就是说,点云构成的空间的内部可以表征该目标对象所占有的空间的内部,点云构成的空间的外部可以表征该目标对象所占有的空间的外部。
本申请实施例中构建的第一模型在所述点云构成的空间的内部,可以具体为该第一模型的所有顶点在该点云构成的空间的内部;构建的第二模型在所述点云构成的空间的外部,可以具体为该第二模型的所有顶点在点云构成的空间的外部。本申请实施例可以预设构建的该第一模型的顶点个数N,该第一模型即是由该N个顶点以及顶点之间的面构成的,例如构建的该第一模型的初始形状为球形,那么该球形即为由该N个顶点以及顶点之间的球面所构成的,N个顶点可以均匀分布在的球面上,或者按照其他规则进行分布;该顶点个数N可以根据需要拟合重建的目标对象的复杂程度来预先设置,例如目标对象的形状比较复杂,可以预设较大的N(例如10000个),目标对象的形状比较简单,可以预设较小的N(例如1000个)。构建该第二模型的原理与构建该第一模型的相同,这里不再赘述。
如图4示出的本申请实施例提供的构建第一模型第二模型的原理示意图。其中,构建的初始的第一模型和第二模型以球体模型为例,图4为基于点云构建第一模型和第二模型后的截面示意图,可以看到点云处理设备基于点云构成的空间,在该点云内部空间构建出一个第一模型,在该点云外部空间构建出一个第二模型。该第一模型被整个点云包含,也就是说,该第一模型上的所有顶点在该点云构成的空间的内部;该第二模型包含整个点云,也就是说,该第二模型上的所有顶点在点云构成的空间的外部。
在其中一种实施方式中,步骤S300之前还可以包括获取目标对象的点云。
具体地,采集设备或采集模块采集到目标对象的3D点云的数据后,可以将该点云数据传输到点云处理设备,那么该点云处理设备即获取到目标对象的点云数据。其中,该采集设备或采集模块可以通过有线或无线的方式将点云数据传输到点云处理设备,包括通过云端将点云数据传输给点云处理设备。采集设备或采集模块也可以是点云处理设备中的一个功能模块或内部设备,那么该点云处理设备通过采集设备或采集模块即可采集获取到目标对象的点云。
步骤S302:扩张变形所述第一模型,收缩变形所述第二模型;
具体地,该点云处理设备可以设定变形约束规则,以迭代式地演化该第一模型和该第二模型的形状,包括扩张变形该第一模型以及收缩变形该第二模型。该变形约束规则可以包括该第一模型从内部向外部扩张,第二模型从外部向内部收缩,两者同时逼近点云数据,但都不超过或穿透点云构成的空间。直到,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值。
其中,本申请实施例中的目标距离可以包括两个对象包含的顶点或点之间的距离,可以是包含所有的顶点或点之间的距离,也可以是包含部分的顶点或点之间的距离,该部分的顶点或点可以是通过预设选定算法从所有顶点或点中选出的顶点或点。本申请实施例中的目标距离还可以包括两个对象的中心点或几何中心点之间的距离,等等。下面描述的目标距离以两个对象包含的所有顶点或点之间的距离进行举例说明:
本申请实施例中扩张变形后的第一模型到所述点云的目标距离可以为该第一模型的所有顶点各自到该点云的点的最短距离的平均距离;本申请实施例的最短距离可以为第一模型的顶点分别到点云的所有点的距离中,距离最短的值。例如,该第一模型的顶点共有1000个,该点云的点共有10000个,可以计算该第一模型的顶点到该点云的10000个点的距离,并得到该顶点对应的10000个距离中的最短距离,那么计算该第一模型的所有顶点后得到每个顶点对应的最短距离,即1000个最短距离,然后将该1000个最短距离取平均值,得到该目标距离。本申请扩张变形后的第一模型到该点云的目标距离不限于上述举例,还可以是该第一模型的选定顶点到该点云的点的平均距离,或者该第一模型的选定顶点到该点云的选定点的距离,等等,本申请不作限制。该选定顶点或选定点可以通过预设选定算法选择的点。
本申请实施例中的所述第一集合包括所述点云和所述第二模型,也就是说第一集合包含的点包括点云的点和第二模型所有顶点。扩张变形后的第一模型到第一集合的目标距离可以为第一距离的平均距离,该第一距离包括所述第一模型的每一个顶点各自到所述第一集合包含的点的最短距离。该最短距离是指第一模型的顶点分别到点云的所有点和到第二模型所有顶点的距离中,距离最短的值。例如,该第一模型的顶点共有1000个,该点云的点共有10000个,该第二模型的点共有2000个,那么第一集合即包括12000个点,可以计算该第一模型的顶点到该12000个点的距离,并得到该顶点对应的12000个距离中的最短距离,那么计算该第一模型的所有顶点后得到每个顶点对应的最短距离,即1000个最短距离,然后将该1000个最短距离取平均值,得到该目标距离。本申请扩张变形后的第一模型到该点云和该第二模型的目标距离不限于上述举例,还可以是该第一模型的选定顶点到该第一集合的平均距离,或者该第一模型的选定顶点到该点云的选定点平均该第二模型的选定顶点的距离,等等,本申请不作限制。该选定顶点或选定点可以通过预设选定算法选择的点。
本申请实施例中收缩变形后的第二模型到该点云的目标距离可以为该第二模型的所有顶点各自到该点云的点的最短距离的平均距离;原理可以与上述描述的扩张变形后的第一模型到该点云的目标距离相同,这里不再赘述。
本申请实施例中的所述第二集合包括所述点云和所述第一模型,也就是说第二集合包含的点包括点云的点和第一模型所有顶点。收缩变形后的第二模型到第二集合的目标距离可以包括第二距离的平均距离,该第二距离包括所述第二模型的每一个顶点各自到所述第二集合包含的点的最短距离。原理可以与上述描述的扩张变形后的第一模型到第一集合的目标距离相同,这里不再赘述。
本申请实施例中的该第一阈值或该第二阈值用于表征第一模型或第二模型靠近点云的距离,逼近点云的程度,比如当第一阈值或第二阈值为0,即相当于变形后的第一模型或第二模型与点云重叠。该第一阈值或该第二阈值可以为根据技术人员经验数据来设置,比如0.0005米,或根据实验数据来设置,或根据当前的三维模型的重建需求来设置,或者根据当前要重建的目标对象的形状的复杂程度来设置,等等。该第一阈值与该第二阈值可以相等。
步骤S304:基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。
具体地,在变形后的第一模型和第二模型足够逼近点云后,可以直接取变形后的该第一模型或变形后的第二模型作为最终模型来拟合重建得到目标对象的三维模型,也可以基于点云数据,在变形后的第一模型和第二模型之间抽取出中间面,基于该中间面来拟合重建出目标对象的三维模型。其中,由于提取的中间面会更加逼近点云数据,通过提取中间面可以更加精确地拟合重建出该目标对象的三维模型。
通过上述方法流程,同时演化或变形两个模型,使得两个模型变形后足够逼近点云,然后根据演化变形结果来重建三维模型,该重建方法仅依赖点云数据的空间位置信息,可以不需要点云法向之类的辅助信息,从而可以稳定地对大多数点云数据进行三维模型的重建,即使点云数据存在缺失法向量的情况,也可以重建出高质量的三维模型,解决了现有技术由于需要依赖点云法向信息来重建三维模型,导致对于没有法向信息的点云集难以重建出高质量的三维模型的技术问题;而且执行上述方法,具有应对存在信息缺失或存在噪音的点云数据重建的能力,对于数据缺失较严重的点云数据同样可以得到稳定的重建结果,而且对数据噪音拥有较高地容忍度。
在其中一种实施方式中,本申请实施例扩张变形所述第一模型和收缩变形所述第二模型都可以多次迭代执行,每次迭代时,可以先扩张变形所述第一模型,后收缩变形所述第二模型;或者先收缩变形所述第二模型,后扩张变形所述第一模型;或者扩张变形所述第一模型和收缩变形所述第二模型同时执行。判断扩张变形后的第一模型到第一集合的目标距离时,该第一集合中的第二模型即可以为当前判断时刻的第二模型,也就是说当前判断时刻的第二模型可能是前一次收缩变形后的模型,也可能是正在收缩变形时刻的模型,也可能是本轮收缩变形后的模型。同理,判断收缩变形后的第二模型到第二集合的目标距离时,该第二集合中的第一模型即为当前判断时刻的第一模型,也就是说当前判断时刻的第一模型可能是前一次扩张变形后的模型,也可能是正在扩张变形时刻的模型,也可能是本次扩张变形后的模型。
如图5示出的本申请实施例提供的演化模型的原理示意图,图5为基于点云扩张变形第一模型和收缩变形第二模型的截面示意图,直到两个模型变形后足够逼近点云,即扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到所述点云和当前所述第二模型的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到所述点云和当前所述第一模型的目标距离小于等于第二阈值,那么演化或变形结束;所述扩张变形后的第一模型的所有顶点在所述点云构成的空间的内部,所述收缩变形后的第二模型的所有顶点在所述点云构成的空间的外部。
在其中一种实施方式中,上述步骤S302执行扩张变形所述第一模型时,迭代式地演化该第一模型,可以包括如下步骤:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
具体地,可以结合图6示出的本申请实施例提供的扩张变形第一模型的流程示意图,可以通过一些判断步骤来实现迭代式地演化该第一模型:
步骤S600:对所述第一模型进行扩张变形;
具体地,点云处理设备根据所述第一集合对所述第一模型进行扩张变形;
在其中一种实施方式中,点云处理设备可以根据所述第一模型的顶点到所述第一集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第一集合的方向移动。也就是说,针对该第一模型的其中一个顶点,通过计算该顶点到第一集合包含的点的最短距离(该最短距离是指第一模型的该顶点分别到点云的所有点和到第二模型所有顶点的距离中,距离最短的值),结合第一判定距离来控制该顶点向所述第一集合的方向移动。
在其中一种实施方式中,可以通过(D(vi)-ξ)·ni控制所述第一模型扩张过程中顶点的移动距离和方向。其中,D(vi)-ξ表征顶点移动的距离,ni表征顶点移动的方向;D(vi)为所述第一模型的顶点到第一集合包含的点的最短距离,ξ为所述第一判定距离。
在其中一种实施方式中,ni可以为该顶点自身的法向,或者可以为沿该顶点到第二模型最短距离的顶点的方向,或者可以为以该顶点自身的法向为基础方向,根据该顶点到第二模型最短距离的顶点的方向、该顶点到点云距离最短的点的方向对基础方向作调整后得到的方向。
在其中一种实施方式中,可以针对第一模型的所有顶点都通过上述的方式来进行移动,来完成对所述第一模型进行扩张变形;也可以针对第一模型的部分顶点通过上述的方式来进行移动,来完成对所述第一模型进行扩张变形,该部分顶点可以是通过预设选定算法从第一模型的所有顶点中选出的顶点。
本申请实施例中初始的第一判定距离可以为一个预设值,只要该第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且该第一判定距离不超过所述第二模型到所述点云的距离。该第一判定距离用于控制每轮迭代变形中第一模型的顶点的移动距离,还用于判断每轮迭代结束的条件。
步骤S602:判断所述第一模型到所述点云的目标距离是否小于等于第一判定距离;或者判断所述第一模型到所述第一集合的目标距离是否小于等于所述第一判定距离;
具体地,若判断为是时,即第一模型到所述点云的目标距离小于等于第一判定距离,或者第一模型到所述第一集合的目标距离小于等于所述第一判定距离,那么执行步骤S604;若判断为否时,继续执行步骤S600。
步骤S604:减少所述第一判定距离;
具体地,可以将所述第一判定距离减少第一迭代差值,所述第一迭代差值大于0且小于所述第一判定距离;或将所述第一判定距离减少为原来的1/n,所述n为正数,例如n为2。
步骤S606:判断减少后的所述第一判定距离是否大于所述第一阈值;
具体地,若减少后的所述第一判定距离大于所述第一阈值,则重复执行步骤S600,进入下一轮迭代;若减少后的所述第一判定距离不大于所述第一阈值,即小于或等于该第一阈值,则执行步骤S608,停止迭代演化。
步骤S608:结束对所述第一模型进行扩张变形。
在其中一种实施方式中,迭代演化时每次扩张变形第一模型后,可以对扩张变形后的第一模型先进行网格拓扑优化,从而使得后续的迭代变形结果可以更好地拟合点云的复杂形状,进行网格拓扑优化后,再进行下一轮的扩张变形。
由于第一模型扩张变形后,可能局部变得稀疏或过于稠密,这样不利于后续再利用该模型上的点去下一步迭代。通过在迭代演化时每次扩张变形第一模型后,对扩张变形后的第一模型先进行网格拓扑优化,网格拓扑优化后(如网格均匀化),再进行下一轮的扩张变形,改善拓扑结构,使得顶点变得均匀,可以使得后续的迭代变形结果可以更好地拟合点云的复杂形状。
类似地,在其中一种实施方式中,上述步骤S302执行收缩变形所述第二模型时,迭代式地演化该第二模型,可以包括如下步骤:
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于第二判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
具体地,可以结合图7示出的本申请实施例提供的收缩变形第二模型的流程示意图,可以通过一些判断步骤来实现迭代式地演化该第二模型:
步骤S700:对所述第二模型进行收缩变形;
具体地,点云处理设备根据所述第二集合对所述第二模型进行收缩变形;
在其中一种实施方式中,点云处理设备可以所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第二判定距离,控制所述顶点向所述第二集合的方向移动。也就是说,针对该第二模型的其中一个顶点,通过计算该顶点到第二集合包含的点的最短距离(该最短距离是指第二模型的该顶点分别到点云的所有点和到第一模型所有顶点的距离中,距离最短的值),结合第二判定距离来控制该顶点向所述第二集合的方向移动。
在其中一种实施方式中,可以通过(D(vi)-ξ)·ni控制所述第二模型扩张过程中顶点的移动距离和方向。其中,D(vi)-ξ表征顶点移动的距离,ni表征顶点移动的方向;D(vi)为所述第二模型的顶点到第二集合包含的点的最短距离,ξ为所述第二判定距离。
在其中一种实施方式中,ni可以为该顶点自身的法向,或者可以为沿该顶点到第一模型最短距离的顶点的方向,或者可以为以该顶点自身的法向为基础方向,根据该顶点到第一模型最短距离的顶点的方向、该顶点到点云距离最短的点的方向对基础方向作调整后得到的方向。
在其中一种实施方式中,可以针对第二模型的所有顶点都通过上述的方式来进行移动,来完成对所述第二模型进行收缩变形;也可以针对第二模型的部分顶点通过上述的方式来进行移动,来完成对所述第二模型进行收缩变形,该部分顶点可以是通过预设选定算法从第二模型的所有顶点中选出的顶点。
本申请实施例中初始的第二判定距离可以为一个预设值,只要该第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离。该第二判定距离用于控制每轮迭代变形中第二模型的顶点的移动距离,还用于判断每轮迭代结束的条件。
步骤S702:判断所述第二模型到所述点云的目标距离是否小于等于第二判定距离,或者判断所述第二模型到所述第二集合的目标距离小于等于所述第二判定距离;
具体地,若判断为是时,即第二模型到所述点云的目标距离小于等于第二判定距离,或者第二模型到所述第二集合的目标距离小于等于所述第二判定距离,那么执行步骤S704;若判断为否时,继续执行步骤S700。
步骤S704:减少所述第二判定距离;
具体地,可以将所述第二判定距离减少第二迭代差值,所述第二迭代差值大于0且小于所述第二判定距离;或将所述第二判定距离减少为原来的1/n,所述n为正数,例如n为2。
步骤S706:判断减少后的所述第二判定距离是否大于所述第二阈值;
具体地,若减少后的所述第二判定距离大于所述第二阈值,则重复执行步骤S700,进入下一轮迭代;若减少后的所述第二判定距离不大于所述第二阈值,即小于或等于该第一阈值,则执行步骤S708,停止迭代演化。
步骤S708:结束对所述第二模型进行收缩变形。
在其中一种实施方式中,迭代演化时每次收缩变形第二模型后,可以对收缩变形后的第二模型先进行网格拓扑优化,从而使得后续的迭代变形结果可以更好地拟合点云的复杂形状,进行网格拓扑优化后,再进行下一轮的收缩变形。
由于第二模型收缩变形后,可能局部变得稀疏或过于稠密,这样不利于后续再利用该模型上的点去下一步迭代。通过在迭代演化时每次收缩变形第二模型后,对收缩变形后的第二模型先进行网格拓扑优化,进行网格拓扑优化后(如网格均匀化),再进行下一轮的收缩变形,改善拓扑结构,使得顶点变得均匀,可以使得后续的迭代变形结果可以更好地拟合点云的复杂形状。
在其中一种实施方式中,上述第一阈值可以等于第二阈值,也就是说迭代变形第一模型和第二模型都可以参考同一个判定距离和同一个阈值。无需设定第二判定距离,只设定第一判定距离即可,下面结合图8示出的本申请实施例提供的迭代协同演化模型的流程示意图,进行举例说明,可以包括如下步骤:
步骤S800:对所述第一模型进行扩张变形;
具体地,参考上述图6实施例中的步骤S600,这里不再赘述。
步骤S802:判断所述第一模型到所述点云的目标距离是否小于等于第一判定距离;或者判断所述第一模型到所述第一集合的目标距离是否小于等于所述第一判定距离;
具体地,若判断为是时,即第一模型到所述点云的目标距离小于等于第一判定距离,或者第一模型到所述第一集合的目标距离小于等于所述第一判定距离,那么执行步骤S804;若判断为否时,继续执行步骤S800。
步骤S804:对所述第二模型进行收缩变形;
具体地,点云处理设备根据所述第二集合对所述第二模型进行收缩变形;
在其中一种实施方式中,点云处理设备可以所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第二集合的方向移动。也就是说,针对该第二模型的其中一个顶点,通过计算该顶点到第二集合包含的点的最短距离(该最短距离是指第二模型的该顶点分别到点云的所有点和到第一模型所有顶点的距离中,距离最短的值),结合第一判定距离来控制该顶点向所述第二集合的方向移动。
在其中一种实施方式中,可以通过(D(vi)-ξ)·ni控制所述第二模型扩张过程中顶点的移动距离和方向。其中,D(vi)-ξ表征顶点移动的距离,ni表征顶点移动的方向;D(vi)为所述第二模型的顶点到第二集合包含的点的距离,ξ为所述第一判定距离。
在其中一种实施方式中,ni可以为该顶点自身的法向,或者可以为沿该顶点到第一模型最短距离的顶点的方向,或者可以为以该顶点自身的法向为基础方向,根据该顶点到第一模型最短距离的顶点的方向、该顶点到点云距离最短的点的方向对基础方向作调整后得到的方向。
在其中一种实施方式中,可以针对第二模型的所有顶点都通过上述的方式来进行移动,来完成对所述第二模型进行收缩变形;也可以针对第二模型的部分顶点通过上述的方式来进行移动,来完成对所述第二模型进行收缩变形,该部分顶点可以是通过预设选定算法从第二模型的所有顶点中选出的顶点。
步骤S806:判断所述第二模型到所述点云的目标距离是否小于等于所述第一判定距离,或者判断所述第二模型到所述第二集合的目标距离小于等于所述第一判定距离;
具体地,若判断为是时,即第二模型到所述点云的目标距离小于等于第一判定距离,或者第二模型到所述第二集合的目标距离小于等于所述第一判定距离,那么执行步骤S808;若判断为否时,继续执行步骤S804。
步骤S808:减少所述第一判定距离;
具体地,参考上述图6实施例中的步骤S604,这里不再赘述。
步骤S810:判断减少后的所述第一判定距离是否大于所述第一阈值;
具体地,若减少后的所述第一判定距离大于所述第一阈值,则重复执行步骤S800,进入下一轮迭代;若减少后的所述第一判定距离不大于所述第一阈值,即小于或等于该第一阈值,则执行步骤S812,停止迭代演化。
步骤S812:结束对所述第一模型进行扩张变形,以及结束对所述第二模型进行收缩变形。
在其中一种实施方式中,上述步骤S302执行扩张变形所述第一模型时,还可以通过以下实施方式来迭代式地演化该第一模型,包括如下步骤:
根据第一目标点距离确定第一目标点集合,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一目标点距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一目标点距离大于所述第一阈值;所述第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一目标点距离不超过所述第二模型到所述点云的距离;
根据所述第一目标点集合对所述第一模型进行扩张变形,直到所述第一模型到所述第一目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第一目标点距离,减少后的所述第一目标点距离为正数;
若减少后的所述第一目标点距离大于所述第一阈值,则重复执行所述根据第一目标点距离确定第一目标点集合,以及根据所述第一目标点集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一目标点距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
具体地,可以结合图9示出的本申请提供的另一实施例的扩张变形第一模型的流程示意图,可以通过一些判断步骤来实现迭代式地演化该第一模型:
步骤S900:根据第一目标点距离确定第一目标点集合;
具体地,本申请实施例所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一目标点距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一目标点距离大于所述第一阈值;所述第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一目标点距离不超过所述第二模型到所述点云的距离。点云处理设备根据第一目标点距离确定的该第一目标点集合包含的点的个数可以预先设置,可以根据当前要重建的目标对象外形的复杂程度来设置。
本申请实施例中初始的第一目标点距离可以为一个预设值,只要该第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且该第一目标点距离不超过所述第二模型到所述点云的距离。该第一目标点距离用于控制每轮迭代变形中第一模型的顶点的移动距离。
表征三维空间的点v到点云p和第二模型Fo的混合距离(即三维空间的点v到第一集合包含的点的最短距离);所述α和β为正常数;例如,α可以设置为0.5,以控制两个模型间最小保持为2ξ距离;β控制模型到点云的距离,可以初始设置为1,后续可以适应性地变小,从而可以更好地估计和控制第一模型的扩张变形,以更好地逼近点云。
DP(v)=minp∈P||p-v||,表征三维空间的点v到点云p的距离,即三维空间的点v到点云p的距离场,表示三维空间的点v到点云p的最短距离;
所述ξ表征第一目标点距离。其中,将空间点云构成的点云集合记为P,v∈R3为三维空间中的点,vI∈FI为第一模型FI的点,vo∈Fo为第二模型Fo上的点。
具体地,可以如图10a示出的本申请实施例提供的确定第一目标点集合的原理示意图,图10a中图标a是指三维空间的点到点云的距离场,其中相同的灰度表示三维空间的点到点云的距离场相同;图标b是指三维空间的点到第二模型的距离场,其中相同的灰度表示三维空间的点到第二模型的距离场相同;图标c是指三维空间的点到点云和第二模型的混合距离,其中相同的灰度表示三维空间的点到点云和当前第二模型的混合距离相同;图标d是指通过点集确定的第一目标点集合,包括位于所述点云构成空间的外部的目标点集合a以及位于所述点云构成空间的内部的目标点集合b,其中目标点集合a可以用于指导第二模型收缩向内变形的方向;目标点集合b可以用于指导第一模型扩张向外变形的方向。图标e是指本发明实施例的第一目标点集合即为目标点集合b。
步骤S902:根据所述第一目标点集合对所述第一模型进行扩张变形;
具体地,点云处理设备可以根据所述第一模型的顶点到所述第一目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第一目标点集合的方向移动。也就是说,针对该第一模型的其中一个顶点,通过计算该顶点到第一目标点集合包含的点的最短距离(该最短距离是指第一模型的该顶点分别到第一目标点集合包含的所有点的距离中,距离最短的值),结合距离阈值来控制该顶点向所述第一目标点集合的方向移动。
在其中一种实施方式中,可以通过D(vi)-ε控制所述第一模型扩张过程中顶点的移动距离和方向。其中,D(vi)-ε表征顶点移动的距离;D(vi)为所述第一模型的顶点到第一目标点集合包含的点的最短距离,ε为所述距离阈值。顶点可以向着该第一目标点集合中距离最短的点移动。本申请实施例中的距离阈值用于表征扩张变形后的第一模型靠近该第一目标点集合的程度,该距离阈值不小于0,可以设置为0,或接近0的数值。
在其中一种实施方式中,可以针对第一模型的所有顶点都通过上述的方式来进行移动,来完成对所述第一模型进行扩张变形;也可以针对第一模型的部分顶点通过上述的方式来进行移动,来完成对所述第一模型进行扩张变形,该部分顶点可以是通过预设选定算法从第一模型的所有顶点中选出的顶点。
具体地,如图10b示出的本申请实施例提供的向确定的第一目标点集合的方向扩张变形第一模型的原理示意图,向确定的第一目标点集合的方向(沿着图10b中虚线箭头的方向)扩张变形第一模型。
步骤S904:判断所述第一模型到所述第一目标点集合的目标距离是否小于等于距离阈值;
具体地,若判断为是时,即第一模型到所述第一目标点集合的目标距离小于等于距离阈值,那么执行步骤S906;若判断为否时,继续执行步骤S902。
步骤S906:减少所述第一目标点距离;
具体地,可以将所述第一目标点距离减少第一迭代差值,所述第一迭代差值大于0且小于所述第一目标点距离;或将所述第一目标点距离减少为原来的1/n,所述n为正数,例如n为2。
步骤S908:判断减少后的所述第一目标点距离是否大于所述第一阈值;
具体地,若减少后的所述第一目标点距离大于所述第一阈值,则重复执行步骤S900,进入下一轮迭代;若减少后的所述第一目标点距离不大于所述第一阈值,即小于或等于该第一阈值,则执行步骤S910,停止迭代演化。
步骤S910:结束对所述第一模型进行扩张变形。
在其中一种实施方式中,图9实施例中的步骤S900可以替换为:根据第一目标点距离确定第一等值面。所述第一等值面包括由第一目标点集合构成的面,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一目标点距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一目标点距离大于所述第一阈值;所述第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一目标点距离不超过所述第二模型到所述点云的距离。
对应的,步骤S902可以替换为:根据所述第一等值面对所述第一模型进行扩张变形;具体地,点云处理设备可以根据所述第一模型的顶点到所述第一等值面的最短距离和所述距离阈值,控制所述顶点向所述第一等值面的方向移动。也就是说,针对该第一模型的其中一个顶点,通过计算该顶点到第一等值面的最短距离(该最短距离是指第一模型的该顶点分别到第一等值面包含的所有面的距离中,距离最短的值),结合距离阈值来控制该顶点向所述第一等值面的方向移动。
该第一等值面中的第一目标点集合也可以参考图10a至图10b所示,这里不再赘述。
对应的,步骤S904可以替换为:判断所述第一模型到所述第一等值面的目标距离是否小于等于距离阈值。
通过确认第一目标点集合或第一等值面,每轮迭代中让第一模型的扩张变形逼近该第一目标点集合或第一等值面,不但可以让直观地表示第一模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解第一模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第一目标点集合或第一等值面可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算扩张变形第一模型的过程中,针对每个该第一模型的顶点不需要都计算其到点云和第二模型的距离,在第一目标点集合或第一等值面确认后,可以简化成计算顶点到第一目标点集合或第一等值面的距离,大大减少了计算资源的开销,使得迭代过程进一步高效,提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
类似地,在其中一种实施方式中,上述步骤S302执行收缩变形所述第二模型时,还可以通过以下实施方式来迭代式地演化该第二模型,包括如下步骤:
根据第二目标点距离确定第二目标点集合,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二目标点距离的点,所述第二目标点集合位于所述点云构成的空间的外部;所述第二目标点距离大于所述第二阈值;所述第二目标点距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二目标点距离不超过所述第一模型到所述点云的距离;
根据所述第二目标点集合对所述第二模型进行收缩变形,直到所述第二模型到所述第二目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第二目标点距离,减少后的所述第二目标点距离为正数;
若减少后的所述第二目标点距离大于所述第二阈值,则重复执行所述根据第二目标点距离确定第二目标点集合,以及根据所述第二目标点集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二目标点距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
具体地,可以结合图11示出的本申请提供的另一实施例的收缩变形第二模型的流程示意图,可以通过一些判断步骤来实现迭代式地演化该第二模型:
步骤S110:根据第二目标点距离确定第二目标点集合;
具体地,本申请实施例所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二目标点距离的点,所述第二目标点集合位于所述点云构成的空间的外部;所述第二目标点距离大于所述第二阈值;所述第二目标点距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二目标点距离不超过所述第一模型到所述点云的距离。点云处理设备根据第二目标点距离确定的该第二目标点集合包含的点的个数可以预先设置,可以根据当前要重建的目标对象外形的复杂程度来设置。
本申请实施例中初始的第二目标点距离可以为一个预设值,只要该第二目标点距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二目标点距离不超过所述第一模型到所述点云的距离。该第二目标点距离用于控制每轮迭代变形中第二模型的顶点的移动距离。
表征三维空间的点v到点云p和第一模型FI的混合距离(即三维空间的点v到第二集合包含的的最短距离);所述α和β为正常数;例如,α可以设置为0.5,以控制两个模型间最小保持为2ξ距离;β控制模型到点云的距离,可以初始设置为1,后续可以适应性地变小,从而可以更好地估计和控制第二模型的收缩变形,以更好地逼近点云数据。
Dp(v)=minp∈p||p-v||,表征三维空间的点v到点云p的距离;
所述ξ表征第二目标点距离。
具体地,第二目标点集合的确认与上述第一目标点集合的确认原理类似,可以参考上述图10a所示的确认原理,图10a中图标f是指确认出的第二目标点集合。
步骤S112:根据所述第二目标点集合对所述第二模型进行收缩变形;
具体地,点云处理设备可以根据所述第二模型的顶点到所述第二目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第二目标点集合的方向移动。也就是说,针对该第二模型的其中一个顶点,通过计算该顶点到第二目标点集合包含的点的最短距离(该最短距离是指第二模型的该顶点分别到第二目标点集合包含的所有点的距离中,距离最短的值),结合距离阈值来控制该顶点向所述第二目标点集合的方向移动。
在其中一种实施方式中,可以通过D(vi)-ε控制所述第二模型收缩过程中顶点的移动距离和方向。其中,D(vi)-ε表征顶点移动的距离;D(vi)为所述第二模型的顶点到第二目标点集合包含的点的最短距离,ε为所述距离阈值。顶点可以向着该第二目标点集合中距离最短的点移动。本申请实施例中的距离阈值用于表征收缩变形后的第二模型靠近该第二目标点集合的程度,该距离阈值不小于0,可以设置为0,或接近0的数值。
在其中一种实施方式中,可以针对第二模型的所有顶点都通过上述的方式来进行移动,来完成对所述第二模型进行收缩变形;也可以针对第二模型的部分顶点通过上述的方式来进行移动,来完成对所述第二模型进行收缩变形,该部分顶点可以是通过预设选定算法从第二模型的所有顶点中选出的顶点。
具体地,如图10c示出的本申请实施例提供的向确定的第二目标点集合的方向收缩变形第二模型的原理示意图,向确定的第二目标点集合的方向(沿着图10c中虚线箭头的方向)收缩变形第二模型。
步骤S114:判断所述第二模型到所述第二目标点集合的目标距离小于等于距离阈值;
具体地,若判断为是时,即第二模型到所述第二目标点集合的目标距离小于等于距离阈值,那么执行步骤S116;若判断为否时,继续执行步骤S112。
步骤S116:减少所述第二目标点距离;
具体地,可以将所述第二目标点距离减少第二迭代差值,所述第二迭代差值大于0且小于所述第二目标点距离;或将所述第二目标点距离减少为原来的1/n,所述n为正数,例如n为2。
步骤S118:判断减少后的所述第二目标点距离是否大于所述第二阈值;
具体地,若减少后的所述第二目标点距离大于所述第二阈值,则重复执行步骤S110,进入下一轮迭代;若减少后的所述第二目标点距离不大于所述第二阈值,即小于或等于该第二阈值,则执行步骤S1111,停止迭代演化。
步骤S1110:结束对所述第二模型进行收缩变形。
在其中一种实施方式中,图11实施例中的步骤S110可以替换为:根据第二目标点距离确定第二等值面。所述第二等值面包括由第二目标点集合构成的面,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二目标点距离的点,所述第二目标点集合位于所述点云构成的空间的内部;所述第二目标点距离大于所述第二阈值;所述第二目标点距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二目标点距离不超过所述第一模型到所述点云的距离。
对应的,步骤S112可以替换为:根据所述第二等值面对所述第二模型进行收缩变形;具体地,点云处理设备可以根据所述第二模型的顶点到所述第二等值面的最短距离和所述距离阈值,控制所述顶点向所述第二等值面的方向移动。也就是说,针对该第二模型的其中一个顶点,通过计算该顶点到第二等值面的最短距离(该最短距离是指第二模型的该顶点分别到第二等值面包含的所有面的距离中,距离最短的值),结合距离阈值来控制该顶点向所述第二等值面的方向移动。
对应的,步骤S114可以替换为:判断所述第二模型到所述第二等值面的目标距离是否小于等于距离阈值。
通过确认第二目标点集合或第二等值面,每轮迭代中让第二模型的收缩变形逼近该第二目标点集合或第二等值面,不但可以让直观地表示第二模型每轮迭代变形的目标位置,还可以将该目标位置可视化呈现出来,使得技术人员可以更直观地了解第二模型每轮迭代变形的过程,便于技术人员对重建模型进行测试以及不断的完善。该第二目标点集合或第二等值面可以基于八叉树等数据结构表示,基于此结构可以使得重建模型的整体算法快速定位和计算,使迭代过程更加高效;而且,在计算收缩变形第二模型的过程中,针对每个该第二模型的顶点不需要都计算其到点云和第一模型的距离,在第二目标点集合或第二等值面确认后,可以简化成计算顶点到第二目标点集合或第二等值面的距离,大大减少了计算资源的开销,使得迭代过程进一步高效,提高该三维模型在VR/AR技术领域、或3D打印技术领域等应用场景中的显示效率、还原效率等。
在其中一种实施方式中,点云处理设备在迭代过程中,每轮对第一模型进行扩张变形以及对第二模型进行收缩变形时,可以先定义相关的能量函数,以通过该能量函数控制模型的变形结果,得到更加优化的变形结果。
具体地,可以定义多项能量函数,如下:
Etotal=f(EforceiEsmooth,Epreserve...)
下面以控制所述第一模型向确定的所述第一等值面的方向扩张为例进行说明:该Eforce可以作为第一动力(force)能量函数来控制第一模型扩张过程中与第一目标点集合或第一等值面的相近程度,具体依据第一目标点集合或第一等值面可以控制第一模型扩张过程中的该第一模型的顶点的移动距离和移动方向;该Esmooth可以作为第一光滑(smooth)能量函数来控制所述第一模型扩张过程中的光滑程度;该Epreserve可以作为第一维持(preserve)能量函数来控制所述第一模型在受限范围内扩张,以保证变形的稳定性和鲁棒性。除了上述定义的三项能量函数外,本申请实施例还可以定义其他的函数,以进行相关的有利约束。
在其中一种实施方式中,第一动力能量函数Ef可以为如下公式1:
v′i是当前顶点,vi是变换后的顶点,是顶点vi其法向的力矢量,其大小和混合距离相关;ξ是第一判定距离;ni是该顶点的法向,用于控制顶点移动方向;(D(vi)-ξ)·ni是移动的距离。也就是说,当该顶点的混合距离小于ξ,则表示该顶点不需要移动;当该顶点的混合距离大于等于ξ,则表示该顶点需要移动的距离。
在其中一种实施方式中,第一光滑能量函数Es(vi)可以为如下公式2:
其中,cij=cotαij+cotβij;如图12示出的本发明实施例提供的光滑能量函数的原理示意图,αij是vi,vj-1,vj三角形的夹角,βij是vi,vj+1,vj三角形的夹角其中,vj-1,vj,vj+1为vi的相邻点。
在其中一种实施方式中,第一维持能量函数Ep(vi)可以为如下公式3:
Ep(vi)=||v′i-vi||公式3
其中,v′i是当前顶点,vi是变换后的顶点,这里可以表征前后变换的空间距离。
通过上述定义的三项能量函数对第一模型的变形进行优化,优化变量可以为第一模型上各顶点的空间位置,优化后即可得到第一模型的变形结果。
同样地,向确定的所述第二目标点集合或第二等值面的方向收缩变形所述第二模型可以包括基于以下至少一项能量函数控制所述第二模型向确定的所述第二目标点集合或第二等值面的方向收缩;
第二动力能量函数,用于控制所述第二模型收缩过程中与所述第二目标点集合或第二等值面的相近程度;
第二光滑能量函数,用于控制所述第二模型收缩过程中的光滑程度;
第二维持能量函数,用于控制所述第二模型在受限范围内收缩。
第二动力能量函数同样可以参考上述公式1的具体实施方式,第二光滑能量函数同样可以参考上述公式2的具体实施方式,第二维持能量函数同样可以参考上述公式3的具体实施方式,这里不再赘述。
在其中一种实施方式中,上述步骤S304之后,即迭代演化完成之后,位于点云数据所构成的空间内外的第一模型和第二模型都已经非常接近,下面结合图13示出的本申请实施例提供的抽取中间面的原理示意图,举例说明如何在变形后的第一模型和第二模型之间抽取出中间面,并基于该中间面来拟合重建出目标对象的三维模型。可以包括如下步骤:
步骤S1300:建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
具体地,如图13是迭代演化完成后(即变形后)的第一模型、第二模型和点云的某一部分构成的示意图,图标a的图表明了变形后的第一模型、变形后的第二模型和点云的位置,点云位于第一模型和第二模型之间。图标b的图是建立该第一模型的顶点和第二模型的顶点的对应关系的示意图,例如可以针对该第一模型上的某一个顶点,可以与该顶点离第二模型上所有顶点的距离中,距离最小的第二模型上的顶点建立对应关系,从而建立起第一模型所有顶点之间的对应关系。又如可以针对该第二模型上的某一个顶点,可以与该顶点离第一模型上所有顶点的距离中,距离最小的第一模型上的顶点建立对应关系,从而建立起第二模型所有顶点之间的对应关系。
步骤S1302:根据每一组顶点构成的空间线段所关联的点云的点,确定每个所述空间线段对应的抽取位置;
具体地,如图13中图标c的图,每一组顶点对应构成三维空间中的一条空间线段,并且可以确定出该空间线段所关联的点云的点,图标c中的椭圆区域,例如可以将距离该空间线段最短的M个点云进行关联,或者将距离该空间线段小于阈值的点云进行关联,等等。然后确定出每个空间线段对应的抽取位置,例如该抽取位置可以是在距离关联的点云的几何中心最近的位置,又如该抽取位置可以是椭圆区域中跟该关联的点云的点平均距离最短的位置,等等。
步骤S1304:基于所述抽取位置生成目标对象的三维模型。
具体地,每个抽取位置将确定出最终抽取的三维模型,如图13中图标d的图,例如当该对应关系是扩张变形后的第一模型的每一个顶点与所述收缩变形后的第二模型的一个顶点对应关系时,依据每个抽取位置可以参考该第一模型的拓扑结构来生成三维模型,也就是说依据每个抽取位置所生成的三维模型的点和面可以与该第一模型的拓扑结构一样。当该对应关系是收缩变形后的第二模型的每一个顶点与所述扩张变形后的第一模型的一个顶点对应关系时,依据每个抽取位置可以参考该第二模型的拓扑结构来生成三维模型,也就是说依据每个抽取位置所生成的三维模型的点和面可以与该第二模型的拓扑结构一样。
又如,当该对应关系是扩张变形后的第一模型的每一个顶点与所述收缩变形后的第二模型的一个顶点对应关系时,可以将扩张变形后的第一模型进行网格拓扑优化后,将其各顶点变形到对应的抽取位置上,从而生成目标对象的三维模型,如图标d的图上的虚线上的每个抽取位置,扩张变形后的第一模型中的顶点i变形到其所在的空间线段的抽取位置e上,从而得到目标对象的三维模型。将其各顶点变形到对应的抽取位置的过程中可以通过上述的光滑能量函数进行约束,以确保变形的光滑程度;
通过图13的实施方式,由于提取的中间面会更加逼近点云,通过提取中间面可以更加精确地拟合重建出该目标对象的三维模型;并且大大提高了在重建三维模型中对点云数据噪音的容忍能力,可以而稳定地对大多数点云进行三维重建,包括对存在信息缺失的点云的数据的三维重建。
在其中一种实施方式中,本申请的点云处理方法还可以对点云的数据进行修复,具体地,在获取的点云的数据存在缺失的情况下,建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系,其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;然后根据每一组顶点构成的空间线段所关联的点云的点,分析关联的点云的点的稀疏情况;根据所述稀疏情况补充所述点云的数据。
如图14示出的本申请实施例提供的点云数据修复的原理示意图。图标a为原始点云,可知该原始点云中间段存在数据缺失的情况,在图标b到图标c建立起扩张变形后的第一模型的顶点和收缩变形后的第二模型的顶点的对应关系之后,如图标d所示,可以通过在每一条空间线段查找附近点云,如果数目小于阈值或平均值,则在线段周边均匀补充指定数目或均值数目的点云,最终得到如图标e所示的补充后的点云的点。
通过上述对点云的数据的修复,针对存在点云的数据丢失或缺失的情况,例如在点云的有损编解码传输过程中,可能会遇到解码的点云的数据存在数据丢失的情况,那么本申请的点云处理方法可以很好地还原出丢失或缺失部分的点云的数据。
下面结合图15示出的本申请实施例提供的点云处理装置的结构示意图,说明本申请实施例的点云处理装置15的结构:
点云处理装置15包括获取单元152和建模单元150,该获取单元152用于获取目标对象的点云;该建模单元150用于基于获取的点云构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;
然后扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;
然后基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。
在其中一个实施方式中,建模单元150扩张变形所述第一模型时,可以包括:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
在其中一个实施方式中,建模单元150扩张变形所述第一模型时,可以包括:
对所述第一模型进行扩张变形,直到所述第一模型到所述第一集合的目标距离小于等于第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
在其中一个实施方式中,所述第一阈值等于所述第二阈值,建模单元150扩张变形所述第一模型,收缩变形所述第二模型时,可以包括:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于所述第一判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第一判定距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形,以及根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
在其中一个实施方式中,建模单元150对所述第一模型进行扩张变形时,可以包括:
根据所述第一模型的顶点到所述第一集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第一集合的方向移动。
在其中一个实施方式中,建模单元150扩张变形所述第一模型时,可以包括:
根据第一判定距离确定第一目标点集合,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一判定距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
根据所述第一目标点集合对所述第一模型进行扩张变形,直到所述第一模型到所述第一目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据第一判定距离确定第一目标点集合,以及根据所述第一目标点集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
在其中一个实施方式中,建模单元150根据所述第一目标点集合对所述第一模型进行扩张变形时,可以包括:
根据所述第一模型的顶点到所述第一目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第一目标点集合的方向移动。
在其中一个实施方式中,建模单元150收缩变形所述第二模型时,可以包括:
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于第二判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
在其中一个实施方式中,建模单元150收缩变形所述第二模型时,可以包括:
对所述第二模型进行收缩变形,直到所述第二模型到所述第二集合的目标距离小于等于第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
在其中一个实施方式中,建模单元150对所述第二模型进行收缩变形时,可以包括:
根据所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第二判定距离,控制所述顶点向所述第二集合的方向移动。
在其中一个实施方式中,建模单元150收缩变形所述第二模型时,可以包括:
根据第二判定距离确定第二目标点集合,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二判定距离的点,所述第二目标点集合位于所述点云构成的空间的外部;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
根据所述第二目标点集合对所述第二模型进行收缩变形,直到所述第二模型到所述第二目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述根据第二判定距离确定第二目标点集合,以及根据所述第二目标点集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
在其中一个实施方式中,建模单元150根据所述第二目标点集合对所述第二模型进行收缩变形时,可以包括:
根据所述第二模型的顶点到所述第二目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第二目标点集合的方向移动。
在其中一个实施方式中,建模单元150基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型时,可以包括:
建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
根据每一组顶点构成的空间线段所关联的点云的点,确定每个所述空间线段对应的抽取位置;
基于所述抽取位置生成目标对象的三维模型。
在其中一个实施方式中,建模单元150还可以用于,在获取的所述点云的数据存在缺失的情况下,建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
根据每一组顶点构成的空间线段所关联的点云的点,分析所述关联的点云的点的稀疏情况;
根据所述稀疏情况补充所述点云的数据。
在其中一个实施方式中,建模单元150基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型之后,还可以用于:
基于所述目标对象的三维模型创建增强现实或虚拟现实或游戏应用中的三维内容。
在其中一个实施方式中,建模单元150基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型之后,还可以用于:
基于所述目标对象的三维模型构造三维模板驱动的三维模板模型。
在其中一个实施方式中,建模单元150基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型之后,还可以用于:
基于所述目标对象的三维模型对所述目标对象进行三维打印。
下面结合图16示出的本申请实施例提供的移动终端的结构示意图,说明本申请实施例的移动终端16的结构:
移动终端16可以包括采集模块160、处理器162和通信模块164;其中,
采集模块160可以用于采集获取目标对象的点云;
处理器162可以被配置用于调用存储的程序代码,基于采集模块采集获取的目标对象的点云,构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。该存储的程序代码可以存储在移动终端16本端,也可以存储在云端(即云服务器端)。
具体地,处理器162可以执行的步骤可对应参考上述各方法实施例中图3至图14任意实施例中的具体实现方式。
通信模块164可以用于将处理器162拟合重建的所述目标对象的三维模型发送给其他设备。
在一种可能的实施方式中,移动终端16还可以包括显示屏166,用于显示所述目标对象的三维模型的图像。
在一种可能的实施方式中,移动终端16还可以包括存储器,该存储器用于存储上述程序代码。
下面结合图17示出的本申请提供的另一实施例的移动终端的结构示意图,说明本申请实施例的移动终端17的结构:
移动终端17可包括:基带芯片170、存储器175(一个或多个计算机可读存储介质)、射频(RF)模块176、外围系统177。这些部件可在一个或多个通信总线174上通信。
外围系统177主要用于实现移动终端17和用户/外部环境之间的交互功能,主要包括移动终端17的输入输出装置。具体实现中,外围系统177可包括:触摸屏控制器178、摄像头控制器179、音频控制器120以及传感器管理模块121。其中,各个控制器可与各自对应的外围设备(如触摸显示屏123、摄像头124、音频电路125以及传感器126)耦合。需要说明的,外围系统177还可以包括其他I/O外设。摄像头124可以相当于图16实施例中的采集模块160。
基带芯片170可集成包括:一个或多个处理器171、时钟模块121以及电源管理模块173。集成于基带芯片170中的时钟模块171主要用于为处理器171产生数据传输和时序控制所需要的时钟。集成于基带芯片170中的电源管理模块173主要用于为处理器171、射频模块176以及外围系统提供稳定的、高精确度的电压。
射频(RF)模块176用于接收和发送射频信号,主要集成了移动终端17的接收器和发射器。射频(RF)模块176通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(RF)模块176可包括但不限于:天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、SIM卡和存储介质等。在一些实施例中,可在单独的芯片上实现射频(RF)模块176。该射频(RF)模块176可以相当于图16实施例中的通信模块164。
存储器175与处理器171耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器175可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器175可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储器175还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。存储器175还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。
存储器175还可以存储一个或多个应用程序。如图10所示,这些应用程序可包括:社交应用程序,图像管理应用程序(例如相册),地图类应用程序,安全管理应用等等。
本发明中,处理器171可用于读取和执行计算机可读指令。具体的,处理器171可用于调用存储于存储器175中的程序,例如本申请提供的点云处理方法的实现程序,具体地:
摄像头124可以采集获取目标对象的点云,并将该点云输入处理器171。处理器171基于获取的点云构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。
触摸显示屏123可以显示所述目标对象的三维模型的图像。
具体地,移动终端17中的处理器171具体执行的步骤可对应参考上述各方法实施例中图3至图14任意实施例中的具体实现方式,这里不再赘述。
应当理解,移动终端17仅为本发明实施例提供的一个例子,并且,移动终端17可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
下面结合图18示出的本申请实施例提供的头戴式显示装置的结构示意图,说明本申请实施例的头戴式显示装置18的结构:
头戴式显示装置18可以包括处理器182和显示模块184;其中,
处理器182可以被配置用于调用存储的程序代码,基于采集模块采集获取的目标对象的点云,构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。该存储的程序代码可以存储在头戴式显示装置18本端,也可以存储在云端(即云服务器端)。
具体地,处理器182可以执行的步骤可对应参考上述各方法实施例中图3至图14任意实施例中的具体实现方式。还可以执行:基于目标对象的三维模型创建增强现实或虚拟现实或游戏应用中的三维内容;
显示模块184用于显示所述三维内容。也就是说,用户佩戴上该头戴式显示装置18即可看到增强现实或虚拟现实或游戏应用中的三维内容。
在一种可能的实施方式中,头戴式显示装置18还可以包括采集模块180可以用于采集获取目标对象的点云。那么处理器182基于该采集模块180采集获取的目标对象的点云来执行步骤。
在一种可能的实施方式中,头戴式显示装置18还可以包括存储器,该存储器用于存储上述程序代码。
下面结合图19示出的本申请实施例提供的3D打印装置的结构示意图,说明本申请实施例的3D打印装置19的结构:
3D打印装置19可以包括处理器192和3D打印模块194;其中,
处理器192可以被配置用于调用存储的程序代码,基于采集模块采集获取的目标对象的点云,构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。该存储的程序代码可以存储在3D打印装置19本端,也可以存储在云端(即云服务器端)。
具体地,处理器192可以执行的步骤可对应参考上述各方法实施例中图3至图14任意实施例中的具体实现方式。还可以执行:基于目标对象的三维模型创建增强现实或虚拟现实或游戏应用中的三维内容;
3D打印模块194用于基于处理器192输出的目标对象的三维模型对所述目标对象进行3D打印。
在一种可能的实施方式中,3D打印装置19还可以包括采集模块190可以用于采集获取目标对象的点云。那么处理器192基于该采集模块190采集获取的目标对象的点云来执行步骤。
在一种可能的实施方式中,3D打印装置19还可以包括存储器,该存储器用于存储上述程序代码。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (25)
1.一种点云处理方法,其特征在于,包括:
基于获取的点云构建第一模型和第二模型;其中,所述第一模型在所述点云构成的空间的内部,所述第二模型在所述点云构成的空间的外部;
扩张变形所述第一模型,收缩变形所述第二模型;其中,扩张变形后的第一模型到所述点云的目标距离小于等于第一阈值,或者扩张变形后的第一模型到第一集合的目标距离小于等于第一阈值;收缩变形后的第二模型到所述点云的目标距离小于等于第二阈值,或者收缩变形后的第二模型到第二集合的目标距离小于等于第二阈值;所述第一集合包括所述点云和所述第二模型,所述第二集合包括所述点云和所述第一模型;所述扩张变形后的第一模型在所述点云构成的空间的内部,所述收缩变形后的第二模型在所述点云构成的空间的外部;
基于所述点云、所述变形后的第一模型和所述变形后的第二模型拟合重建目标对象的三维模型。
2.根据权利要求1所述的方法,其特征在于,所述扩张变形所述第一模型包括:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
3.根据权利要求1所述的方法,其特征在于,所述扩张变形所述第一模型包括:
对所述第一模型进行扩张变形,直到所述第一模型到所述第一集合的目标距离小于等于第一判定距离;所述第一判定距离大于所述第一阈值;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述对所述第一模型进行扩张变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
4.根据权利要求1所述的方法,其特征在于,所述第一阈值等于所述第二阈值,所述扩张变形所述第一模型,收缩变形所述第二模型,包括:
根据所述第一集合对所述第一模型进行扩张变形,直到所述第一模型到所述点云的目标距离小于等于第一判定距离,或者所述第一模型到所述第一集合的目标距离小于等于所述第一判定距离;所述第一判定距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一判定距离不超过所述第二模型到所述点云的距离;
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于所述第一判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第一判定距离;
减少所述第一判定距离,减少后的所述第一判定距离为正数;
若减少后的所述第一判定距离大于所述第一阈值,则重复执行所述根据所述第一集合对所述第一模型进行扩张变形,以及根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第一判定距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
5.根据权利要求2或4所述的方法,其特征在于,所述根据所述第一集合对所述第一模型进行扩张变形,包括:
根据所述第一模型的顶点到所述第一集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第一集合的方向移动。
6.根据权利要求3所述的方法,其特征在于,所述对所述第一模型进行扩张变形,包括:
根据所述第一模型的顶点到所述第一集合包含的点的最短距离和所述第一判定距离,控制所述顶点向所述第一集合的方向移动。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述减少所述第一判定距离包括:
将所述第一判定距离减少为原来的1/n,所述n为正数。
8.根据权利要求1所述的方法,其特征在于,所述扩张变形所述第一模型包括:
根据第一目标点距离确定第一目标点集合,所述第一目标点集合包括到所述第一集合包含的点的最短距离等于所述第一目标点距离的点,所述第一目标点集合位于所述点云构成的空间的内部;所述第一目标点距离大于所述第一阈值;所述第一目标点距离不超过所述第一模型在扩张变形前到所述点云的距离,且所述第一目标点距离不超过所述第二模型到所述点云的距离;
根据所述第一目标点集合对所述第一模型进行扩张变形,直到所述第一模型到所述第一目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第一目标点距离,减少后的所述第一目标点距离为正数;
若减少后的所述第一目标点距离大于所述第一阈值,则重复执行所述根据第一目标点距离确定第一目标点集合,以及根据所述第一目标点集合对所述第一模型进行扩张变形的步骤;若减少后的所述第一目标点距离小于或等于所述第一阈值,则结束对所述第一模型进行扩张变形。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一目标点集合对所述第一模型进行扩张变形,包括:
根据所述第一模型的顶点到所述第一目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第一目标点集合的方向移动。
10.根据权利要求1所述的方法,其特征在于,所述收缩变形所述第二模型包括:
根据所述第二集合对所述第二模型进行收缩变形,直到所述第二模型到所述点云的目标距离小于等于第二判定距离,或者所述第二模型到所述第二集合的目标距离小于等于所述第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述根据所述第二集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
11.根据权利要求1所述的方法,其特征在于,所述根据所述第二集合对所述第二模型进行收缩变形,包括:
根据所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第二判定距离,控制所述顶点向所述第二集合的方向移动。
12.根据权利要求1所述的方法,其特征在于,所述收缩变形所述第二模型包括:
对所述第二模型进行收缩变形,直到所述第二模型到所述第二集合的目标距离小于等于第二判定距离;所述第二判定距离大于所述第二阈值;所述第二判定距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二判定距离不超过所述第一模型到所述点云的距离;
减少所述第二判定距离,减少后的所述第二判定距离为正数;
若减少后的所述第二判定距离大于所述第二阈值,则重复执行所述对所述第二模型进行收缩变形的步骤;若减少后的所述第二判定距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
13.根据权利要求12所述的方法,其特征在于,所述对所述第二模型进行收缩变形,包括:
根据所述第二模型的顶点到所述第二集合包含的点的最短距离和所述第二判定距离,控制所述顶点向所述第二集合的方向移动。
14.根据权利要求1所述的方法,其特征在于,所述收缩变形所述第二模型包括:
根据第二目标点距离确定第二目标点集合,所述第二目标点集合包括到所述第二集合包含的点的最短距离等于所述第二目标点距离的点,所述第二目标点集合位于所述点云构成的空间的外部;所述第二目标点距离大于所述第二阈值;所述第二目标点距离不超过所述第二模型在收缩变形前到所述点云的距离,且所述第二目标点距离不超过所述第一模型到所述点云的距离;
根据所述第二目标点集合对所述第二模型进行收缩变形,直到所述第二模型到所述第二目标点集合的目标距离小于等于距离阈值;所述距离阈值为正数;
减少所述第二目标点距离,减少后的所述第二目标点距离为正数;
若减少后的所述第二目标点距离大于所述第二阈值,则重复执行所述根据第二目标点距离确定第二目标点集合,以及根据所述第二目标点集合对所述第二模型进行收缩变形的步骤;若减少后的所述第二目标点距离小于或等于所述第二阈值,则结束对所述第二模型进行收缩变形。
15.根据权利要求14所述的方法,其特征在于,所述根据所述第二目标点集合对所述第二模型进行收缩变形,包括:
根据所述第二模型的顶点到所述第二目标点集合的最短距离和所述距离阈值,控制所述顶点向所述第二目标点集合的方向移动。
16.根据权利要求1-15任一项所述的方法,其特征在于,所述第一模型到所述第一集合的目标距离包括:第一距离的平均距离;
其中,所述第一距离包括所述第一模型的每一个顶点各自到所述第一集合包含的点的最短距离。
17.根据权利要求1-16任一项所述的方法,其特征在于,所述第二模型到所述第二集合的目标距离包括:第二距离的平均距离;
其中,所述第二距离包括所述第二模型的每一个顶点各自到所述第二集合包含的点的最短距离。
18.根据权利要求1-17任一项所述的方法,其特征在于,所述基于所述点云、所述扩张变形后的第一模型和所述收缩变形后的第二模型拟合重建目标对象的三维模型,包括:
建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
根据每一组顶点构成的空间线段所关联的点云的点,确定每个所述空间线段对应的抽取位置;
基于所述抽取位置生成目标对象的三维模型。
19.根据权利要求1-17任一项所述的方法,其特征在于,还包括:
在获取的所述点云的数据存在缺失的情况下,建立所述扩张变形后的第一模型的顶点和所述收缩变形后的第二模型的顶点的对应关系;其中,所述扩张变形后的第一模型的每一个顶点分别与所述收缩变形后的第二模型的顶点建立对应关系,所述扩张变形后的第一模型的一个顶点对应所述收缩变形后的第二模型的一个顶点;或者所述收缩变形后的第二模型的每一个顶点分别与所述扩张变形后的第一模型的顶点建立对应关系,所述收缩变形后的第二模型的一个顶点对应所述扩张变形后的第一模型的一个顶点;
根据每一组顶点构成的空间线段所关联的点云的点,补充所述点云的数据。
20.一种头戴式显示装置,其特征在于,包括处理器和显示模块;
所述处理器被配置用于调用存储的程序代码,执行如权利要求1至19任一项所述的点云处理方法;并基于目标对象的三维模型创建增强现实或虚拟现实或游戏应用中的三维内容;
显示模块用于显示所述三维内容。
21.一种3D打印装置,其特征在于,包括处理器和3D打印模块;
所述处理器被配置用于调用存储的程序代码,执行如权利要求1至19任一项所述的点云处理方法;
所述3D打印模块用于基于目标对象的三维模型对所述目标对象进行3D打印。
22.一种点云处理装置,其特征在于,包括:
获取单元,用于获取目标对象的点云;
建模单元,用于执行如权利要求1至19任一项所述的点云处理方法。
23.一种移动终端,其特征在于,包括采集模块、处理器和通信模块;
所述采集模块用于采集获取目标对象的点云;
所述处理器被配置用于调用存储的程序代码,执行如权利要求1至19任一项所述的点云处理方法;
所述通信模块用于将所述处理器拟合重建的所述目标对象的三维模型发送给其他设备。
24.如权利要求23所述的移动终端,其特征在于,还包括显示屏,所述显示屏用于显示所述目标对象的三维模型的图像。
25.一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求1至19任一项所述的点云处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445213.8A CN112070877A (zh) | 2019-05-25 | 2019-05-25 | 点云处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445213.8A CN112070877A (zh) | 2019-05-25 | 2019-05-25 | 点云处理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112070877A true CN112070877A (zh) | 2020-12-11 |
Family
ID=73658103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910445213.8A Pending CN112070877A (zh) | 2019-05-25 | 2019-05-25 | 点云处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112070877A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023164933A1 (zh) * | 2022-03-04 | 2023-09-07 | 华为技术有限公司 | 一种建筑物建模方法以及相关装置 |
CN114494849B (zh) * | 2021-12-21 | 2024-04-09 | 重庆特斯联智慧科技股份有限公司 | 用于轮式机器人的路面状态识别方法和系统 |
-
2019
- 2019-05-25 CN CN201910445213.8A patent/CN112070877A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114494849B (zh) * | 2021-12-21 | 2024-04-09 | 重庆特斯联智慧科技股份有限公司 | 用于轮式机器人的路面状态识别方法和系统 |
WO2023164933A1 (zh) * | 2022-03-04 | 2023-09-07 | 华为技术有限公司 | 一种建筑物建模方法以及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11574453B2 (en) | Generation of synthetic 3-dimensional object images for recognition systems | |
US20190080455A1 (en) | Method and device for three-dimensional feature-embedded image object component-level semantic segmentation | |
US8610712B2 (en) | Object selection in stereo image pairs | |
US20220084163A1 (en) | Target image generation method and apparatus, server, and storage medium | |
US11367195B2 (en) | Image segmentation method, image segmentation apparatus, image segmentation device | |
CN113822977A (zh) | 图像渲染方法、装置、设备以及存储介质 | |
CN111710035B (zh) | 人脸重建方法、装置、计算机设备及存储介质 | |
CN109754464B (zh) | 用于生成信息的方法和装置 | |
CN112927362A (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN115018992B (zh) | 发型模型的生成方法、装置、电子设备及存储介质 | |
CN115147265A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN112070877A (zh) | 点云处理方法、装置、设备及计算机可读存储介质 | |
CN114511682A (zh) | 一种基于激光雷达的三维场景重建方法、装置及电子设备 | |
CN114120413A (zh) | 模型训练方法、图像合成方法、装置、设备及程序产品 | |
CN112115954B (zh) | 一种特征提取方法、装置、机器可读介质及设备 | |
CN117745944A (zh) | 预训练模型确定方法、装置、设备以及存储介质 | |
CN115147524A (zh) | 一种3d动画的生成方法及电子设备 | |
CN116310615A (zh) | 图像处理方法、装置、设备及介质 | |
CN113920023A (zh) | 图像处理方法及装置、计算机可读介质和电子设备 | |
US9344733B2 (en) | Feature-based cloud computing architecture for physics engine | |
Chu et al. | Hole-filling framework by combining structural and textural information for the 3D Terracotta Warriors | |
CN116012666B (zh) | 图像生成、模型的训练、信息重建方法、装置及电子设备 | |
CN113961746B (zh) | 视频生成方法、装置、电子设备及可读存储介质 | |
CN115953553B (zh) | 虚拟形象生成方法、装置、电子设备以及存储介质 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201211 |
|
WD01 | Invention patent application deemed withdrawn after publication |