数值方法——薄板样条插值(Thin-Plate Spline)

插值

假设已知函数 y=f(x) N+1 个点 x1,x2,,xN+1 处的函数值 y1,y2,,yN+1 ,但函数的表达式 f(x) 未知,那么能够经过插值函数 p(x) 来逼近未知函数 f(x) ,而且 p(x) 必须知足web

p(xk)=yk,k=1,2,,N+1.(1)

常见的插值函数的形式有多项式函数、样条函数。机器学习

  • 多项式函数:令 p(x) N 次多项式函数,因而 p(x) N+1 个参数,而由公式(1)可知这 N+1 个参数知足 N+1 个约束条件,因此能够求出 p(x) 的表达式。svg

  • 样条函数:咱们知道 N 阶多项式函数必然有 N1 个极值点,因此获得的插值函数摆动会比较大,这有点像机器学习中的过拟合现象,能够用样条函数来避免这个问题。这里的样条函数其实就是分段函数,表示在相邻点 xk xk+1 之间用低阶多项式函数 Sk(x) 进行插值。分段线性插值和三次样条插值都属于样条插值。函数

TPS

本文介绍的TPS针对的是插值问题的一种特殊状况,而且TSP插值函数的形式也比较新颖。
考虑这样一个插值问题:自变量 x 是2维空间中的一点,函数值 y 也是2维空间中的一点,而且都在笛卡尔坐标系下表示。给定 N 个自变量 xk 和对应的函数值 yk ,求插值函数
学习

Φ(x)=[Φ1(x)Φ2(x)]

使得
ui

yk=Φ(xk).(2)

咱们能够认为是求两个插值函数 Φ1(x) Φ2(x) atom

TPS插值函数形式以下:
spa

Φ1(x)=c+aTx+wTs(x)(3)

其中 c 是标量,向量 aR2×1 ,向量 wRN×1 ,函数向量code

s(x)=(σ(xx1),σ(xx1),,σ(xxN))T

σ(x)=||x||22log||x||2.

Φ2(x) Φ1(x) 有同样的形式。看到这里可能会产生疑问?插值函数的形式千千万,怎么就选择公式(3)这种形式呢?咱们能够把一个插值函数想象成弯曲一个薄钢板,使得它穿过给定点,这样会须要一个弯曲能量:
orm

J(Φ)=j=12R2(2Φjx2)2+2(2Φjxy)2+(2Φjy2)2dxdy

那么能够证实公式(3)是使得弯曲能量最小的插值函数。参考文献[3]中给了证实过程。

TSP插值函数 Φ1 N+3 个参数,而条件(2)只给出了 N 个约束,咱们再添加三个约束:

k=1Nwk=k=1Nxxkwk=k=1Nxykwk=000(4)

xxk xyk 分别表示点 x x 坐标值和 y 坐标值。因而(2)和(4)能够写成

S1TNXT1N00X00wca=Yx00(5)

其中, (S)ij=σ(xixj) 1N 表示值全为1的 N 维列向量,
X=xx1xx2xxNxy1xy2xyN

Yx=yx1yx2yxN

咱们能够令

Γ=S1TNXT1N00X00

那么可知当 S 是非奇异矩阵时, Γ 也是非奇异矩阵,因而参数为:

wca=Γ1Yx00(6)

能够把 Φ1 Φ2 的参数经过一个矩阵运算计算出来:

wxcxaxwycyay=Γ1Yx00Yy00(7)

咱们把 Γ1 写成下面的形式:

Γ1=[Γ11Γ21Γ12Γ22]

称矩阵 Γ11 为弯曲能量矩阵,其秩为 N3

Principal Warp

Principal Warp是进一步对TPS进行分析的方法。看原论文[1]的介绍看的好艰辛,等后面若是再碰到的时候再总结。感兴趣的读者能够去阅读论文[1]或者书[2]的第12.3节。

TPS对齐两张图片

假设对齐图片1到图片2。给定图片1和图片2中的已知landmark点,咱们能够经过TPS获得由图片1的坐标到图片2的坐标的映射关系。遍历图片1中的每一个点,咱们能够获得它在图片2中应该对应的点,把图片1中每一个点上的像素信息移到对应的图片2中去,就能够获得对准图片2以后的图片1。

可是图片1并非全部的点都在图片2中有对应,好比:若是图片1中的点映射的横坐标和纵坐标都为负值这种状况。我不知作别人是怎么处理的,目前我是直接舍弃这样的点。

参考

[1] F. L. Bookstein. Principal warps: Thin-plate splines and the decomposition of deformations. IEEE Trans. Pattern Anal. Mach. Intell., 11(6):567–585, June 1989. [2] Ian L. Dryden and Kanti V. Mardia. [Statistical Shape Analysis: With Applications in R].(须要这本书电子版的读者请私信我) [3] Kent, J. T. and Mardia, K. V. (1994a). The link between kriging and thin-plate splines. In: Probability, Statistics and Optimization: a Tribute to Peter Whittle (ed. F. P. Kelly), pp 325–339. John Wiley & Sons, Ltd, Chichester. page 282, 287, 311