薄板樣條插值---TPS(Thin Plate Spline) 阿新 • • 發佈:2018-11-28 薄板樣條插值—TPS(Thin Plate Spline) 插值 已知一系列的觀測點 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x n , y n ) \bold {(x_1, y_1), (x_2,y_2), \cdots, (x_n, y_n)} (x1,y1),(x2,y2),⋯,(xn,yn), 這一組觀測值得生成函式 Y = f ( X ) Y=f(X) Y=f(X)未知,如何通過這一組觀測值擬合出一個近似於真實生成函式的表示式。擬合出來的表示式稱之為插值函式。 TPS 薄板樣條的插值函式形式如下: Φ ( x ) = c + a T x + w T s ( x ) s ( x ) = ( σ ( x − x 1 ) , σ ( x − x 2 ) , ⋯   , σ ( x − x n ) ) T σ ( x ) = ∣ ∣ x ∣ ∣ x 2 log ∣ ∣ x ∣ ∣ x 2 \begin{aligned} \Phi(\bold x) &= \bold {c + a^Tx + w^Ts(x)} \\ \bold {s(x)} &= \bold{(\sigma(x - x_1), \sigma(x - x_2), \cdots, \sigma(x - x_n))^T } \\ \sigma(\bold x) & = \bold {||x||_x^2\log||x||_x^2}\\ \end{aligned} Φ(x)s(x)σ(x)=c+aTx+wTs(x)=(σ(x−x1),σ(x−x2),⋯,σ(x−xn))T=∣∣x∣∣x2log∣∣x∣∣x2 其中, c ∈ R 1 × 1 , a ∈ R D × 1 , w ∈ R N × 1 \bf c \in \mathbb R^{1\times 1} ,\bf a \in \mathbb R^{D \times 1}, w \in \mathbb R^{N\times 1} c∈R1×1,a∈RD×1,w∈RN×1。 從中可以看出,該函式的輸出值是一個標量,也就是說,如果要針對多個維度進行插值,需要求解多個插值函式。該插值函式總共存在 N + D + 1 N+D+1 N+D+1個引數。 而每個觀測點都能提供一個如下的約束,共 N N N個約束條件。 y k = Φ ( x k ) y_k = \Phi(x_k) yk=Φ(xk) 在認為新增 D + 1 D+1 D+1個約束條件: ∑ k = 1 K w k = 0 ∑ k = 1 K w k x k 1 = 0 ⋮ ∑ k = 1 K w k x k D = 0 \begin{aligned} \sum_{k=1}^{K}w_k &= 0 \\ \sum_{k=1}^{K}w_k {\bf x}_k^{1} &= 0 \\ \vdots \\ \sum_{k=1}^{K}w_k {\bf x}_k^{D} &= 0 \\ \end{aligned} k=1∑Kwkk=1∑Kwkxk1⋮k=1∑KwkxkD=0=0=0 令: X = [ x 1 1 x 1 2 ⋯ x 1 D x 2 1 x 2 2 ⋯ x 2 D ⋮ ⋮ ⋱ ⋮ x N 1 x N 2 ⋯ x N D ] Y = [ y 1 y 2 ⋮ y N ] S = [ σ ( x 1 − x 1 ) σ ( x 1 − x 2 ) ⋯ σ ( x 1 − x N ) σ ( x 2 − x 1 ) σ ( x 2 − x 2 ) ⋯ σ ( x 2 − x N ) ⋮ ⋮ ⋱ ⋮ σ ( x N − x 1 )