I am using opencv 2.4.2 and c++. I am trying to detect the eyes,nose and mouth of a profile face using haarcascade xml files.The eyes are most of the time detected correctly using haarcascade_mcs_righteye and haarcascade_mcs_lefteye. However,the nose and mouth xml are mostly failures with profile faces[as shown below]. I understand that those were made for frontal face,but is there any other "not-so-complicated" open source method which I can use to detect the tip of the nose and corner of mouth in profile images?Basically,I will need their coordinates,but first I will need to detect them. Anybody please?
Asked
Active
Viewed 3,859 times
1
-
which cascades are you using ? – Dabo Mar 03 '14 at 11:58
-
haarcascade_profileface,haarcascade_mcs_righteye,haarcascade_mcs_lefteye,haarcascade_mcs_mouth and haarcascade_mcs_nose – Steph Mar 03 '14 at 12:00
-
try to check links from this SO question http://stackoverflow.com/q/9015498/2549281 – Dabo Mar 03 '14 at 12:03
-
thanks for the link @Dabo. I downloaded the xml files found there,but still the same – Steph Mar 03 '14 at 12:21
-
1If this is related to your previous question on stitching front and side face pictures, did you try using more generic point features (e.g. SIFT points) instead of using Haar cascades ? They may enable a more accurate registration. – BConic Mar 03 '14 at 12:52
-
yes,by obtaining the coordinates of the eye corner,tip of nose and mouth corner,I would have used affineTransform to align it with the front face. But I am not able to detect those features. – Steph Mar 03 '14 at 13:23
-
by SIFT,you mean I find the keypoints on the profile and front face separately and then match the keypoints? – Steph Mar 03 '14 at 13:24