Thin plate spline

From Wikipedia, the free encyclopedia

This is a brief derivation for the closed form solutions for smoothing Thin Plate Spline. Details about these splines can be found in (Wahba, 1990).

Thin plate splines (TPS) were introduced to geometric design by Duchon (Duchon, 1976). The name thin plate spline refers to a physical analogy involving the bending of a thin sheet of metal. In the physical setting, the deflection is in the z direction, orthogonal to the plane. In order to apply this idea to the problem of coordinate transformation, one interprets the lifting of the plate as a displacement of the x or y coordinates within the plane. In 2D cases, given a set of K corresponding points, the TPS warp is described by 2(K + 3) parameters which include 6 global affine motion parameters and 2K coefficients for correspondences of the control points. These parameters are computed by solving a linear system, in other words, TPS has closed-form solution.

Smoothing TPS is a regularized TPS. The model has a parameter λ to control how non-rigid is allowed for the deformation. When \lambda \rightarrow \infty, TPS is equal to an affine transformation, as the roughest model for non-rigid deformation.

Contents

[edit] Radial basis function

Main article: Radial basis function

Given a set of control points \{w_{i}, i = 1,2, \ldots,K\}, a radial basis function basically defines a spatial mapping which maps any location x in space to a new location f(x), represented by,


	f(x) = \sum_{i = 1}^K c_{i}\phi(\left\| x - w_{i}\right\|)

where \left\|\cdot\right\| denotes the usual Euclidean norm and {ci} is a set of mapping coefficients. One possible choice for the kernel function φ is the thin plate spline φ(r) = r2logr. It has a more global nature than the Gaussian kernel φ(r) = exp( − r2 / σ2), which is another common function -- a small perturbation of one of the control points always affects the coefficients corresponding to all the other points as well.

[edit] Thin plate spline

[edit] Smoothness measure

One of the simplest smoothness measures is the space integral of the square of the second order derivatives of the mapping function. This leads us to the thin plate spline (TPS). The TPS fits a mapping function f(x) between corresponding point-sets {yi} and {xi} by minimizing the following energy function:


	E = \iint\left[\left(\frac{\partial^2 f}{\partial x^2}\right)^2 + 2\left(\frac{\partial^2 f}{\partial xy}\right)^2 + \left(\frac{\partial^2 f}{\partial y^2}\right)^2 \right] \textrm{d} x \, \textrm{d}y

And for a smoothing TPS, it is


	E_{tps} = \sum_{i=1}^K \|y_i - f(x_i) \| + \lambda \iint\left[\left(\frac{\partial^2 f}{\partial x^2}\right)^2 + 2\left(\frac{\partial^2 f}{\partial xy}\right)^2 + \left(\frac{\partial^2 f}{\partial y^2}\right)^2 \right] \textrm{d} x \, \textrm{d}y

Then smoothing TPS is defined as


	f_{tps} = \arg\min_f E_{tps}

For this variational problem, it can be shown that there exists a unique minimizer f (Wahba,1990) with a fixed weight parameter λ which is presented in next section.

[edit] Spline

Suppose the points are in 2D (D = 2). We use homogeneous coordinates for the point-set where a point yi represented as a vector (1,yix,yiy). The unique minimizer f is parameterized by α which comprises two matrices d and c (α = {d,c}).


	f_{tps}(z, \alpha) = f_{tps}(z, d, c) = z\cdot d + \sum_{i = 1}^K \phi(\| z - x_i\|)\cdot c_i

where d is a (D+1)\times(D+1) matrix representing the affine transformation and c is a K\times(D+1) warping coefficient matrix representing the non-affine deformation. The kernel function \phi(\|z- x_i\|) is a 1\times K vector for each point z, where each entry \phi_i(z) = \|z - x_i\|^2 \log \|z - x_i\| for 2 dimensions. For the 3 dimension case, \phi_i(z) = \|z - x_i\|^3 . Note that for TPS, the control points {wi} are chosen to be the same as the set of points to be warped {xi}, so we already use {xi} in the place of the control points.

If we substitute the solution for f, Etps becomes:


	E_{tps}(d,c) = \|Y - Xd - \Phi c\|^2 + \lambda \textrm{trace}(c^T\Phi c)

where Y and X are just concatenated versions of the point coordinates yi and xi, and Φ is a (K\times K) matrix formed from the \phi (\|x_i - x_j\|). Each row of each newly formed matrix comes from one of the original vectors. The matrix Φ represents the TPS kernel. Loosely speaking, the TPS kernel contains the information about the point-set's internal structural relationships. When it is combined with the warping coefficients c, a non-rigid warping is generated.

A nice property of the TPS is that it can always be decomposed into a global affine and a local non-affine component. Consequently, the TPS smoothness term is solely dependent on the non-affine components. This is a desirable property, especially when compared to other splines, since the global pose parameters included in the affine transformation are not penalized.

[edit] Solution

The separation of the affine and non-affine warping space is done through a QR decomposition (Wahba,1990).


	X = [Q_1 | Q_2] \left( 
	\begin{array}{cc}
	R \\
	0
	\end{array}	
	\right)

where Q1 and Q2 are K \times (D+1) and K \times (K-D-1) orthonormal matrices, respectively. The matrix R is upper triangular. With the QR decomposition in place, we have


	E_{tps}(\gamma,d) = \|Q_2^T Y - Q_2^T\Phi Q_2 \gamma\|^2 + \|Q_1^T Y -Rd - Q_1^T\Phi Q_2 \gamma\|^2 + \lambda \gamma^T Q_2^T \Phi Q_2 \gamma

where γ is a (K-D-1)\times (D+1) matrix. Setting c = Q2γ (which in turn implies that XTc = 0) enables us to cleanly separate the first term in last third equation into a non-affine term and an affine term (first and second terms last equation respectively).

The least-squares energy function in the last equation can be first minimized w.r.t γ and then w.r.t. d. By applying Tikhonov regularization we have


	\hat{c} = Q_2(Q_2^T\Phi Q_2 + \lambda I_{(k-D-1)})^{-1}Q_2^T Y

	\hat{d} = R^{-1}Q_1^T (Y - \Phi \hat{c})

The minimum value of the TPS energy function obtained at the optimum (\hat{c},\hat{d}) is


	E_{bending} = \lambda\,\textrm{trace}[Q_2(Q_2^T\Phi Q_2 + \lambda I_{(k-D-1)})^{-1}Q_2^T Y Y^T]

[edit] Application

TPS has been widely used as the non-rigid transformation model in image alignment and shape matching.

The popularity of TPS comes from a number of advantages: (1) the interpolation is smooth with derivatives of any order; (2) the model has no free parameters that need manual tuning; (3) it has closed-form solutions for both warping and parameter estimation; and (4) there is a physical explanation for its energy function.

[edit] References

  • G. Wahba, 1990,Spline models for observational data. Philadelphia: Society for Industrial and Applied Mathematics.
  • J. Duchon, 1976, Splines minimizing rotation invariant seminorms in sobolev spaces, constructive theory of functions of several variables. vol 1, pp 85-100

[edit] See also


[edit] External links