如何获得面部上的点来绘制Delaunay三角剖分

时间:2013-06-03 12:07:05

标签: c++ opencv face-detection triangulation delaunay

如何在这张照片中使用OpenCv获得嘴角和眼角点以及鼻子中心点?

screenshot

任何人都可以帮助我吗?

5 个答案:

答案 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)

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这样的边缘检测算法;然后,在边缘上创建点。但是,在它可靠地工作之前,它肯定会有一些工作。我读过关于人脸识别技术的科学论文。