专利名称:一种自动的非封闭隐式曲面重建方法
技术领域:
本发明属于产品逆向工程技术领域,具体涉及一种自动的非封闭隐式曲面重建方法。
背景技术:
通过三维扫描设备获得物 体表面的散乱点云数据,同时将这些点云数据输入文件进行存储,称为三维点云模型。三维点云模型是一种新兴的三维几何模型存储结构,它是物体模型在三维坐标系中点的集合。通常,点云模型不能直接用于实际的三维模型几何造型,必须将点云模型转化为曲面模型,即为散乱点云数据的三维曲面重建技术。三维曲面重建技术广泛应用于逆向工程、产品设计、机械制造、三维测量、虚拟现实、地质勘探、动漫等多个领域。例如,逆向工程(Reverse Engineering, RE),又称反求工程,主要是对已有产品、零部件、实物的原型或模型进行三维激光扫描以获取点云数据,然后对点云数据进行三维曲面重建处理,在重建出的数字模型基础上进行分析和改进,可快速设计生成新的产品模型,最后通过先进的数控制造技术直接实现新产品的生产制造。实际上受多种因素的影响,测量设备大多无法一次性完成数据测量,必须变换测量位置从多个视角获取模型的物理信息,而从每个视角采集得到的点云模型都是非封闭的,需要后续对不同角度模型之间求交、求并、偏置等大量操作处理后才能拼接成封闭的曲面,由于采集得到的三维点云数据一般只提供点的位置坐标和对应的法向量,不包含任何与曲面拓扑结构相关的信息,所以直接对点云数据进行拼接是非常困难的。而且在实际应用中,大部分实体模型本身也是非封闭的。因此,对非封闭曲面进行自动重建具有重要的现实意义。对国内外现有技术文献检索和研究分析在现有的曲面重建算法中,隐式曲面因其具备易于实现交、差、并等集合操作,易于判断给定点是否位于曲面上或处于某一侧,能表示拓扑结构复杂的几何形体,对轻微的噪声不敏感等特点,成为当今三维曲面重建技术的主流。隐式曲面表示方法最大的特点是可以把一个相当复杂的物体表面用一个函数来描述,能够表示任意复杂的曲面。隐式曲面重建算法具有很多优点,但其缺点是不能有效的对非封闭点云模型曲面进行正确重建。使用MPU和CSRBF算法对非封闭模型进行重建,生成的曲面在模型边界出现大量不合理的伪三角面片,重建出的模型曲面无法正确表达出非封闭模型的真实特征。Poisson曲面重建算法是一种较新的全局的曲面重建算法,具有良好的抗噪性,可获得光顺重建曲面的同时保留物体的细节特征,但由于Poisson算法对模型曲面函数的求解是一个封闭的过程,不引入跟模型形态相关的信息,使得Poisson方法重建出的模型曲面总是封闭的,即使是对非封闭的点云模型也会自动重建出封闭的曲面,因此该方法无法实现非封闭点云模型的重建。综上所述,现有隐式曲面重建技术在对非封闭散乱点云模型进行三维重建时,只能采用交互式人工手动割除重建算法生成的不合理三角面片形成的伪曲面,这要求操作人员必须具有很高的专业水平和工作经验,否则就很难保证得到的非封闭模型边界的准确性,导致实际应用中非封闭曲面重建的稳定性较差且工作效率低下。如何利用隐式曲面三维重建方法自动准确地重建出非封闭模型曲面,仍是目前三维曲面重建领域中没能有效解决的技术难题之一。
发明内容
本发明的目的是针对现有技术的不足,而提供一种自动的非封闭隐式曲面重建方法。该方法克服了现有技术中隐式曲面重建方法难以进行非封闭曲面重建的不足,提供一种自动的、精确的、计算效率高且鲁棒性强的基于平均最大距离的非封闭曲面重建方法,使其适应于任意复杂的基于隐式曲面的非封闭模型自动重建。本发明依据非封闭点云数据具有模型上点分布密集均匀、边界上的点在一定的邻域内没有相邻点且模型外数据稀少的特点,使得采用隐式曲面三维重建方法生成的三角网格曲面模型,可分为位于实体表面的三角面片(构成的曲面称为模型曲面)和非实体上不合理的三角面片(构成的曲面称为伪曲面)两大类,并且模型边缘即为二者的分界线。事实上
还具有模型曲面上的三角面片周长较小,出现相同的概率较大;而伪曲面上的三角面片周长较大,出现相同的概率较小;实际模型的原始点到模型曲面三角点(即三角面片的三个顶点)的平均距离要明显小于到伪曲面三角点的平均距离,且该平均距离在模型边界处发生较大突变的特点。本发明利用上述特点来实现模型曲面和伪曲面的分割,首先计算曲面重建时生成的三角网格曲面模型的三角面片周长的分布概率并从大到小进行排序,从中选取若干位于模型曲面上的三角点作为样本点,然后计算样本点与原始点的距离,遍历所有原始点求取平均最大距离T,根据原始点到伪曲面三角点距离明显大于到模型曲面三角点距离的特征,即可将三角点分为模型曲面三角点和伪曲面三角点两类,将T设为阈值对生成的三角网格曲面模型进行分割,保留与原始点距离小于F的三角点而去除距离大于Γ的三角点,即可重建出非封闭的三维模型曲面。大量实验证明该算法能准确有效地删除伪曲面而不影响模型曲面的精度,且算法复杂度低,时间效率高,鲁棒性强,有效解决了非封闭曲面自动重建的技术难题,为逆向工程技术提供了一种高效的基于隐式曲面技术的非封闭曲面三维重建方法。为了达到上述目的,本发明所采用的技术方案具体包括以下步骤
1)采用隐式曲面三维重建方法将输入的非封闭点云数据模型生成三角网格曲面模
型;
2)初始化三角网格曲面三角点;
3)选取比对的样本三角点;
4)计算样本三角点到原始输入点的平均最大距离,将其设为分割阈值;
5)利用分割阈值对重建生成的三角网格曲面进行自动分割,删除非实体上不合理的三角面片,得到边缘光顺正确的非封闭曲面。步骤I)中所述的采用隐式曲面三维重建方法将输入的非封闭点云模型生成三角网格曲面模型,本发明采用Poisson曲面重建方法完成,由此自动重建得到的是一个封闭的三角网格曲面模型。步骤2)中所述的初始化三角网格曲面的三角点是指构成模型三角面片的三个顶点,称为二角点。
步骤3)中所述的选取比对的样本三角点具体包括
求取三角面片周长,遍历全部三角面片;
将三角面片周长扩大到整数;
求三角面片周长大小的分布概率;
取一定比例的三角点作为样本点。步骤3)中所述的将三角面片周长扩大到整数,一般情况下,计算得到的三角面片周长都不是整数,为了方便计算,将所有的周长同乘一个倍数扩大到整数。步骤3)中所述的求三角面片周长大小的分布概率,是指将各个三角面片周长出现
的概率按从大到小进行排序,由于实际采集得到的点云模型原始点一般分布较均匀,因此在模型曲面上三角面片周长出现的概率远远大于伪曲面上三角面片周长出现的概率。步骤3)中所述的一定比例,通过误差分析比较,本案例中取周长出现概率大的前100个三角点作为比对的样本点,适用于大部分情况但并不局限于此,实际应用时可根据数据规模适当调整样本比例。步骤4)中所述的计算输入原始点与样本三角点的平均最大距离,将其设为分割阈值T,具体包括
1)计算样本三角点到原始点的欧氏距离,按列固定,每列由小到大进行排列,统计原始点周边单位距离内生成的三角点数量,求得生成三角点的单位密度,求取单位密度下的欧氏距离,即为在单位密度下的最大距离;
2)按采集样本点的个数计算平均最大距离,将其设为分割阈值T。步骤5)中所述的利用分割阈值/对封闭曲面进行分割,得到边缘光顺、准确的非封闭曲面包括
1)将样本三角点到原始点的欧氏距离大于阈值Γ的三角点标记为0,小于阈值Γ的三角点标记为I ;
2)将含有标记为O的三角点的三角面片删除,即可重建出非封闭的模型曲面。本发明的技术方案弥补了现有隐式曲面重建技术无法对非封闭曲面进行自动准确重建的缺陷,该方法重建得到的非封闭曲面边缘光顺准确、效率高且鲁棒性强,有效解决了非封闭曲面重建的技术难题。
图I为本发明的实施例流程 图2a-图2d为本发明实施例Poisson重建方法示例(二维情况);
图3a_图3d为本发明实施例非封闭曲面重建效果示例,其中图3a为原始非封闭模型不例图,图3b为MPU算法不例图,图3c为CSRBF算法不例图,图3d为Poisson算法不例 图4a_图4c为本发明原始输入点与曲面三角点的关系示例;
图5a-图5c为本发明实施例中Horse模型的非封闭曲面重建结果;
图6a_图6c为本发明实施例中Hip模型的非封闭曲面重建结果;
图7a-图7e为本发明实施例中一组非封闭点云模型;
图8a_图8e为本发明实施例中一组非封闭点云模型的Poisson重建结果;图9a-图9e为本发明实施例中一组非封闭点云模型的非封闭曲面重建结果。
具体实施例方式下面结合附图和实施例对本发明作进一步详细说明,但并不用来限制本发明的范围。实施例
一种自动的非封闭隐式曲面三维重建方法,其步骤包括
1)采用隐式曲面三维重建方法将输入的非封闭点云数据模型生成三角网格曲面模
型;
2)初始化三角网格曲面三角点;
3)选取比对的样本三角点;
4)计算样本三角点与输入原始点的平均最大距离,将其设为分割阈值;
5)利用分割阈值对重建生成的三角网格曲面进行自动分割,删除非实体上不合理的三角面片,得到边缘光顺正确的非封闭曲面。图I为本发明一种自动的非封闭曲面重建方法实施例的流程图,其输入原始数据为经过去噪且带位置和法向量信息的三维散乱点云数据,输出为边缘光顺正确的高精度非封闭模型曲面。具体地,如图I所示,本实施例流程包括以下步骤
5101、采用隐式曲面三维重建的Poisson方法对输入的非封闭点云模型进行重建,自动生成封闭的三角网格曲面模型;
5102、初始化封闭的三角网格曲面的三角点;
5103、选取比对的样本三角点;
5104、计算样本三角点到原始输入点的平均最大距离,将其设为分割阈值;
5105、利用分割阈值对重建生成的三角网格曲面进行自动分割,去除非实体上不合理的三角面片,得到边缘光顺正确的非封闭曲面。下面进一步对上述步骤SlOf S105进行详细说明。S101、隐式曲面三维重建采用Poisson曲面重建方法对输入的非封闭点云模型进行重建,自动生成封闭的三角网格曲面模型。该步骤直接采用Poisson曲面重建方法,根据样本提供的信息计算出模型的曲面函数。首先推导出曲面函数的梯度和曲面法向量场积分的关系,然后通过对指定有向样本点集求和来逼近这个曲面积分,最后利用梯度和向量场关系建立泊松方程求解曲面函数。设集合S是输入的三维模型点集,样本# G S,每个样本包含一个点^ P以及点对应的内法向量& Al首先通过输入点的位置和法向量关系计算梯度再利用向量场 7与梯度VAi的关系建立Po i sson方程,求取三维点云模型的曲面函数(在模型内部的点值为1,外部的点值为0),假设位于或者邻近一个未知模型A/的表面为M/ ,如图2a-图2d所示。图3a-图3d为非封闭点云模型三维隐式曲面重建的实例,如图3a所不,为激光扫描预处理后得到的原始输入的实物模型,是一个非封闭的模型,分别采用MPU算法和CSRBF算法进行重建,实验结果表明,重建得到的曲面在模型边缘都会产生大量的不规则伪曲面,见图3b,图3c。而采用Poisson算法进行重建,将非封闭模型自动生成了封闭的三角网格曲面模型,如图3d所示。S102、初始化封闭的三角网格曲面的三角点。已知隐式曲面可视化是利用很多细小的三角面片去逼近实际模型表面,假设构成三角面片的三个顶点为mm,称为三角点。通过将模型的原始输入点与重建出来的封闭曲面三角点进行比较,可知原始点云数据与重建曲面时生成的三角面片的三角点存在密切的关系。一般而言,三角点都落在原始输入点附近。以图4a_图4c为例说明,如图4a所示的半圆球模型,泊松重建后得到封闭的圆球曲面,图4b中黑色点为生成的封闭圆球曲面三角面片的三角点,灰色点为半圆球模型的原始输入数据点,由图可知,模型曲面上的三角点分布在原始输入点附近,与原始输入点 距离较近;而伪曲面上三角点分布在原始模型输入点外侧,远离原始输入点。如图4c所示,灰色点P为原始输入点,gi·收(β为三角点,其中#为伪曲面的三角点,¢142为模型曲面上的三角点,可见P点到衫, /2的距离明显比到抑的距离要小。利用原始点到伪曲面三角点的距离明显大于原始点到模型曲面三角点距离的特性,我们根据重建曲面三角点的密度分布,求取原始输入点到模型曲面单位圆内的三角点的平均最大距离,将其设定为分割阈值Τ,然后分别计算原始输入点与重建曲面三角点间的距离,将距离大于阈值i的三角点去掉,保留小于阈值Γ的三角点,最后准确的重建出非封闭模型曲面。S103、选取比对的样本三角点。根据上述分析可知,要找到分割阈值,必须将模型曲面上三角点与原始输入点进行距离比较。但如果将模型曲面上的所有三角点与原始输入点进行比较,计算量很大。本方法为了减少内存消耗,在保证精度的前提下采集模型曲面上一定比例的三角点作为比较的样本。由图4c可知,模型曲面的三角点基本上都落在原始输入点附近,而伪封闭曲面的三角点离原始输入点较远。可见位于模型曲面上的三角面片周长小、数量多,且出现相同周长的概率大,因此可以通过选取周长出现概率大的原则来采集样本点,可确保其位于模型曲面上。因此所述的一定比例就是指将三角面周长出现的概率按从大到小排序,取三角面周长出现概率大的前M个曲面三角点作为样本三角点。假设采用Poisson算法进行模型重建时生成的三角面片的边的集合为J {uu.a2i.u:v},t = I,-- ,Λ%其中为三角面片的个数。则每个三角面片的周长为
f-' = (In 一 (l2i + Os,
按以下步骤采集样本点
Stepl :按像素的概念,将每个周长.£,1同乘以一个倍数扩大到整数C。St印2 ML1i的最小值标记为I^lin ,最大值标记为14 ,则三角面片周长的大小范围为IiU,: 对应的周长为M个数为r;i,分布概率为
% = η /.1 J = Kml- Knm + I,…r
Γ'
屯=1
Step3 :按分布概率由大到小排列,选取前W个值,那么对应的前Λ/个周长为4,i = I-·' ■ “W,每个周长对应三个点,则一共有3Α 个三角点。为了方便计算,我们随机选取Ji个(本案例取il·/ 二 100)三角点作为样本点,则样本点集合记为X = = I. .Mj0S104、计算样本三角点到原始输入点的平均最大距离,将其设为分割阈值。为了割除Poisson算法对非封闭点云数据重建自动生成的非实体上的伪封闭曲面,需要找到一个自适应的分割阈值,自动保留非封闭曲面模型边界内的点而除去模型边界外的点。首先计算以上获得的Λ/个样本点与原始输入点的距离,假设原始输入点的集合为
权利要求
1.一种自动的非封闭隐式曲面重建方法,其特征在于其步骤包括 1)采用隐式曲面三维重建方法将输入的非封闭点云数据模型生成三角网格曲面模型; 2)初始化三角网格曲面三角点; 3)选取比对的样本三角点; 4)计算样本三角点与输入原始点的平均最大距离,将其设为分割阈值; 5)利用分割阈值对重建生成的三角网格曲面进行自动分割,删除非实体上不合理的三角面片,得到边缘光顺正确的非封闭曲面。
2.如权利要求I所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的将输入的非封闭点云数据模型重建生成三角网格曲面模型,采用Poisson曲面重建方法完成,由此重建得到的三角网格曲面模型是封闭的。
3.如权利要求I所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的初始化二角网格曲面二角点是指构成重建模型二角面片的二个顶点,称为二角点。
4.如权利要求I所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述选取比对的样本三角点具体包括 1)求取三角面片的周长; 2)将三角面片周长扩大到整数; 3)求三角面片周长大小的分布概率; 4)取一定比例的曲面三角点作为样本三角点。
5.如权利要求I所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的计算样本三角点与输入原始点的平均最大距离,将其设为分割阈值具体包括 1)计算样本三角点与原始输入点的欧氏距离,按列固定,每列由小到大进行排列,比较原始输入点与重建生成的曲面三角点,求得生成曲面三角点的单位密度,取单位密度下的欧氏距离,即为在单位密度下的最大距离; 2)按采集样本点的个数求取平均最大距离,将其设为分割阈值T。
6.如权利要求I所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的利用分割阈值对Poisson曲面重建生成的三角网格封闭曲面进行自动分割,删除非实体上不合理的三角面片,得到边缘光顺正确的非封闭曲面包括 1)将样本三角点到原始输入点的距离大于阈值T的三角点标记为0,小于阈值T的三角点标记为I ; 2)将含有标记为O的三角点对应的三角面片删除,即可获得非封闭的模型曲面。
7.如权利要求4所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的将三角面片周长扩大到整数是将所有的周长同乘一个倍数扩大到整数。
8.如权利要求4所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的求三角面片周长大小的分布概率,是指将周长按从大到小排序,求得不同周长出现的概率。
9.如权利要求4所述的一种自动的非封闭隐式曲面重建方法,其特征在于,所述的一定比例,是指将三角面周长出现的概率按从大到小排序,取三角面周长出现概率大的前M个曲面三角点作为样本三角点。
全文摘要
本发明公开了一种自动的非封闭隐式曲面重建方法,其特征在于其步骤包括1)采用隐式曲面三维重建方法将输入的非封闭点云数据模型生成三角网格曲面模型;2)初始化三角网格曲面三角点;3)选取比对的样本三角点;4)计算样本三角点与输入原始点的平均最大距离,将其设为分割阈值;5)利用分割阈值对重建生成的三角网格曲面进行自动分割,删除非实体上不合理的三角面片,得到边缘光顺正确的非封闭曲面。本发明采用Poisson曲面重建方法完成。该方案弥补了现有隐式曲面重建技术无法对非封闭曲面进行自动准确重建的缺陷,该方法重建得到的非封闭曲面边缘光顺准确、效率高且鲁棒性强,有效解决了非封闭曲面重建的技术难题。
文档编号G06T17/30GK102881047SQ20121027091
公开日2013年1月16日 申请日期2012年8月1日 优先权日2012年8月1日
发明者温佩芝, 宁如花 申请人:桂林电子科技大学, 温佩芝