如何在这张照片中使用OpenCv获得嘴角和眼角点以及鼻子中心点?
任何人都可以帮助我吗?
答案 0 :(得分:4)
程序实际上是这样的:
Face recognition --> face landmark --> delaunay triangulation
标题具有误导性。 Delaunay实际上是在获得这些积分后使用的。但是,我怀疑你的问题主要在于如何获得面部标志。为此,您可以参考我的blog post。这是我自己的实现。但是我用中文说我不能指望你理解。
您只需搜索face landmarks
即可获得大量代码。在这几十年中,该主题一直在进行详尽的研究。此外,有关于此的紧密源解决方案,例如Visage Tech的Visage SDK。
答案 1 :(得分:0)
您可以使用Active Appearance Models(AAM)。 This wikipedia page与非商业工具相关联,可以帮助您轻松完成这项工作。
答案 2 :(得分:0)
您可以使用dlib进行面部点检测:
http://dlib.net/face_landmark_detection_ex.cpp.html
还有许多类型的算法用于检测面部点,看看: https://github.com/mrgloom/Face-landmarks-detection-benchmark
答案 3 :(得分:0)
dlib具有一个基于该论文的界标检测器: https://ibug.doc.ic.ac.uk/media/uploads/documents/sagonas_2016_imavis.pdf
在c ++中,代码为:
shape_predictor pose_model;
deserialize("shape_predictor_68_face_landmarks.dat") >> pose_model;
full_object_detection shape = pose_model(cimg,face);
答案 4 :(得分:-1)
使用像Sobel operator这样的边缘检测算法;然后,在边缘上创建点。但是,在它可靠地工作之前,它肯定会有一些工作。我读过关于人脸识别技术的科学论文。