3

I have been working on a Face Recognition system to log attendance using OpenCV version 3.3.1 in Java.

I'm using haarcascade_frontalface_alt to detect faces. But I have seen a lot of false positives.

To avoid this, I followed the below technique.

  • I will first run haarcascade_frontalface_alt to detect a face region.
  • Then I will run haarcascade_eye_tree_eyeglasses to check if the face region has eyes.
  • If yes, I will split the image into 2 halves, vertically and I will use haarcascade_eye to detect eyes in each half to avoid any false positives.

This technique is not working in all cases and I have encountered a few cases where haarcascade_eye_tree_eyeglasses is returning more than 2 eyes & haarcascade_eye is returning more than 1 eye in each half.

Also, in order to eliminate noise(ears, hair and neck areas, etc) from the image, I'm cropping the image by a ROI specified as left eye position to right eye position. I also applied histogram equalization on the final image.

The only things I need to get rid of are false positives and multiple eye detections.

Please help me in this regard and also let me know if there is any better approach.

Here is the sample image with multiple eye detection.

Multiple eyes detected

rko
  • 203
  • 3
  • 10
  • I don't suppose you can share the code you've done for this? I'm looking for the same thing you've already come up with – Chris Feb 09 '19 at 04:09

0 Answers0