False detections

11 views
Skip to first unread message

PedroF

unread,
Oct 21, 2010, 9:52:28 AM10/21/10
to pyvision
Hello,

I'm developing face recognition as a part of a project for my
university, for that I'm using pyvision and I easily recognize where
the face and eyes are.
The problem I'm having is that it gets alot of false detections(no
face) and the tile sometime only shows the center of the face instead
of all the face.
Can you please send me some sugestions of how to solve this?

Kind Regards

Pedro F

David Bolme

unread,
Oct 26, 2010, 4:24:34 PM10/26/10
to pyvi...@googlegroups.com
Pedro,

Face detection is a difficult problem so it is not unusual to have false responses in some images.  I am not sure if there is any simple solution.  There are some options in cascade detector that you can adjust that might reduce the number of false detections.  The simplest thing you could try is to use other cascade files that are included with OpenCV.  It is possible that one of those might work better for your purposes. You could also adjust the min_neighbors option. Increasing this will reduce the number of false detections but it may also reduce the correct detections.  You should also check the min_size option and set that to be a little smaller than the smallest face you would like to detect. That will eliminate any detections that are too small and also reduce the time required for the detector to run.  If these adjustments do not meet your needs you may need to create a different face detector or retrain the cascade detector to suit your purpose.  Both are nontrivial tasks.

Dave

Pedro Ferreira

unread,
Oct 27, 2010, 9:21:27 AM10/27/10
to pyvi...@googlegroups.com
Hello David,

Before everything I want to thank you for your answer. My face detection working much better since I've made some changes.
But I'm still having a problem with the tiles I'm using for classification.
The tile I obtain from the face detection is good. But When I do the eye detection some times he doesn't identify the position of the eyes with good precision.
After I do the affine transform to place the eyes always in the same place it does some zooms that
are really bad, sometimes in the tile used for classification (with the eyes centered) I get only a part of the eyes and the nose.
Is there a way to specify that I always want the full head inside de tile.
If you don't understand my doubt please email me, becuase my English is not the best...
Thank you in advance.

Pedro F.

David Bolme

unread,
Nov 1, 2010, 10:17:54 AM11/1/10
to pyvi...@googlegroups.com
This is a behavior that I have seen before. In seems to be an issue with some people or some lighting conditions. The eye detector is looking for dark irises and so it often gets confused by dark rimmed glasses or dark eye brows. Also if the eye sockets are in shadow it can have difficulty finding the eyes. If you have control over the lighting you can try to get more light on the face which may help. This may be a case where switching to a different eye detection method is needed. There are some cascade files in opencv that you could try. In my experience, the filter based detector usually is more accurate but it doesn't hurt to try other methods on your data.
Reply all
Reply to author
Forward
0 new messages