[Insight-users] surface textures?

Luis Ibanez luis.ibanez@kitware.com
Thu, 13 Mar 2003 13:07:37 -0500


Hi Markus,

You certainly can use VTK for generating
visualizations of your surface+texture models.

You probably will not find much support for
performing registration in VTK.

----

Note that the two following problemes:

1) generating landmark correspondences
2) performing registration based on landmarks

are two complementary parallel problems.

If you solve landmark association, then you
have certainty in landmark correspondences
and Registration becomes the trivial problem
of interpolating a deformation field.

or

If you solve the registration problem, then
you have a spatial transform (which can
for example be expressed as a deformation
field), and with it, the problem of landmark
correspondance becomes the trivial task of
mapping one set of landmarks trhough the
transform.

---

You don't need Volumetric registration.
Your problem can be nicely represented in
ITK using the Mesh and associating RGBPixel
values to each node.

You will find a description on the use of
the ITK Mesh in the SoftwareGuide.pdf
http://www.itk.org/ItkSoftwareGuide.pdf
Section 4.2 PointSet, pdf-pages 57-67
Section 4.3 Mesh,     pdf-pages 67-87


---

How dense are the points in the geometry
of the facial models ? hundreds of points ?
thousands ?

Are you assuming that the mapping of the
JPEG 2D texture image to the facial geometry
is done with certainty ?

This means that the color values associated
with every node of the geometry will never
change.

In this case, your registratoin problem
becomes the challenge of displacing the 3D
positions of the mesh points in order to get
closer to the equivalent colors of the other
textured mesh.

You could implement this in ITK by reusing
the following components:

1) Optimizers: GradientDescent, OnePlusOneEvolutionary
2) Transforms: Affine, ThinPlateSplines,
                VolumeSpines, ElasticBodySpline,
                BSpline.
3) Interpolator: linear, nearest neighbor


and writing on your own the following
components:

4) MeshToMesh Metric
5) MeshToMesh registration method


The registration method in (5) is just a holder
that will put all the component together and
then delegates control to the optimizer.

The Metric (4) is where the fun starts. You
have to figure out a measure that will tell
how well facial model (color included) matches
the other facial model after the transformation
has been applied.

You could imaging some sort of color difference
evaluated on a per point basis and averaged through
the surface.

----

You may want to take a look at the ThinPlatesSplines
application in the InsightApplications directory.

http://www.itk.org/HTML/ThinPlateSplines.htm


----

You could also use the FEM-based approach and
model the facial models as surfaces made of some
kind of elastic material. Define forces between
the two facial models and then let the FEM framework
compute the displacemets on the models.


-----



Please let us know if you have other questions.


   Thanks


     Luis



-------------------------------------
Markus Louw wrote:
> Hi Luis,
> The problem is to generate a facial database for generating facial
> hypotheses.  To create a database of landmark correspondences, we need to
> identify point matches across training sets.  The problem is therefor a 2D
> parameterizable surface of 3D points, with a JPEG image which contains
> intensity colour information...
> 
> Right now the alternative seems to be VTK, do you know anything about that?
> 
> Regards
> Markus Louw,
> PhD student, University of Zaragoza, Spain