Graphics Reference
In-Depth Information
(a)
(b)
(c)
(d)
(e)
Figure 5.3.
An example of thin-plate spline interpolation between two images of the same
scene. (a) Image 1 with feature locations. (b) Image 2 with feature locations. (c) Image 1 warped
to Image 2's coordinates using an estimated thin-plate spline deformation. The images look virtu-
ally identical, except for minor color changes (e.g., the hubcaps). Rectilinear grid lines (d) on the
coordinate system of Image 1 are transformed into non-rectilinear grid lines (e) in the coordinate
system of Image 2.
r
2
log
r
corresponds to a
Bookstein showed that the choice of
φ
given by
φ(
r
)
=
(
)
surface
f
that interpolates the original feature matches with the smallest bend-
x
,
y
(
)
that exactly interpolate
the data, the choice of weights and basis functions in Equation (
5.9
) minimizes the
integral
x
,
y
2
2
2
2
f
2
f
2
f
∂
∂
∂
+
+
dx dy
(5.11)
∂
x
2
∂
x
∂
y
∂
y
2
The thin-plate spline results in a smooth deformation field from the coordinates
of one image plane to the coordinates of the second, as illustrated in Figure
5.3
. It also
has the appealing property of being covariant to rigid transformations of the input
data. However, the interpolating function at
explicitly depends on all the point
correspondences, so adding a new correspondence requires the deformation field to
be recomputed everywhere (see also Section
8.4.3
).
(
x
,
y
)
5.2.2
B-Spline Interpolation
An attractive alternative is to create the interpolating function using a cubic
B-spline
approximation. As earlier, the function
f
is expressed as a combination of basis
functions. These functions are now centered not at the feature point locations but at
control points on a lattice overlaid on the first image plane. In the easiest case, these
control points are simply the integer-valued vertices of the pixel grid. The value of the
function at a point
(
x
,
y
)
(
x
,
y
)
only depends on the basis functions at the sixteen control
4
Actually, there are two surfaces here; the first satisfies
f
x
(
x
i
x
i
,
y
i
)
=
and the second satisfies
y
i
.
f
y
(
x
i
,
y
i
)
=