uricamic / clandmark

Open Source Landmarking Library
http://cmp.felk.cvut.cz/~uricamic/clandmark
GNU General Public License v3.0
199 stars 111 forks source link

Can we recognise half face without 1 eye? #30

Closed cat3333 closed 8 years ago

cat3333 commented 9 years ago

Hi, thanks for this great jog and answering my last question.

I have run the 'static_input' example with the INDIVIDUAL_FRONTAL_AFLW_SPLIT_1.xml model, and find that the model can detect the faces with 2 eyes but not with only 1 eye. the results are as below.

successful result: success

failed result: fail1 fail2

I would like to know that

  1. can we detect the face with 1 eye using code snippet (http://cmp.felk.cvut.cz/~uricamic/clandmark/#snippets-mv) you provided?
  2. If yes, what model we should use in "modelDir" in the main function in the code snippet?
screen shot 2015-11-08 at 5 14 18 pm
cat3333 commented 9 years ago

The photos I used are from http://xdesktopwallpapers.com/wp-content/uploads/2012/04/Zooey%20Deschanel%20Sad%20Side%20Face%20Closeup.jpg http://74211.com/wallpaper/picture_big/Anne-Hathaway-HD-Post-in-Pixel-of-1920x1440-in-Smiling-Facial-Expression-and-Messy-Hair-She-is-Impressive-and-Fit-TV-Movies-Post.jpg and http://mag-cosmo-prod-s3.s3.amazonaws.com/legacy/images/beauty/neck.jpg

uricamic commented 9 years ago

Hi @cat3333,

I think the main problem is that those faces have too big inplane rotation (roll angle), which makes them difficult to be detected by a conventional face detector such as OpenCV haarcascade used in the examples.

CLandmark expects detected face box on its input, so you can use any technique you want to improve the results. Here are the examples using a commercial face detector (implementing this paper), which is able to detect faces in a full yaw range and inplane rotation up to 90 degrees:

anne_det neck_det zooey_det

So, to answer your questions:

cat3333 commented 8 years ago

Thank you very much for the detailed solution!!!