title: Thin plate spline
text: # 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. 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. 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 $\lambda$ per controllare la rigidità della deformazione, bilanciando la levigatezza rispetto alla precisione dell'interpolazione:
  
      $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. 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,\ldots ,K\}$, una thin plate spline può essere espressa come
  
      $f(x)=\sum _{i=1}^{K}w_{i}\varphi (\left\|x-c_{i}\right\|)$
  
  dove $\varphi (r)=r^{2}\log r$, per un insieme opportuno di pesi $\{w_{i}\}$.
  
  ## Spline
  
  Nel caso bidimensionale ($n=2$), esprimendo i punti $y_{i}$ in coordinate omogenee $(1,y_{ix},y_{iy})$, la funzione $f$ che ottimizza l'interpolazione è parametrizzata da due matrici $D$ e $C$
  
      $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$ è una matrice $(n+1)\times (n+1)$ che rappresenta la componente affine della deformazione ($z$ è un vettore $1\times (n+1)$) e $C$ è una matrice $K\times (n+1)$ contenente i coefficienti della componente non affine della deformazione. La funzione kernel $\phi (z)$ è un vettore $1\times K$ per ogni punto $z$, nella forma $\phi _{i}(z)=\|z-x_{i}\|^{2}\log \|z-x_{i}\|$.
  
  Sostituendo, l'energia diventa
  
      $E_{tps}(D,C)=\|Y-XD-\Phi C\|^{2}+\lambda C^{T}\Phi C$
  
  dove $Y$ e $X$ sono date dalla concatenzaione delle coordinate di $y_{i}$ and $x_{i}$, e $\Phi$ è una matrice $(n\times n)$ composta da $\phi (\|x_{i}-x_{j}\|)$.
  
  