Thin Plate Spline (TPS) Interpolation is a non-parametric, spline-based method for interpolating scattered data in two or more dimensions. Originally arising in the context of fitting a smooth surface through a set of points in
While polynomial methods or radial basis functions can also perform interpolation, TPS stands out by providing a minimal "bending energy" solution, leading to a surface that is not only guaranteed to pass through the given points but is also as flat (smooth) as possible away from these points. This makes thin plate splines particularly favored in fields like image warping, geometric modeling, and shape deformation.
Imagine you have a set of control points
The resulting surface is smooth, continuous in its derivatives, and tends to flatten out smoothly between data points.
Given a set of
that interpolates the given data. Here:
- The
$\alpha_0, \alpha_1, \alpha_2$ terms represent a polynomial of degree 1 (a plane) that gives the global trend. - The function
$\phi(r)$ is a radial basis function chosen as:
which is the fundamental solution associated with the thin plate spline bending energy in 2D.
- The
$w_i$ are the coefficients for the radial basis part.
This
Additionally, to ensure a unique solution and remove degeneracies,
This leads to a linear system for the unknown parameters
I. Energy Minimization:
Thin plate splines arise from minimizing a bending energy functional:
II. Variational Problem:
Solving the Euler-Lagrange equations associated with the energy minimization under the interpolation conditions yields the form of the TPS. The solution can be shown to be a polynomial of degree at most 1 plus a weighted sum of radial basis functions
III. Linear System:
Substitute
where:
-
$P$ is the$N \times 3$ matrix with rows$[1, x_i, y_i]$ . -
$K$ is the$N \times N$ matrix with entries$K_{ij}=\phi(|(x_i,y_i)-(x_j,y_j)|)$ . -
$z$ is the vector of observed$z_i$ . -
$\alpha$ is$[ \alpha_0,\alpha_1,\alpha_2]^\top$ and$w=[w_1,\ldots,w_N]^\top.$
Solving this system yields the TPS coefficients.
I. Input:
A set of points
II. Form the Matrices:
- Compute the
$N \times N$ kernel matrix$K$ with$K_{ij}= \phi(\sqrt{(x_i - x_j)^2+(y_i-y_j)^2})$ and$\phi(r)=r^2 \ln(r)$ . - Form the
$N \times 3$ matrix$P$ with rows$[1, x_i, y_i]$ . - Construct the augmented block matrix and vector as described above.
III. Solve the Linear System:
- Solve the linear system for
$\alpha$ and$w$ . - This gives all parameters needed for the TPS surface.
IV. Interpolation:
To find
Given Data: Suppose we have 4 points:
I. Compute
For each pair of points, calculate distance
II. Compute
III. Form the linear system and solve for
IV. Once solved, you have a TPS surface that passes exactly through these four points. For any
(This is a simplified conceptual example; actual numbers require careful computation.)
- TPS yields an infinitely differentiable surface, minimizing bending energy, and producing visually pleasing, smooth interpolants.
- The method exactly passes through all given data points.
- TPS works with scattered data without needing a regular grid.
- It generalizes easily to higher dimensions by changing the form of
$\phi(r)$ , making it extensible.
- TPS requires solving a
$(N+3) \times (N+3)$ linear system, which can be expensive for large$N$ . - The system matrix may become ill-conditioned with many close points, often necessitating regularization like TPS smoothing splines.
- Changing or adding one point affects the entire solution, as TPS is a global method, lacking local control like piecewise methods unless combined with domain decomposition techniques.