Eyes for Computers: How HAL Could "See" Brief overview of what it means to recognize expressions using image motion.

Besides being able to distinquish the various faces of the crew members, the computer HAL from 2001 was able to extract facial expression of the crew member and even have the ability of lipreading.

There is alot of work involved in order for a computer to be able to recognize facial expression using image motion. First, it needs to detect that the object in motion is a face. Then, it need to extract the location of a particular feature on the face for tracking purposes. These features are points of interest, that would give the most information needed for the computer.. I suppose this is an information that human have to program into a computer - then again, maybe a computer can eventually learn these features?

Besides that, it will need the ability to note the local changes of these features as well as the overall change of the object, such as, if the position of the object change, rotating, moving closer/furthur. etc. so that tracking motion of the feature will not get modified by those overall changes.

Eventuall, various quantities of these features are calculated from the tracking information, such as divergence, curl, deformation. These are then matched with the values stored in the internal database to determine a match - base on the values calculated. This would only limit the match to only those contained in the database.

I think, the difficult part in all these is determining what to quantify - and how to quantify a feature. This are very much statistically based, at the same time, it needs lots of analysis on the part of the human (such as how to catagorize an expression, and what about an expression that is different from another - orthogonality?). Besides that, it might be limited to those that is in the database, provide not too much flexibility to distinquish what is different (unless if there is a mechanism for it to determine that it is not part of the database)