Subsections
FeatureDriven Registration
In this section, we present our principal contribution: the FeatureDriven framework.
This framework, in which one directly acts on warp driving features, has two main advantages.
First, it often is better balanced to tune feature positions, expressed in pixels, than coefficient vectors that may be difficult to interpret, as for the TPS or the FFD warps.
Second, it allows one to use the efficient compositional framework in a straightforward manner.
Indeed, warp composition and inversion cannot be directly done for nongroupwise warps.
We propose empirical means for approximating warp composition and inversion through their driving features, called threading and reversion respectively.
Our FeatureDriven framework is generic in the sense that it can be applied to almost any parametric warps such as the TPS or the FFD warps, as shown in section A.5.
FeatureDriven Warp Parameterization
Ignoring the set of parameters, a warp is an
function usually parameterized by a set of control points
for
.
These control points are grouped in a vector
where
is the matrix defined by
.
We write the warp in its natural parameterization.
The warp is said to be linear when it can be defined as a linear combination of its control points:

(A.8) 
where
is a vector that depends on the point
and on the type of warp being considered.
Note that the dependency on
of
is usually non linear even if the warp is linear.
The control points are usually not interpolated.
They just act as `attractors' to the warp.
It thus makes their interpretation difficult.
The FeatureDriven concept is in fact a change of parameterization.
The control points are replaced by a set of features that are interpolated by the warp.
We call them the driving features and denote them
in the texture image and
in the current one (see figure A.1).
We denote
the FeatureDriven parameterization of the warp .
Loosely speaking, matching the driving features between two images is equivalent to defining a warp since the warp can be used to transfer the driving features from one image to the other, while conversely, the warp can be computed from the driving features.
Indeed, if the warp is linear with respect to its control points then it is always possible to find a matrix
such that:

(A.9) 
with
, i.e.
equals to
reshaped on two columns.
Matrix
can be precomputed.
Details on how the matrix
is obtained for the TPS and the FFD warps are given in section A.5.1 and section A.5.2 respectively.
If we write
then the FeatureDriven parameterization of the warp
is given by:

(A.10) 
If we denote
the features in the texture image then
is the identity warp^{A.3}, i.e. the warp that leaves the location of the features
unchanged.
Given two sets of driving features,
and
, we want to find a third set
defined such that threading the warps induced by
and
results in the warp induced by
, as shown in figure A.2.
We propose a simple and computationally cheap way to do it, as opposed to previous work.
This is possible thanks to the FeatureDriven parameterization.
Our idea for threading warps is very simple: we apply the
induced warp to the features
; the resulting set of features is
.
We thus define the warp threading operator, denoted
, as:

(A.11) 
where
is meant to be applied to each feature in
.
Examples of our warp threading process are shown in figure A.3.
We synthesized two sets of driving features
and
by randomly disturbing a
regular grid from its rest position
.
As expected, threading a warp
with the identity
returns the original warp i.e.
and
.
Figure A.3:
Examples for the warp threading process.

Reverting Warps
Given a set
of driving features, we want to determine the features
such that the warp they induce is the reversion of the one induced by
.
This is illustrated in figure A.4.
As for the threading, our FeatureDriven framework yields a very simple solution.
The idea is that applying the
induced warp to
should give
i.e. , the fixed driving features in the texture image.
We thus introduce the reversion operator as:

(A.12) 
This amounts to solving an exactly determined linear system, the size of which is the number of driving features.
Using equation (A.10), we obtain:

(A.13) 
where
is the matrix defined by
,
and
.
The driving features
of the reverted warp are thus given by:

(A.14) 
Examples of the reverting process are shown in figure A.5.
We synthesized driving features
by randomly disturbing a
regular grid from its rest position
.
The driving features
result from reverting the warp
.
Threading warps
and
introduce a new set of driving features
.
As expected, the features
are similar to the original grid
with an average residual error of pixels.
Figure A.5:
Illustration of the warp reversion process on three examples.

Relying on the FeatureDriven parameterization properties, we extend compositional algorithms to nongroupwise warps.
The following three steps are repeated until convergence, as shown in figure A.6:
Note that in previous work (158,75,123) a preliminary step is required before applying the update rule, as reviewed in section A.2.2.
In comparison, our FeatureDriven framework makes it naturally included into the third step.
Illumination changes are handled by globally normalizing the pixel values in the texture and the warped images at each iteration.
Another approach could be used such as the lightinvariant approach of (148).
Figure A.6:
The three steps of the Compositional FeatureDriven registration.

Contributions to Parametric Image Registration and 3D Surface Reconstruction (Ph.D. dissertation, November 2010)  Florent Brunet
Webpage generated on July 2011
PDF version (11 Mo)