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:

  1. Generate the height maps from the OBJ mesh files using gen_height_maps.c.
  2. Perform translational and rotational alignment using face_align.m.
  3. Resize and filter the height maps using resize_filter_store_heightmaps.m (use resize_filter_new.m to process sequentially and use less memory).
  4. Align the tip of each nose to be the same distance from the camera using make_mean_faces_nose_alignment.m.
  5. Perform PCA on the dataset using svdCompute.m.
  6. Create the projections of the heightmaps into the orthogonal subspace created in the previous step using dr.m.
  7. 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