Face recognition in a robotics context presents special challenges. The robot may be only knee high. It may need to recognize faces in a range of lighting or background conditions. It may need to distinguish among only a few faces, but do so very well.
Existing face recognition systems are designed to meet different goals. In law enforcement, for example, the goal is to identify candidate matches in a mugshot database. The mugshots are all at eye level, against a plain background, and with consistent lighting. Results that include several similar faces are acceptable, because a human can screen the results after the automated system has filtered the database to a manageable subset.
This Active Learning project addresses the special face-recognition issues inherent in a robotics context. The goal here is to learn a small number of users, and to distinguish faces within that small group very accurately.
In this method, the robot starts with very few preconceptions about what a face looks like and how to distinguish different faces. It learns each user's face by interacting in a natural way with the user. When meeting a new user, it builds an initial face model for that user. The initial model is good enough to recognize this person again, under a variety of poses, expressions, lighting changes, and backgrounds.
This initial model may not do well under all the conditions it needs to handle, but the system as a whole is able to detect when it needs to improve. When it detects that, it captures the information it needs for learning a better face model.
The initial model for one user may also make mistakes between different people. When that happens, introducing the robot to the new person allows it to capture information it needs to start learning how to distinguish between users.
This approach to face recognition is similar to how humans learn -- by example and interaction. It's a more adaptive approach to face recognition than the methods used in existing systems. In addition, it's able to begin recognizing the first user from only one image. Most recognition systems lack this capability. For example, PCA-based methods, such as eigenface and Fisherface, require a fairly large database of face examples before meaningful recognition can begin.
Demo. This project is still in development. A demo version of the program that learns the initial face model is available here. In the current demo, you need to outline the face and click to indicate the location of eyes and nose tip. These manual steps are expected to be automated in later versions.
Method Details. Technical details for this Active Learning approach are available here.