基于b样条曲面的三维扫描的点云孔洞填补方法

文档序号:6556322阅读:281来源:国知局
专利名称:基于b样条曲面的三维扫描的点云孔洞填补方法
技术领域
本发明涉及一种对三维图形的修补方法,尤其涉及一种基于B样条曲面的三维扫描的点云孔洞填补方法。
背景技术
逆向工程(Reverse Engineering,RE)技术是20世纪80年代后期出现在先进制造领域里的新技术,其一般包括四个基本环节三维形体检测与转换(物理数据的获得)、数据预处理(点云处理、识别、多视拼接),CAD模型的建立(曲面重构)、CAM制件成型,其基本流程图如图1所示。在三维形体检测与转换的过程中,通过三维数字化扫描仪对实物模型表面进行三维快速扫描测量,在满足离散采样速度和数据质量的前提下,获取产品的三维离散数据,点云孔洞的出现造成了这些数据的不完整,因此对孔洞进行补偿即对数据进行预处理是逆向工程中非常关键的承上启下的一环,直接影响重构成功与否和CAD模型的质量,对其后续环节起着非常关键的制约作用。本发明主要是涉及到在逆向工程的数字化过程中,用三维扫描系统(图2)获取产品点云模型出现孔洞时的一种自动补偿方法。
近年来,点云孔洞的填补算法在国内外均取得了很大的进展,已发表了相当数量的文献,其中一些算法获得了较为广泛的应用,如基于能量优化和细分、三角网格模型、网格曲面模型中孔洞的填补算法。这些算法需先对三维扫描直接获得的点云模型做一定的前期处理或者对点云孔洞进行边界识别,实时性不强,复杂度也比较高。在实际的工程应用中,对出现的问题应能及时解决。
文献“Minimal energy surfaces using parametric splines.”(GregoryE.Fasshauer,Larry L.Schumarker.Computer Aided Geometric Design,1996,1345~79)通过求解以“变形能量函数”为基础的优化目标函数,实现对孔洞的填补,保证了一定的光顺性,然而这类方法大多需要细分曲面,并且对多个子曲面片进行拼接,因此对曲面边界的连续性要求较高,通常很难达到曲面间的二阶连续。由于现有的三角网格模型的相关算法比较成熟,现有的算法大多都是基于此模型的,例如文献“A study of stereolithography file errors and repair”(Leong K F,Chua CK,Ng Y M.International Journal of Advanced Manufacturing,1996,12415~422)将孔洞填补归结为一个空间多边形的三角剖分问题。但大多在构造新三角片时仅仅采用原有的孔洞多边形顶点,没有增加新的三角片顶点,因而难以获得较好的用于填补孔洞的三角片形状,填补效果不够理想。并且这类算法对于复杂的点云数据编程建立三角网格模型运算量较大,在填补孔洞的过程中还需要改变三角网格的拓扑结构,因此具有对三角网格模型修改和再设计能力不足的缺点,复杂度高,这些缺点都限制了它在实践中的应用。对一类多边形孔洞的填充算法不适用于一般的点云模型。对于一般曲面网格的填充算法均需要准确的获得孔洞边界信息,难度大,不易实现。通过对点云孔洞周围散乱点集进行曲面拟合补偿孔洞的算法过程中,散乱点的参数化必不可少。通常有均匀参数化、向心参数化和累积弦长参数化方法,而这些方法主要针对呈拓扑矩形阵列的数据点,对无规则分布的点云数据,需要对其排序,难度也比较大。
传统的三角曲面插值算法也得到了较为广泛的应用,同时也获得了较好的效果。例如文献“An Adaptive Method for Smooth Surface Approximation to Scattered3D Points.”(Park H,Kim K.Computer Aided Design,1995,27(12)929~939)中提出的构造光滑曲面拟合散乱点的自适应插值算法。这类插值算法虽然速度比较快,但有其致命的缺点,即1只能处理单值的非封闭曲面;2要假定偏导矢在域边界曲线上呈线性分布;3重构的曲面依赖于估算出的偏导矢,所以曲面插值方法对离散点的逼近效果并不好,并且计算量大效率低。
在实际的应用过程中,用三维扫描系统得到的通常是具有海量散乱点的点云原始模型。此时就不可避免的存在孔洞现象,对这些孔洞进行及时的填补是关键。为此,本发明中使用一种新算法对孔洞进行补偿。如何对散乱点参数化以及提高曲面的拟合精度是此类算法中的难点。本发明中提出的对散乱点进行参数化的方法以及对曲面的迭代逼近优化方法能达到对孔洞的光滑拟合填充。

发明内容
本发明提供一种能够提供曲面拟合精确度的基于B样条曲面的三维扫描的点云孔洞填补方法,本发明具有方法简单的优点。
本发明采用如下技术方案一种基于B样条曲面的三维扫描的点云孔洞填补方法第一步在点云孔洞周围且在屏幕坐标平面内设定一个四边形ABCD,该四边形ABCD的区域范围能使点云孔洞及其周围的点向屏幕坐标平面的投影落入四边形ABCD内,并将投影落入四边形ABCD内的点做为补孔时拟合曲面的点Ps(s=0,1,…,t),根据基面投影法计算拟合曲面的点Ps的曲面参数化坐标(us,vs),该基面B(u,v)构造为B(u,v)=(1-u)(1-v)P00+(1-u)vP01+u(1-v)P10+uvP11(u,v)∈
其中P00,P01,P10,P11分别为四边形ABCD的四个顶点A,B,C,D的坐标,将拟合曲面的点Ps(s=0,1,…,t)向基面B(u,v)投影,该投影过程为设给定拟合曲面的点Ps的参数化坐标初始值为(us,vs)(0≤us,vs≤1),定义修正量为(δus,δvs),那么拟合曲面的点Ps与基面B(u,v)上的点B(us+δus,vs+δvs)间的距离Ds为‖Ds‖=‖B(us+δus,vs+δvs)-Ps‖将基面B(u,v)上的点B(us+δus,vs+δvs)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处一阶Taylor展开后代入上式得‖Ds‖≈‖B(us,vs)+Buδus+Bvδvs-Ps‖式中,Bu,Bv是基面B(u,v)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处分别对u,v的一阶偏导数。目标函数为 欲使 最小,可以使 最小,那么∂Ds2/∂δus=0∂Ds2/∂δvs=0---(s=0,1,···,t)]]>
得到Bu·BuBv·BuBu·BvBv·Bvδusδvs=hs·Buhs·Bv---(s=0,1,···,t)]]>其中,符号″·″表示为向量之间的点积,符号″‖‖″表示为向量的模,hs=Ps-B(us,vs)。
根据推导出的公式,解出δus和δvs,然后将修改后的值us=us+δus和vs=vs+δvs代入此式,以δus、δvs为迭代步长求解,直到|δus|和|δvs|均小于给定的迭代终值ε。一般经过2~3次迭代即可求出拟合曲面的点Ps的参数化坐标(us,vs)。将拟合曲面的点Ps(s=0,1,…,t)的坐标及其曲面参数化坐标(us,vs)代入B样条曲面方程并用最小二乘法确定出曲面的控制顶点,得到初步拟合的曲面S(u,v);第二步求出各个拟合曲面的点Ps(s=0,1,…,t)到曲面S(u,v)的距离向量d(u,v)=S(u,v)-Ps,及曲面分别对对应点参数方向的偏微分Su(u,v),Sv(u,v),令f(u,v)=d(u,v)·Su(u,v)=0g(u,v)=d(u,v)·Sv(u,v)=0]]>拟合曲面的点Ps的参数化坐标为(us,vs),以(us,vs)为初始估计值,根据牛顿迭代法求解以上方程组,有HσT=κT式中σ=(δu,δv),其中,δu,δv为曲面u,v两个方向上的迭代步长。
κ=-(f(us,vs),g(us,vs))H=fufvgugv=||Su||2+d·SuuSv·Su+d·SuvSu·Sv+d·Svu||Sv||2+d·Svv]]>式中,d=d(us,vs);fu,fv,gu,gv分别表示在点(us,vs)处相应的向量对u,v的一阶偏导数;Suu,Suv,Svv,Svu是曲面S(u,v)在点(us,vs)处分别对u,v的二阶偏导数。
则可得||Su||2+d·SuuSv·Su+d·SuvSu·Sv+d·Svu||Sv||2+d·Svvδuδv=-f(us,vs)g(us,vs)]]>其中,δu,δv为u,v两个方向上的迭代步长,Suu,Suv,Svv,Svu,是曲面S(u,v)在点(us,vs)处分别对u,v的二阶偏导数,迭代求解直到1/tΣs=0t||d(us+δu,vs+δv)-d(us,vs)||≤γ,]]>γ为预置曲面拟合精度,从而得到最终确定的B样条曲面S′(u,v);第三步在所述的B样条曲面S′(u,v)上基于曲率的等参数取线,再在线上等参数取点,用于填补点云孔洞,在求曲率的过程中首先需对三维点云进行删格划分,该删格划分为构造一个点云数据的最小外接正方体,其两两垂直的3条边分别与笛卡儿坐标系的3个坐标轴平行,沿三个坐标轴方向划分成边长为L空间六面体立方删格,其次在拟合曲面的点Ps的27个邻近子包围盒内求出其k个邻近点,然后设拟合曲面的点Ps和其k个邻近点组成集合K(Ps),S(Ps)为拟合曲面的点Ps的k个邻近点最小二乘拟合平面,令P为拟合曲面的点Ps的k个邻近点集合K(Ps)的形心,称为拟合曲面的点Ps的中心点,该中心点为P‾=1(k+1)ΣPs∈K(Ps)Ps]]>设拟合曲面的点Ps的第j个邻近点到最小二乘平面S(Ps)的距离为dj,到P的距离为λj,那么对拟合曲面的点Ps的第j个点存在函数fj(Ps),该函数fj(Ps)为fj(Ps)=djλj]]>
那么拟合曲面的点Ps的曲率函数可以表示为f(Ps)=1kΣj=1kfj(Ps)]]>根据曲率函数f(Ps)求出,拟合曲面的点Ps的平均曲率 同理求出整个点云的平均曲率 令d为整个点云的平均点距,则取点间隔Δω=ρ0‾×d‾/ρs‾,]]>在B样条曲面上取点时,首先在曲面一个参数方向上以Δω等间隔取等参数曲线,再对每一条等参数曲线在另一个参数方向上以Δω等间隔取点,得到填补孔洞的点。
本发明主要用于对三维扫描系统中各种具有复杂曲面形状的点云原始模型中孔洞进行填补的应用场合。利用本发明中的曲面拟合算法,即可得到一张精确逼近孔洞周围散乱点的曲面,随后在面上根据曲率的变化取点可以即可实现对孔洞的光滑填补。该方法主要有以下优点(1)由于传统的曲面插值方法对离散点的逼近效果并不好,本发明采用曲面拟合的方法能得到一张精确拟合孔洞周围散乱点集的曲面。
(2)相比较多数算法中的网格化处理,本发明主要针对三维扫描系统得到的原始点云模型,不需要任何的网格化处理,适用性广,速度快。
(3)拟合曲面时,交互选取孔洞周围的散乱点,所以当孔洞边界形状比较复杂时,也同样适用。
(4)对选定的散乱点集进行B样条曲面的拟合过程中,需要研究的首要问题是单一矩形域内的曲面的散乱点的参数分布问题,通常首先根据孔洞的边界构造一个基面,然后将散乱点投影到这个基面上,接着根据投影位置算出其参数分布,从而解决散乱点的参数分布问题,构造基面是关键,本发明中提出的算法在构造基面时避免了对孔洞边界的识别,简单易行。
(5)由于对散乱点进行曲面拟合采用了初步拟合和迭代逼近优化两步方法,能够使拟合的曲面获得更高的精度。
(6)可以根据实际需要,在曲面拟合过程中人为控制曲面的次数及拟合的精度,避免了不必要的计算冗余。
(7)在面上取点时,考虑曲率变化,能实现对孔洞的光滑补偿,一般在点云中,点云密度大的地方,曲率变化也比较大,因此,基于曲率的等参数取点能光滑的填补孔洞。
(8)操作过程比较简单,只要交互选定孔洞周围的离散点,接下来的的步骤都可自动完成,速度快。并且该方法具有很强的通用性。
此外要注意的是,选取散乱点时,尽量在孔洞周围大范围内选取,可以避免自适应增加散乱点数量,以进一步提高算法的效率。


图1是逆向工程流程图。
图2是光栅式三维扫描系统组成图。
图3是算法整体流程图。
图4是选取球体点云中的孔洞附近的点集实例示意图,图中方框所示为四边形ABCD。
图5散乱点参数化流程图。
图6是曲面初步拟合流程图。。
图7是对球体点云中的孔洞附近的点集拟合曲面实例示意图,方框内所示为拟合曲面后的区域。
图8是是曲面迭代逼近优化流程9是对球体点云中的孔洞填补实例示意图,方框内所示为填补完毕后的区域。
图10是删格化图。
图11是曲率函数求解图。
图12是面上取点填补孔洞流程图。
具体实施例方式
一种基于B样条曲面的三维扫描的点云孔洞填补方法第一步在点云孔洞周围且在屏幕坐标平面内设定一个四边形ABCD,该四边形ABCD的区域范围能使点云孔洞及其周围的点向屏幕坐标平面的投影落入四边形ABCD内,并将投影落入四边形ABCD内的点做为补孔时拟合曲面的点Ps(s=0,1,…,t),根据基面投影法计算拟合曲面的点Ps的曲面参数化坐标(us,vs),该基面B(u,v)构造为B(u,v)=(1-u)(1-v)P00+(1-u)vP01+u(1-v)P10+uvP11(u,v)∈
其中P00,P01,P10,P11分别为四边形ABCD的四个顶点A,B,C,D的坐标,将拟合曲面的点Ps(s=0,1,…,t)向基面B(u,v)投影,该投影过程为设给定拟合曲面的点Ps的参数化坐标初始值为(us,vs)(0≤us,vs≤1),定义修正量为(δus,δvs),那么拟合曲面的点Ps与基面B(u,v)上的点B(us+δus,vs+δvs)间的距离Ds为‖Ds‖=‖B(us+δus,vs+δvs)-Ps‖将基面B(u,v)上的点B(us+δus,vs+δvs)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处一阶Taylor展开后代入上式得‖Ds‖≈‖B(us,vs)+Buδus+Bvδvs-Ps‖式中,Bu,Bv是基面B(u,v)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处分别对u,v的一阶偏导数。目标函数为 欲使 最小,可以使 最小,那么∂Ds2/∂δus=0∂Ds2/∂δvs=0---(s=0,1,···,t)]]>得到Bu·BuBv·BuBu·BvBv·Bvδusδvs=hs·Buhs·Bv---(s=0,1,···,t)]]>其中,符号″·″表示为向量之间的点积,符号″‖‖″表示为向量的模,hs=Ps-B(us,vs)。
根据推导出的公式,解出δus和δvs,然后将修改后的值us=us+δus和vs=vs+δvs代入此式,以δus、δvs为迭代步长求解,直到|δus|和|δvs|均小于给定的迭代终值ε。一般经过2~3次迭代即可求出拟合曲面的点Ps的参数化坐标(us,vs)。将拟合曲面的点Ps(s=0,1,…,t)的坐标及其曲面参数化坐标(us,vs)代入B样条曲面方程并用最小二乘法确定出曲面的控制顶点,得到初步拟合的曲面S(u,v);第二步求出各个拟合曲面的点Ps(s=0,1,…,t)到曲面S(u,v)的距离向量d(u,v)=S(u,v)-Ps,及曲面分别对对应点参数方向的偏微分Su(u,v),Sv(u,v),令f(u,v)=d(u,v)·Su(u,v)=0g(u,v)=d(u,v)·Sv(u,v)=0]]>拟合曲面的点Ps的参数化坐标为(us,vs),以(us,vs)为初始估计值,根据牛顿迭代法求解以上方程组,有HσT=κT式中σ=(δu,δv),其中,δu,δv为曲面u,v两个方向上的迭代步长。
κ=-(f(us,vs),g(us,vs))H=fufvgugv=||Su||2+d·SuuSv·Su+d·SuvSu·Sv+d·Svu||Sv||2+d·Svv]]>式中,d=d(us,vs);fu,fv,gu,gv分别表示在点(us,vs)处相应的向量对u,v的一阶偏导数;Suu,Suv,Svv,Svu是曲面S(u,v)在点(us,vs)处分别对u,v的二阶偏导数。
则可得||Su||2+d·SuuSv·Su+d·SuvSu·Sv+d·Svu||Sv||2+d·Svvδuδv=-f(us,vs)g(us,vs)]]>其中,δu,δv为u,v两个方向上的迭代步长,Suu,Suv,Svv,Svu是曲面S(u,v)在点(us,vs)处分别对u,v的二阶偏导数,迭代求解直到1/tΣs=0t||d(us+δu,vs+δv)-d(us,vs)||≤γ,]]>γ为预置曲面拟合精度,从而得到最终确定的B样条曲面S′(u,v);第三步在所述的B样条曲面S′(u,v)上基于曲率的等参数取线,再在线上等参数取点,用于填补点云孔洞,在求曲率的过程中首先需对三维点云进行删格划分,该删格划分为构造一个点云数据的最小外接正方体,其两两垂直的3条边分别与笛卡儿坐标系的3个坐标轴平行,沿三个坐标轴方向划分成边长为L空间六面体立方删格,其次在拟合曲面的点Ps的27个邻近子包围盒内求出其k个邻近点,然后设拟合曲面的点Ps和其k个邻近点组成集合K(Ps),S(Ps)为拟合曲面的点Ps的k个邻近点最小二乘拟合平面,令P为拟合曲面的点Ps的k个邻近点集合K(Ps)的形心,称为拟合曲面的点Ps的中心点,该中心点为P‾=1(k+1)ΣPs∈K(Ps)Ps]]>设拟合曲面的点Ps的第j个邻近点到最小二乘平面S(Ps)的距离为dj,到P的距离为λj,那么对拟合曲面的点Ps的第j个点存在函数…fj(Ps),该函数fj(Ps)为fj(Ps)=djλj]]>那么拟合曲面的点Ps的曲率函数可以表示为f(Ps)=1kΣj=1kfj(Ps)]]>根据曲率函数f(Ps)求出,拟合曲面的点Ps的平均曲率 同理求出整个点云的平均曲率 令d为整个点云的平均点距,则取点间隔Δω=ρ0‾×d‾/ρs‾,]]>在B样条曲面上取点时,首先在曲面一个参数方向上以Δω等间隔取等参数曲线,再对每一条等参数曲线在另一个参数方向上以Δω等间隔取点,得到填补孔洞的点。
在本实施例中,拟合曲面的点数少于曲面控制顶点数时,扩大所设定四边形ABCD的面积,使拟合曲面的点数大于曲面控制顶点数。拟合曲面的点数少于迭代方程组的未知数个数时,扩大所设定四边形ABCD的面积,使拟合曲面的点数大于或等于迭代方程组的未知数个数。
下面参照附图,对本发明加以详细描述在逆向工程中,面对的是密集的点云散乱数据。拟合曲面时,如果曲面的对象边界和形状极其复杂时,一般不便直接运用常规的曲面构造方法,由于B样条曲面的拟合有其自身的特点,到目前为止,它是研究最多的一类曲面拟合方法。这类方法的应用对象是汽车,飞机,轮船等曲面零件,特点是既不像单独的二次曲面那样简单,也不像人面模型那样毫无规律。因此本专利采用B样条曲面对孔洞部分进行拟合填充。总体算法流程见图3。
本发明主要涉及以下四方面的内容1)散乱点的选定及参数化过程在球体点云孔洞周围且在屏幕坐标平面内设定一个四边形ABCD,该四边形ABCD的区域范围能使点云孔洞及其周围的点向屏幕坐标平面的投影落入四边形ABCD内,并将投影落入四边形ABCD内的点做为补孔时拟合曲面的点Ps(s=0,1,…,t),见图4。
根据基面投影法计算拟合曲面的点Ps的曲面参数化坐标(us,vs),该基面B(u,v)构造为B(u,v)=(1-u)(1-v)P00+(1-u)vP01+u(1-v)P10+uvP11(u,v)∈
其中P00,P01,P10,P11分别为四边形ABCD的四个顶点A,B,C,D的坐标,将拟合曲面的点Ps(s=0,1,…,t)向基面B(u,v)投影,该投影过程为设给定拟合曲面的点Ps的参数化坐标初始值为(us,vs)(0≤us,vs≤1),定义修正量为(δus,δvs),那么拟合曲面的点Ps与基面B(u,v)上的点B(us+δus,vs+δvs)间的距离Ds为
‖Ds‖=‖B(us+δus,vs+δvs)-Ps‖将基面B(u,v)上的点B(us+δus,vs+δvs)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处一阶Taylor展开后代入上式得‖Ds‖≈‖B(us,vs)+Buδus+Bvδvs-Ps‖式中,Bu,Bv是基面B(u,v)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处分别对u,v的一阶偏导数。目标函数为 欲使 最小,可以使 最小,那么∂Ds2/∂δus=0∂Ds2/∂δvs=0---(s=0,1,···,t)]]>得到Bu·BuBv·BuBu·BvBv·Bvδusδvs=hs·Buhs·Bv---(s=0,1,···,t)]]>其中,符号″·″表示为向量之间的点积,符号″‖‖″表示为向量的模,hs=Ps-B(us,vs)。
根据推导出的公式,解出δus和δvs,然后将修改后的值us=us+δus和vs=vs+δvs代入此式,以δus、δvs为迭代步长求解,直到|δus|和|δvs|均小于给定的迭代终值ε。一般经过2~3次迭代即可求出拟合曲面的点Ps的参数化坐标(us,vs)。
算法流程图见图5。
2)最小二乘自适应初步拟合设给定(m+1)×(n+1)个控制顶点bij(i=0,1,…,m;j=0,1,…,n),以及两列曲面节点u,v的取值u0≤u1≤…≤um+k+1和v0≤v1≤…≤vm+l+1,则可定义一个k×l阶B样条曲面S(u,v)=Σi=0mΣj=0nNik(u)Njl(v)bij]]>(u,v)∈[uk,um+1;vl,vn+1]
其中 分别是由两列节点u,v定义的k阶和l阶B样条曲线的基函数。而由(m+1)×(n+1)个控制顶点bij构成的多面体称为这个B样条曲面的控制网格或称控制多面体。控制多面体的形状大体上反映了B样条曲面的形状。把Ps(s=0,1,…,t)的坐标代入B样条曲面方程,构成以(m+1)×(n+1)个未知控制顶点为未知量的t+1个线性方程组。在所选四边形内部的三维坐标点数t+1一般大于(m+1)×(n+1),在不满足此条件即待求方程组系数矩阵奇异时,以四边形ABCD的重心为基点,自适应扩大四边形ABCD的面积来增加选定的点的个数。最后采用最小二乘法求解此过约束方程组,确定出曲面其它的未知控制顶点,得到初步拟合的曲面S(u,v)。算法流程图见图6。
3)曲面逼近优化经过最小二乘初步拟合后,散乱点集Ps与曲面S(u,v)的距离误差还比较大,因此需要进一步修正控制顶点,改变控制多面体的形状,从而改变曲面的形状,使曲面逼近点集。本发明采用了以牛顿迭代法为基础的迭代逼近算法,提高拟合精度,最终确定出曲面S′(u,v),见图7。
具体步骤如下(1)求出各个散乱点到曲面的距离向量d(u,v)=S(u,v)-Ps及曲面分别对对应点参数方向的偏微分Su(u,v),Sv(u,v),组成待求方程组如下f(u,v)=d(u,v)·Su(u,v)=0g(u,v)=d(u,v)·Sv(u,v)=0]]>
(2)采用基于牛顿迭代法的方法求解此方程组,最终可求得的迭代方程组为||Su||2+d·SuuSv·Su+d·SuvSu·Sv+d·Svu||Sv||2+d·Svvδuδv=-f(us,vs)g(us,vs)]]>(3)迭代求解以上方程组,当拟合曲面的点数少于迭代方程组的未知数个数时,即方程组系数奇异时,同样以四边形ABCD的重心为基点,自适应扩大四边形ABCD的面积来增加选定的点的个数,重复(2)。算法流程图见图8。
4)面上取点在所述的B样条曲面S′(u,v)上基于曲率的等参数取线,再在线上等参数取点,用于填补点云孔洞,见图9,在求曲率的过程中首先需对三维点云进行删格划分,见图10,该删格划分为构造一个点云数据的最小外接正方体,其两两垂直的3条边分别与笛卡儿坐标系的3个坐标轴平行,沿三个坐标轴方向划分成边长为L空间六面体立方删格,其次在拟合曲面的点Ps的27个邻近子包围盒内求出其k个邻近点,然后设拟合曲面的点Ps和其k个邻近点组成集合K(Ps),S(Ps)为拟合曲面的点Ps的k个邻近点最小二乘拟合平面,令P为拟合曲面的点Ps的k个邻近点集合K(Ps)的形心,称为拟合曲面的点Ps的中心点,该中心点为P‾=1(k+1)ΣPs∈K(Ps)Ps]]>设拟合曲面的点Ps的第j个邻近点到最小二乘平面S(Ps)的距离为dj,到P的距离为λj,见图11,那么对拟合曲面的点Ps的第j个点存在函数fj(Ps),该函数fj(Ps)为fj(Ps)=djλj]]>那么拟合曲面的点Ps的曲率函数可以表示为f(Ps)=1kΣj=1kfj(Ps)]]>
根据曲率函数f(Ps)求出,拟合曲面的点Ps的平均曲率 同理求出整个点云的平均曲率 令d为整个点云的平均点距,则取点间隔Δω=ρ0‾×d‾/ρs‾,]]>在B样条曲面上取点时,首先在曲面一个参数方向上以Δω等间隔取等参数曲线,再对每一条等参数曲线在另一个参数方向上以Δω等间隔取点,得到填补孔洞的点。
算法流程图见附12。
权利要求
1.一种基于B样条曲面的三维扫描的点云孔洞填补方法,其特征在于第一步在点云孔洞周围且在屏幕坐标平面内设定一个四边形ABCD,该四边形ABCD的区域范围能使点云孔洞及其周围的点向屏幕坐标平面的投影落入四边形ABCD内,并将投影落入四边形ABCD内的点做为补孔时拟合曲面的点Ps(s=0,1,…,t),根据基面投影法计算拟合曲面的点Ps的曲面参数化坐标(us,vs),该基面B(u,v)构造为B(u,v)=(1-u)(1-v)P00+(1-u)vP01+u(1-v)P10+uvP11(u,v)∈
其中P00,P01,P10,P11分别为四边形ABCD的四个顶点A,B,C,D的坐标,将拟合曲面的点Ps(s=0,1,…,t)向基面B(u,v)投影,该投影过程为设给定拟合曲面的点Ps的参数化坐标初始值为(us,vs)(0≤us,vs≤1),定义修正量为(δus,δvs),那么拟合曲面的点Ps与基面B(u,v)上的点B(us+δus,vs+δvs)间的距离Ds为‖Ds‖=‖B(us+δus,vs+δvs)-Ps‖将基面B(u,v)上的点B(us+δus,vs+δvs)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处一阶Taylor展开后代入上式得‖Ds‖≈‖B(us,vs)+Buδus+Bvδvs-Ps‖式中,Bu,Bv是基面B(u,v)在拟合曲面的点Ps的曲面参数化坐标(us,vs)处分别对u,v的一阶偏导数,目标函数为 欲使 最小,可以使 最小,那么∂Ds2/∂δus=0∂Ds2/∂δvs=0,(s=0,1,···,t)]]>得到Bu·BuBv·BuBu·BvBv·Bvδusδvs=hs·Buhs·Bv,(s=0,1,···,t)]]>其中,符号″·″表示为向量之间的点积,符号″‖‖″表示为向量的模,hs=Ps-B(us,vs)。根据推导出的公式,解出δus和δvs,然后将修改后的值us=us+δus和vs=vs+δvs代入此式,以δus、δvs为迭代步长求解,直到|δus|和|δvs|均小于给定的迭代终值ε,一般经过2~3次迭代即可求出拟合曲面的点Ps的参数化坐标(us,vs),将拟合曲面的点Ps(s=0,1,…,t)的坐标及其曲面参数化坐标(us,vs)代入B样条曲面方程并用最小二乘法确定出曲面的控制顶点,得到初步拟合的B样条曲面S(u,v);第二步求出各个拟合曲面的点Ps(s=0,1,…,t)到曲面S(u,v)的距离向量d(u,v)=S(u,v)-Ps,及曲面分别对对应点参数方向的偏微分Su(u,v),Sv(u,v),令f(u,v)=d(u,v)·Su(u,v)=0g(u,v)=d(u,v)·Sv(u,v)=0]]>根据牛顿迭代法,得到如下迭代方程组||Su||2+d·SuuSv·Su+d·SuvSu·Sv+d·Svu||Sv||2+d·Svvδuδv=-f(us,vs)g(us,vs)]]>其中,δu,δv为u,v两个方向上的迭代步长,Suu,Suv,Svv,Svu是曲面S(u,v)在点(us,vs)处分别对u,v的二阶偏导数,迭代求解直到1/tΣs=0t||d(us+δu,vs+δv)-d(us,vs)||≤γ]]>γ为预置曲面拟合精度,从而得到最终确定的B样条曲面S′(u,v);第三步在所述的B样条曲面S′(u,v)上基于曲率的等参数取线,再在线上等参数取点,用于填补点云孔洞,在求曲率的过程中首先需对三维点云进行删格划分,该删格划分为构造一个点云数据的最小外接正方体,其两两垂直的3条边分别与笛卡儿坐标系的3个坐标轴平行,沿三个坐标轴方向划分成边长为L空间六面体立方删格,其次在拟合曲面的点Ps的27个邻近子包围盒内求出其k个邻近点,然后设拟合曲面的点Ps和其k个邻近点组成集合K(Ps),S(Ps)为拟合曲面的点Ps的k个邻近点最小二乘拟合平面,令P为拟合曲面的点Ps的k个邻近点集合K(Ps)的形心,称为拟合曲面的点Ps的中心点,该中心点为P‾=1(k+1)ΣPs∈K(Ps)Ps]]>设拟合曲面的点Ps的第j个邻近点到最小二乘平面S(Ps)的距离为dj,到P的距离为λj,那么对拟合曲面的点Ps的第j个点存在函数fj(Ps),该函数fj(Ps)为fj(Ps)=djλj]]>那么拟合曲面的点Ps的曲率函数可以表示为f(Ps)=1kΣj=1kfj(Ps)]]>根据曲率函数f(Ps)求出,拟合曲面的点Ps的平均曲率 同理求出整个点云的平均曲率 令d为整个点云的平均点距,则取点间隔Δω=ρ0‾×d‾/ρs‾,]]>在B样条曲面上取点时,首先在曲面一个参数方向上以Δω等间隔取等参数曲线,再对每一条等参数曲线在另一个参数方向上以Δω等间隔取点,得到填补孔洞的点。
2.根据权利要求1所述的三维扫描的点云孔洞填补方法,其特征在于拟合曲面的点数少于曲面控制顶点数时,扩大所设定四边形ABCD的面积,使拟合曲面的点数大于曲面控制顶点数。
3.根据权利要求1所述的三维扫描的点云孔洞填补方法,其特征在于拟合曲面的点数少于迭代方程组的未知数个数时,扩大所设定四边形ABCD的面积,使拟合曲面的点数大于或等于迭代方程组的未知数个数。
全文摘要
一种能够提供曲面拟合精确度的基于B样条曲面的三维扫描的点云孔洞填补方法首先在点云孔洞周围选择做为初步拟合曲面时需要的坐标点P
文档编号G06T15/00GK1945626SQ200610041318
公开日2007年4月11日 申请日期2006年8月14日 优先权日2006年8月14日
发明者达飞鹏, 朱春红 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1