refuzee
refuzee

Reputation: 408

Semi-automatic face & eye detection

For analysis we have a sequence of images or a movie. My aim is to create a semi automatic face and eye detection for these sequences. The sequences consist of about 4000 images with a frontal capture of a person slightly moving. I want to process these images semi automatic or manual to get the two/three ROIs of the face and eyes.

I tried OpenCV's cascade classifiers but for my sequences they do not turn out to be robust (with manual controll we need to get a rate of 100%). The cascade classifiers do not give positions, eg. when the person is looking slightly to the side.

Is there any semi automatic approach out there for imagej, matlab or opencv/c++ to select/correct the rois manually if false detected or to select templates for tracking ?

Upvotes: 1

Views: 437

Answers (2)

GilLevi
GilLevi

Reputation: 2137

For face detection, try this list of 50+ API's :

http://blog.mashape.com/post/53379410412/list-of-50-face-detection-recognition-apis

for eyes detection you can try flandmark detector: http://cmp.felk.cvut.cz/~uricamic/flandmark/

Or STASM: http://www.milbo.users.sonic.net/stasm/

Upvotes: 1

If you are processing a movie, it is reasonable to assume that the motion between frames is low. The following is a possible approach.

  1. Initialize the first frame manually (or get user input to confirm/edit the positions detected by cascade classifiers)

  2. For the next frame, check if the features detected are too far off the original positions. You can also check if the positions of different parts are moving in an illogical manner.

  3. Stop and get the user to correct the points, if processing in step 2 suggest errors.

Note: With OpenCV cascades, face detection is generally accurate. But eye detection is not so accurate and you might not detect both eyes in some frames. Some projects use AAMs (Active Appearance Models) to robustly track a face, and this might work for you.

Upvotes: 1

Related Questions