基于径向基函数与B样条的散乱数据拟合方法

  • 格式:pdf
  • 大小:405.26 KB
  • 文档页数:5

http://www.paper.edu.cn

基于径向基函数与B样条的散乱数据拟合方法

韩旭里,庄陈坚,刘新儒

中南大学数学科学与计算技术学院,湖南长沙 (410083)

E-mail:zcjzym258@163.com

摘 要:本文针对散乱数据的曲面拟合问题,提出了一种径向基函数与B样条插值结合使用

的曲面拟合方法.通过分片径向基函数插值,从三维散乱点获取有序网格点,利用张量积B

样条插值有序网格点,从而得到拟合曲面.该方法较好地解决了散乱数据插值和拟合的计算

不稳定性问题.最后给出了算法实例.

关键词:曲面拟合; 高斯函数; 双三次B样条插值; 径向基函数

1 引言

随着激光测距扫描等三维数据获取硬件技术的日趋完善,人们可以得到精度和密度都越

来越高的物体表面三维数据,利用物体表面三维数据来建立真实物体数字模型也成为近年来

国际图形学界的一种发展趋势,曲面重构作为这种建模方法的一个重要研究课题也得到了广

泛的探讨和研究,成为国际上的研究热点之一.曲面重构可分为插值和逼近两种方法.

曲面插值就是重构出来的目标曲面必须通过所有的采样点,包括型值点,边界及曲面内部法

矢等信息;逼近曲面只是对采样点进行有权逼近,它不一定要求所有的采样点都落在目标曲

面上,而只需要重构曲面满足用户的反求设计要求即可.本文笔者通过分析现有方法存在的

困难,提出了一种基于径向基函数与B样条结合使用的曲面拟合方法,较好地解决了散乱

数据插值和拟合的计算不稳定性问题. 4][1][2][3][

考虑用于多变量函数插值的径向基函数方法.给定函数RR→

+:φ

,对于数据

{}

RRfXd

jj⊗∈,

,径向基函数插值法是要寻找如下形式的函数:

()(||||)

jjfXaXXφ

=−∑

使其满足

(1) (||||).

jkjkfaXXφ

−=

关于径向基函数,学者们已作了很多的工作,常用的径向基函数有: 10][7][8][9][

(i) Kriging方法的Gauss分布函数: 22

/

)(σ

φr

er−

=

(ii) Hardy的Multi-Quadric函数: ββ

φφ−

+=+=)()()()(2222

rcrrcr,

(iii) Duchon的薄板样条: 122

)(ln)(+

==kk

rrrrrφφ

方程(1)对任何数据{}

RRfXd

jj⊗∈,

,当两两不同时都有解的充要条件是:对任

何两两不同的,矩阵jX

jX||))(||(

jkXX−φ

是非奇异的.正定函数是满足这种性质的函数.我们

知道,Gauss函数、逆Multi-Quadric函数都是正定函数.对于数据量少的情况,径向基函数

插值的结果较令人满意,而且计算也比较简单.但同时也存在一些问题,比如方程系数矩阵

的条件数问题.径向基函数插值最终归结为求解一个线性方程组,在大数据时这是一个大规

模矩阵的求逆问题.当数据较多时,得到的矩阵一般是数值不稳定的.

张量积B样条插值也是实际中常用的插值方法.对于较均匀的矩形网格数据,其插值效

-1- http://www.paper.edu.cn

果较好.而对于非均匀的大量散乱数据,B样条插值同样存在计算不稳定问题,而且所生成

的插值曲面的光滑性无法保证.

本文针对径向基函数插值和B样条插值的优点和缺点,提出一种新的散乱数据拟合方

法:径向基函数与B样条结合使用的曲面拟合方法.

2散乱数据拟合方法

这种方法的整体思想是:将拟合散乱数据点的问题转化为拟合有序点列(其投影是平面

上的网格点)的问题,并通过径向基函数插值方法预估这些有序点列的值,然后再用张量积

B样条插值这些有序点列,从而得到需要的拟合曲面.

我给出具体方法的步骤如下:

(1)设曲面的原始数据点集合为S;

(2)设为点集S在XOY平面上的投影点集,并圈定的边界(为了便于编程实现,

我们一般圈定矩形区域); 0S

0S

(3)对进行网格划分为个区域,这些网格上的点即为我们要用B样条插值的

点在XOY平面上的投影; 0SNM×

(4)将原始数据点集S分块,设块数为p,每块数据点的个数为个(可

根据数据点的分布特征和的网格来进行分块); ),,2,1(pkn

kL=

0S

(5)每小块数据点集分别用不同的径向基函数进行

插值,生成分块插值曲面; ),,1,0( pks

kL=),,2,1(pkf

kL=

(6)根据分块插值曲面函数),,2,1(pkf

kL=

来分别求出步骤(3)中网格点所对应的

函数值,所有函数值的集合构成了B样条插值点集),,1,0 ,,,1,0( NjMiP

ijLL==

(7)利用点集作B样条插值曲面,生成B样条插值网格曲面;

ijP

(8)根据误差分析进行网格调整,提高逼近精度.

关于散乱数据点的分块,原则如下:

(a)各分块点的个数差异不能太大;

(b)各分块内的点的投影所对应的函数值差异不能太大;

(c)各分块的边界上最好有原始数据点.

设第h块数据点集,所对应的函数值为,

则由方程(1)可得 )},2,1({

hihniqsL==),2,1)((

hiniXfL=

[]

),,2,1)((

||)(||||)(||||)(||

21

21hi

jiii

nniXf

XXXXXX

aaa

hL

ML==

⎥⎥⎥⎥⎥

⎦⎤

⎢⎢⎢⎢⎢

⎣⎡

−−−

φφφ

解上述方程组,可求出的值,从而求得所有区域的径向插值曲面方

程,利用求得的分块径向插值曲面方程,我们可以求出步骤(3)中网格点所对应的函数值,

从而取得B样条插值点集hnaaa,,,

21L

),,1,0 ,,,1,0( NjMiP

ijLL==

.于是,待求的B样条插值曲面

方程为

-2- http://www.paper.edu.cn

(2) )()(),(

,,

00,vNuNdvup

kjkim

in

jji∑∑

===

利用参考文献[5][6]

中的方法,即可求得所要的B样条插值曲面.

3算法实例分析

由前面几节的论述可以看出,笔者提出的基于径向基函数和B样条的散乱数据拟合算

法是一个逐步实现的过程.本文采用基于高斯基函数和双三次B样条进行具体计算.

高斯函数插值法的数学模型为

∑−−

=

jXX

jjecXP2

||||

)(α

双三次B样条插值曲面方程为:

)()(),(

3,3,

00,vNuNdvup

jim

in

jji∑∑

===

下面介绍两个具体的计算实例,不失一般性,我们取两组不容易画网格的散乱数据点.

图1给出了两组原始数据点在XOY平面上的投影点集分块以及划分网格.图2给出了两

个由高斯分块插值曲面上的网格点生成的双三次B样条插值曲面(网格较稀疏).图3给出

了两个由高斯分块插值曲面上的网格点生成的双三次B样条插值曲面(网格较密).

从拟合曲面的生成过程可知,用本文方法生成的曲面形状和逼近精度与各高斯分块的

α

值以及预处理网格点的疏密程度有关.表1给出第一组散乱数据的各参数变化对曲面最终

逼近精度的影响情况,其中表示原始数据点,为原始数据点对应的生成曲面上的点,

即与在XOY平面上具有相同的投影,表示与的最大误差,

表示与的平均误差. sq

sQ

sq

sQ||Q||q

ss−max

sq

sQ

−||Q||qn

ss/1

sq

sQ

显然,适当选取各分块的α

值对曲面拟合结果有一定的影响,通过网格点预处理加密

可以有效地提高逼近精度.

表1 各参数变化对曲面最终逼近精度的影响情况

各参数取值 ∑

−||Q||qn

ss/1

(百分比)||Q||q

ss−max

(百分比)

55,5.0×=×=NM

0.0162(2.8%) 0.0728(13.2%)

55,01.0×=×=NM

0.0154(2.4%) 0.0640(11.0%)

1111,5.0×=×=NM

0.0045(0.73%) 0.0188(3.3%)

1111,01.0×=×=NM

iα0.0031(0.46%) 0.0130(2.2%)

其中,i=1,2,3,4.

-3- http://www.paper.edu.cn

图1 两组原始数据点在XOY平面上的投影点集分块以及划分网格

图2 由高斯插值曲面上的网格点生成的B样条插值曲面(55,01.0

4321×=×====NMαααα

)

图3由高斯插值曲面上的网格点生成的B样条插值曲面(1111,01.0

4321×=×====NMαααα

)

4 结论

由前面的论述可以看出,笔者提出的算法具有以下优点:

(1)较好地解决了径向基函数插值方法插值大量散乱数据的计算不稳定性问题;

(2)较好地解决了张量积B样条插值曲面不适合于插值非矩形网格数据问题;

(3)可根据需要对网格进行调整,提高逼近精度.

实例表明,在解决散乱数据点的曲面拟合问题时,笔者提出的算法是可行的,效果是显

著的.

-4-