Progress on Facial Recognition Module
Loren John Presley from United States  [17 posts]
16 year
I'd just like to know how the progress for Roborealm's facial recognition module is going. What's been accomplished so far? When will it be released? Thanx!
John Christian from Norway  [25 posts] 16 year
And as a side-question. If you got a face rectangle, how hard do you think it would be to distinguish between 3-4 different faces? I have thought about some arithmetic functions but I guess it would have to be done on dilated edge features to see how far apart eyes/eyebrows/mouth are? Perhaps simple subtraction to find difference between scaled edge detected faces?

I am using OpenCV today to locate the face and it seems very consistent with the rectangle it returns as the detected face. I assume I would probably have to use several images with different head rotations also.

This is truly a difficult task, but also a very powerful one as it would be very cool for the robot to know which face it was looking at, as it enables me to e.g. send a message through mail to the robot which is then delivered to someone at home.
from United States  [214 posts] 16 year
I too am very interested in face detection/recognition using RoboRealm.  It would be a great start to get just face detection--the face rectangle alluded to by John in the previous post.  Then perhaps we could apply some of the existing match/training modules to that rectangle to get recognition.  I'm guessing that face detection could be done using a combination of skin detection and oval detection.  Hmmm, this might be worth some experimentation with RR...


Anonymous 16 year
I've been playing around with some RR filters to try to get a start on face detection.  I've attached my first attempt that seems to do a fairly good job using a Logitech 9000 webcam set at 160x120 resolution and manual exposure at 1/20s.  One apparent limitation of this solution is that if I move too close to the camera, the shadows on my face become very large black pixel areas that ultimately break up the face blob too much and I lose the tracking.  Any thoughts on how to deal with the shadows?  Also, how well does this .robo file work with other peoples' webcams?


Anonymous 16 year
P.S. You'll notice that I use a Blob Filter to isolate the face from the arms/hands which are also skin colored.  The Blob Filter I use sets the location to "Above Any" since the face is usually above the arms and hands.  However, if you raise a hand above your head, you'll see that tracking moves to the hand instead of the face.  This could be considered a limitation or a feature if you're trying to get the attention of a robot. (-:

Anonymous 16 year
Its not bad but we find that the initial skin color filter just picks up too much of the surrounding walls to be much use. Color should be an aspect of the recognition but not the only attribute to use ... the intensity differential of the face is a good one to look for and is currently being used within the face detector we are still working on.

But given known surroundings what you have seems to work reasonably well!

John Christian from Norway  [25 posts] 16 year
Have you thought about looking into OpenCV and integrate the face recognizer based on haar features they have there? I think its open and free so you should be able use it freely. By training new sets you can also have it detect any kind of object (but requires tons of pictures and CPU time). I use that in my robot and find it very good. I only need to correlate the detection rectangle area with skin color now so that it can eliminate the few false detections that it has.

The nice thing is that it normally returns an identical rectangle of the face so you could use that as input to a face discriminator to figure out who the face owner is.
Anonymous 16 year
Hi STeven and John,

Since I am using C# to program my robot, I don't have direct access to the OpenCV face detection library (though it may be coming this summer at http://code.google.com/p/opencvdotnet/).  However, I was able to run the OpenCV face detection demo which is provided as a standalone executable.  It appears that the OpenCV algorithm is not using skin color at all--if you rotate your head so that a critical face feature like an eye is occluded, the face tracking circle disappears.  I'm guessing this is what John was referring to as the Haar-feature basis of the algorithm.

So, just to state the obvious, it seems that one could break face detection and recognition into three stages:

(1) is there any human flesh in the image (could be face, arms, etc)

(2) is there a face feature pattern in the image (could even be a cartoon face that is not skin colored)

(3) if there is a face, get a region of interest (ROI) around that face and classify the pattern as a particular face (recognition) or even as "familiar" versus "unfamiliar".


This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index