In the following brief, action items are listed for the near future,
explaining how we finish the face recognition project successfully.
The steps to explore next are as follows:
- The implementation and use of caching for scalability.
- Experiments with an increased number of triangles using:
- FRGC database
- Texas3DFR Database
- Potentially expressions data from GIP and synthetic data too
- Increase the number of vertices from at most 2420 to around 24200
and maybe 242 in order to demonstrate, graphically, the effect of
changing resolution on the ability to distinguish between surfaces
such as faces, where variation is milder.
- Perform an analysis based upon results from GMDS where Fast Marching
is applied to a greater number of points.
- Combine GMDS with PCA and potentially with Euclidean distances too,
hopefully demonstrating the superiority of this approach where a model
is trained to learn sources of variation in entire sets of surfaces,
e.g. what local regions vary more than others across different individuals
as opposed than within an individual (intra-person, mostly expression).
- Provide a detailed (and yet rather concise) explanation of:
- Why and how the curse of dimensionality affects the problem, how it
can be overcome
- What other approaches were attempted, notably the purely PCA-based
ones
- How the algorithms work and what results are obtained, bearing pitfalls
like great scale in mind
- Which perimeters were altered and which values gave improved results
The code for caching is an adaptation of the predominantly C-based
implementation of FMM, with hooks that use as interface a caching
query (written in C++), all wrapped together in MATLAB for calls from
the outside. Based on a quick run through some debugging code, backporting
the changes to a 2009 GMDS implementation should be doable. The code
is very much separated from GMDS-specific functions that are sufficiently
modular.
The past fortnight was mostly spent waiting for the caching work.
t was not done in a matter of days as had been wrongly assumed, so
we have begun implementing a multi-scale approach where slicing of
regions gets done at one level of granularity. The edges of the triangles
are very clear to see in Figure because of
the small number (1000) of triangles for the face region as a whole.
It should then be possible to increase the resolution and work on
regions in a piece-wise fashion. GMDS would scale better. The tricky
part then becomes the accurate annulment of triangles outside the
geodesic circle of choice. That's why the piece-wise approach is likely
to lack accuracy, but the imminent results will provide some insight.
Figure:
A look at slicing at geodesic boundaries around
the nose tip, with coarse resolution on the left and improved resolution
that isolates regions on the right
|
Subsections
Roy Schestowitz
2012-01-08