|
Introduction
Reliable identification of persons by computers is essencial
for user friendly interactive computer systems. Computer
systems should one day be able to converse and communicate as
well, or maybe even better, than most humans. This will
faciltate all maner of otherwise automated processes as well as
bring computer technology to those who are incapable or unwilling
to learn a new communication technique. One step to accomplish
this end is an automated human identification system. Such a
system should be robust to changes that occur every day (lighting,
change of cloths, glasses, makeup, etc.) and capable of adapting
to more pronounced changes (dramatic change in hair style, partial
to full occlusion of the face by masks, dramatic change in
appearance due to accidents, surgery, etc.)
Range imaging could
be a step toward a robust human identification system. The
research presented below explains in some detail the steps taken at
LCV to extract a practical human face recognition system from
range imaging. The basic procedure involves the capture of
different facial expressions from many differnt persons using
a 3D camera. These 3D images are then projeted into a ten
dimensional space using Principal Component Analsys (aka PCA or
the Karhunen Loeve Transform). This projection serves to
reduce the dimentionality of the data for both storage and
computation. Additional details will follow.
Data Collection
Facial meshes were collected from 115 persons under 6 different
expressions totaling 690 meshes. Facial expressions included
neutral, smiling, frowning, squinting, scared, and angry.
Procedure
The following steps are involved:
- Generate the height maps from the
OBJ mesh files using gen_height_maps.c.
- Perform translational and rotational
alignment using face_align.m.
- Resize and filter the height maps using
resize_filter_store_heightmaps.m (use
resize_filter_new.m to process sequentially and
use less memory).
- Align the tip of each nose to be the same distance
from the camera using make_mean_faces_nose_alignment.m.
- Perform PCA on the dataset using svdCompute.m.
- Create the projections of the heightmaps
into the orthogonal subspace created in the
previous step using dr.m.
- Check how many faces can be correctly
identified using id_test.m.
Results from 115 Subjects
An Investigation of 3D Registration
Useful Links
A Registration Technique
An Experiment in Rotations
Identifying Incorrect Identifications
Difference Image Tests
Leaving out Expressions
ICA
Variations in the Scanning Modality
FDA
Results from 82 Subjects
Results from 82 Subjects (randomized)
Laboratory for Computational Vision | 214 OSB |
Florida State University | Tallahassee, FL 32306
|