thin plate spline

{{Short description|Method of data interpolation and smoothing}}

Thin plate splines (TPS) are a spline-based technique for data interpolation and smoothing. They were introduced to geometric design by Duchon. They are an important special case of a polyharmonic spline. Robust Point Matching (RPM) is a common extension and shortly known as the TPS-RPM algorithm.

Physical analogy

The name thin plate spline refers to a physical analogy involving the bending of a plate or thin sheet of metal. Just as the metal has rigidity, the TPS fit resists bending also, implying a penalty involving the smoothness of the fitted surface. 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 control points (knots), 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 a closed-form solution.

Smoothness measure

The TPS arises from consideration of the integral of the square of the second derivative—this forms its smoothness measure. In the case where x is two dimensional, for interpolation, the TPS fits a mapping function f(x) between corresponding point-sets \{y_i\} and \{x_i\} that minimizes the following energy function:

:

E_{\mathrm{tps}}(f) = \sum_{i=1}^K \|y_i - f(x_i) \|^2

The smoothing variant, correspondingly, uses a tuning parameter \lambda to control the rigidity of the deformation, balancing the aforementioned criterion with the measure of goodness of fit, thus minimizing:

:

E_{\mathrm{tps},\mathrm{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

For this variational problem, it can be shown that there exists a unique minimizer f . The finite element discretization of this variational problem, the method of elastic maps, is used for data mining and nonlinear dimensionality reduction. In simple words, "the first term is defined as the error measurement term and the second regularisation term is a penalty on the smoothness of f." It is in a general case needed to make the mapping unique.

Radial basis function

{{Main|Radial basis function}}

The thin plate spline has a natural representation in terms of radial basis functions. Given a set of control points \{c_{i}, i = 1,2, \ldots,K\}, a radial basis function 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 w_{i}\varphi(\left\| x - c_{i}\right\|)

where \left\|\cdot\right\| denotes the usual Euclidean norm and \{w_{i}\} is a set of mapping coefficients. The TPS corresponds to the radial basis kernel \varphi(r) = r^2 \log r.

=Spline=

Suppose the points are in 2 dimensions (D = 2). One can use homogeneous coordinates for the point-set where a point y_{i} is represented as a vector (1, y_{ix}, y_{iy}). The unique minimizer f is parameterized by \alpha which consists of two matrices d and c (\alpha = \{d,c\}).

:

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

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

If one substitutes the solution for f, E_{tps} becomes:

:

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

where Y and X are just concatenated versions of the point coordinates y_i and x_i, and \Phi 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 \Phi 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.

Applications

TPS has been widely used as the non-rigid transformation model in image

alignment and shape matching.

An additional application is the analysis and comparisons of archaeological findings in 3D and was implemented for triangular meshes in the GigaMesh Software Framework.

The thin plate spline has a number of properties which have contributed to its popularity:

  1. It produces smooth surfaces, which are infinitely differentiable.
  2. There are no free parameters that need manual tuning.
  3. It has closed-form solutions for both warping and parameter estimation.
  4. There is a physical explanation for its energy function.

However, note that splines already in one dimension can cause severe "overshoots". In 2D such effects can be much more critical, because TPS are not objective.{{citation needed|date=December 2019}}

See also

References

{{cite book |last = Tahir |first = Anam |date = 2023 |title = Formation Control of Swarms of Unmanned Aerial Vehicles |url = https://www.utupub.fi/bitstream/handle/10024/175822/Annales%20F%2027%20Tahir.pdf?sequence=1&isAllowed=y |location = Finland |publisher = University of Turku |isbn = 978-951-29-9411-3}}

{{cite journal |last1 = Tahir |first1 = Anam |last2 = Haghbayan |first2 = Hashem |last3 = Böling |first3 = Jari M. |last4 = Plosila |first4 = Juha |date = 2023 |title = Energy-Efficient Post-Failure Reconfiguration of Swarms of Unmanned Aerial Vehicles |url = https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9791400 |journal = IEEE Access |volume = 11 |pages = 24768 – 24779 |doi = 10.1109/ACCESS.2022.3181244 |doi-access = free }}

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. doi:[https://doi.org/10.1007/BFb0086566 10.1007/BFb0086566]

{{cite journal|last1=Bookstein|first1=F. L.|title=Principal warps: thin plate splines and the decomposition of deformations|journal=IEEE Transactions on Pattern Analysis and Machine Intelligence|date=June 1989|volume=11|issue=6|pages=567–585|doi=10.1109/34.24792}}

{{citation|surname1=Bogacz|given1=Bartosz|given2=Nikolas|surname2=Papadimitriou|given3=Diamantis|surname3=Panagiotopoulos|surname4=Mara|given4=Hubert|periodical=Proc. of the 14th International Conference on Computer Vision Theory and Application (VISAPP)|title=Recovering and Visualizing Deformation in 3D Aegean Sealings|location=Prague, Czech Republic|date=2019|url=http://insticc.org/node/TechnicalProgram/visigrapp/presentationDetails/73858|access-date=28 March 2019}}

{{citation|surname=Wahba|given=Grace|title=Spline models for observational data|location=Philadelphia, PA, USA|date=1990|doi=10.1137/1.9781611970128

|isbn=978-0-89871-244-5|citeseerx=10.1.1.470.5213|publisher=Society for Industrial and Applied Mathematics (SIAM)}}

{{citation|surname=Chui|given=Haili|title=Non-Rigid Point Matching: Algorithms, Extensions and Applications|location=Yale University, New Haven, CT, USA|date=2001

|citeseerx=10.1.1.109.6855}}

{{cite web |title=Tutorial No. 13: Apply TPS-RPM Transformation |url=https://gigamesh.eu/?page=tutorials&topic=13._Apply_TPS_RPM_Transformation |website=GigaMesh Software Framework|accessdate=3 March 2019}}