Where can I find facial fiducial points haarcascade for use with opencv

风格不统一 提交于 2019-12-13 07:46:18

问题


I am looking for already trained haarcascades of facial fiducial points (left corner of left eye, right corner of left eye, left corner of right eye, right corner of right eye, left corner of mouth, right corner of mouth, left, center and right side of nose).
Does anyone know where can I download an already trained haarcascades to use with OpenCV's VJ function?


回答1:


If I m not so badly mistaken, HaarCascade works with objects not with specific points. There are already classifiers for nose,eye and mouth within opencv data folder. You can detect eyes,nose and mouth with them, than you can find corners of them by using specifically well and wise crafted detection algorithms (use your imagination and mind).

Here an example;

CascadeClassifier cascade;  
cascade.load("haarcascade_eye.xml");

Mat im = imread("photo.jpg",0); //0 flag for grayscale

vector<Rect> eyes;
cascade.detectMultiScale(im, eyes, 1.2, 3);

for (int i = 0; i < eyes.size(); i++)
{
    Rect r = eyes[i];
    rectangle(im, Point(r.x, r.y), Point(r.x + r.width, r.y+r.height),CV_RGB(0,255,0));
}

imshow("im",im);

This example finds the eyes in the loaded image. Finding mouth and nose is also similar. It finds them as rectangle and we draw these rectangles to image. I don't know if these rectangles are enough for you but if you want more specific points, like center of nose; you will need to do more processing.




回答2:


In this Answer I found two links to libraries to find facial feature points based on the opencv:

Here are the two libraries:

  • first Flandmarks
  • second ASM/AAM


来源:https://stackoverflow.com/questions/12257737/where-can-i-find-facial-fiducial-points-haarcascade-for-use-with-opencv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!