Thin plate spline

Le thin plate spline (TPS) sono una tipologia di funzione spline poliarmonica comunemente utilizzata in interpolazione, introdotta da Duchon in geometria computazionale.[1] L'analogia fisica alla base delle thin plate spline, da cui prendono il nome, è quella di determinare la deformazione di una sottile lastra piana di metallo nella quale un insieme di punti di controllo è vincolato ad un dislocamento ortogonale al piano della lastra stessa.

Le thin plate spline sono ampiamente utilizzate per modellare trasformazioni elastiche in elaborazione digitale delle immagini.[2] Tra le proprietà che le hanno rese così popolari vi sono il fondamento fisico del loro comportamento, il fatto di avere una soluzione in forma chiusa per la stima dei parametri, e il fatto di produrre una funzione interpolante liscia.

Costruzione

Le thin plate spline interpolano i punti di controllo in maniera tale da minimizzare un'energia espressa dall'errore di interpolazione più l'integrale del quadrato della norma della derivata seconda, che fornisce una misura di levigatezza dell'interpolante. È possibile aggiungere un parametro λ {\displaystyle \lambda } per controllare la rigidità della deformazione, bilanciando la levigatezza rispetto alla precisione dell'interpolazione:

E t p s , s m o o t h ( f ) = i = 1 K y i f ( x i ) 2 + λ [ ( 2 f x 1 2 ) 2 + 2 ( 2 f x 1 x 2 ) 2 + ( 2 f x 2 2 ) 2 ] d x 1 d x 2 {\displaystyle E_{tps,smooth}(f)=\sum _{i=1}^{K}\|y_{i}-f(x_{i})\|^{2}+\lambda \iint \left[\left({\frac {\partial ^{2}f}{\partial x_{1}^{2}}}\right)^{2}+2\left({\frac {\partial ^{2}f}{\partial x_{1}\partial x_{2}}}\right)^{2}+\left({\frac {\partial ^{2}f}{\partial x_{2}^{2}}}\right)^{2}\right]{\textrm {d}}x_{1}\,{\textrm {d}}x_{2}}

È dimostrato che tale problema variazionale ammette una soluzione unica.[3] Una discretizzazione di questo problema tramite il metodo degli elementi finiti è nota come mappa elastica, ed è una tecnica comunemente usata per la riduzione non lineare della dimensionalità in applicazioni di data mining.

Le thin plate spline hanno una rappresentazione naturale in termini di funzioni radiali di base. Dato un insieme di punti di controllo { c i , i = 1 , 2 , , K } {\displaystyle \{c_{i},i=1,2,\ldots ,K\}} , una thin plate spline può essere espressa come

f ( x ) = i = 1 K w i φ ( x c i ) {\displaystyle f(x)=\sum _{i=1}^{K}w_{i}\varphi (\left\|x-c_{i}\right\|)}

dove φ ( r ) = r 2 log r {\displaystyle \varphi (r)=r^{2}\log r} , per un insieme opportuno di pesi { w i } {\displaystyle \{w_{i}\}} .

Spline

Nel caso bidimensionale ( n = 2 {\displaystyle n=2} ), esprimendo i punti y i {\displaystyle y_{i}} in coordinate omogenee ( 1 , y i x , y i y ) {\displaystyle (1,y_{ix},y_{iy})} , la funzione f {\displaystyle f} che ottimizza l'interpolazione è parametrizzata da due matrici D {\displaystyle D} e C {\displaystyle C}

f t p s ( z | D , C ) = z D + ϕ ( z ) C = z D + i = 1 K ϕ i ( z ) C i {\displaystyle f_{tps}(z|D,C)=z\cdot D+\phi (z)\cdot C=z\cdot D+\sum _{i=1}^{K}\phi _{i}(z)C_{i}}

dove D {\displaystyle D} è una matrice ( n + 1 ) × ( n + 1 ) {\displaystyle (n+1)\times (n+1)} che rappresenta la componente affine della deformazione ( z {\displaystyle z} è un vettore 1 × ( n + 1 ) {\displaystyle 1\times (n+1)} ) e C {\displaystyle C} è una matrice K × ( n + 1 ) {\displaystyle K\times (n+1)} contenente i coefficienti della componente non affine della deformazione. La funzione kernel ϕ ( z ) {\displaystyle \phi (z)} è un vettore 1 × K {\displaystyle 1\times K} per ogni punto z {\displaystyle z} , nella forma ϕ i ( z ) = z x i 2 log z x i {\displaystyle \phi _{i}(z)=\|z-x_{i}\|^{2}\log \|z-x_{i}\|} .

Sostituendo, l'energia diventa

E t p s ( D , C ) = Y X D Φ C 2 + λ C T Φ C {\displaystyle E_{tps}(D,C)=\|Y-XD-\Phi C\|^{2}+\lambda C^{T}\Phi C}

dove Y {\displaystyle Y} e X {\displaystyle X} sono date dalla concatenzaione delle coordinate di y i {\displaystyle y_{i}} and x i {\displaystyle x_{i}} , e Φ {\displaystyle \Phi } è una matrice ( n × n ) {\displaystyle (n\times n)} composta da ϕ ( x i x j ) {\displaystyle \phi (\|x_{i}-x_{j}\|)} .

Note

  1. ^ J. Duchon, 1976, Splines minimizing rotation invariant semi-norms in Sobolev spaces. pp 85–100, In: Constructive Theory of Functions of Several Variables, Oberwolfach 1976, W. Schempp and K. Zeller, eds., Lecture Notes in Math., Vol. 571, Springer, Berlin, 1977
  2. ^ F. L. Bookstein, Principal warps: thin plate splines and the decomposition of deformations, in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 11, n. 6, giugno 1989, pp. 567–585, DOI:10.1109/34.24792.
  3. ^ (Wahba, 1990)

Bibliografia

  • Haili Chui: Non-Rigid Point Matching: Algorithms, Extensions and Applications. PhD Thesis, Yale University, May 2001.
  • G. Wahba, 1990, Spline models for observational data. Philadelphia: Society for Industrial and Applied Mathematics.

Collegamenti esterni

  • Explanation for a simplified variation problem
  • TPS at MathWorld
  • TPS in C++
  • TPS in templated C++
  • TPS interactive morphing demo
  • TPS in R
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica