版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xholes/article/details/84560816
薄板样条插值—TPS(Thin Plate Spline)
插值
已知一系列的观测点
(x1,y1),(x2,y2),⋯,(xn,yn), 这一组观测值得生成函数
Y=f(X)未知,如何通过这一组观测值拟合出一个近似于真实生成函数的表达式。拟合出来的表达式称之为插值函数。
TPS
薄板样条的插值函数形式如下:
Φ(x)s(x)σ(x)=c+aTx+wTs(x)=(σ(x−x1),σ(x−x2),⋯,σ(x−xn))T=∣∣x∣∣x2log∣∣x∣∣x2
其中,
c∈R1×1,a∈RD×1,w∈RN×1。 从中可以看出,该函数的输出值是一个标量,也就是说,如果要针对多个维度进行插值,需要求解多个插值函数。该插值函数总共存在
N+D+1个参数。 而每个观测点都能提供一个如下的约束,共
N个约束条件。
yk=Φ(xk)
在认为添加
D+1个约束条件:
k=1∑Kwkk=1∑Kwkxk1⋮k=1∑KwkxkD=0=0=0
令:
XS=⎣⎢⎢⎢⎡x11x21⋮xN1x12x22⋮xN2⋯⋯⋱⋯x1Dx2D⋮xND⎦⎥⎥⎥⎤Y=⎣⎢⎢⎢⎡y1y2⋮yN⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡σ(x1−x1)σ(x2−x1)⋮σ(xN−x1)σ(x1−x2)σ(x2−x2)⋮σ(xN−x2)⋯⋯⋱⋯σ(x1−xN)σ(x2−xN)⋮σ(xN−xN)⎦⎥⎥⎥⎤
则约束条件构成的方程组可以改写为:
⎣⎡S1NTXT1N00X00⎦⎤⎣⎡wca⎦⎤=Γ⎣⎡wca⎦⎤=⎣⎡Y00⎦⎤
当
Γ非奇异时,这个方程组有唯一解。因此可获得参数矩阵:
⎣⎡wca⎦⎤=Γ−1⎣⎡Y00⎦⎤
Reference
[1] 数值方法——薄板样条插值(Thin-Plate Spline)
[2] Thin plate splines 薄板样条插值个人理解
[3] 关于Thin Plate Spline (薄板样条函数)