人脸关键点定义汇总

前几天看一份代码临时需要找49个人脸关键点位置定义的图片发现怎么百度都搜不到,最后幸好谷歌可以使用了就用谷歌搜到了。所以在这里汇总一下我所知道的人脸关键点的定义和相关的一点东西,以备不时之需。

68个关键点

人脸关键点定义汇总
最常用的工具是Dlib,网址:http://dlib.net/
dlib的68个特征点检测算法是ERT算法【1】
使用dlib检测68个特征点的python示例见:http://dlib.net/face_landmark_detection.py.html

还有个算法【2】我跑过的也是检测68个点的,检测效果好一些,配环境比dlib麻烦一些,
代码:https://github.com/1adrianb/binary-human-pose-estimation

49个关键点

人脸关键点定义汇总
可以用SDM算法IntraFace工具【3】检测,代码的在线的网页已经失效了,需要联系作者[email protected]找他要,作者人很好,我之前找他要过一次,他给了一个matlab版本的,但是后来不知道放在哪里了。

5个关键点

人脸关键点定义汇总
MTCNN算法【4】可以同时检测人脸和5个特征点,代码:https://github.com/kpzhang93/MTCNN_face_detection_alignment

MTCNN做特征点检测用的是AFLW数据集【5】,但是实际上AFLW数据集标注了21个人脸关键点,MTCNN只选用了5个点。实际上从face alignment的角度考虑的话,一般人脸对齐只需要3个特征点的坐标。

21个关键点

人脸关键点定义汇总
AFLW数据集【5】标注了21个关键点。

个人感觉,对于人脸对齐来说其实3个点就够了,如果要用landmark作为辅助信息对人脸进行更细致的分析比如表情检测等,倾向于使用特征点数目更多的定义。

参考文献:
【1】Kazemi V , Sullivan J . One Millisecond Face Alignment with an Ensemble of Regression Trees[C]// 2014 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2014.
【2】Bulat A , Tzimiropoulos G . Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face Alignment with Limited Resources[C]// International Conference on Computer Vision. IEEE Computer Society, 2017.
【3】X. Xiong and F. De la Torre, “Supervised Descent Method and Its Applications to Face Alignment,” 2013 IEEE Conference on Computer Vision and Pattern Recognition, Portland, OR, 2013, pp. 532-539.
doi: 10.1109/CVPR.2013.75
【4】Zhang K , Zhang Z , Li Z , et al. Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks[J]. IEEE Signal Processing Letters, 2016, 23(10):1499-1503.
【5】Köstinger M, Wohlhart P, Roth P M, et al. Annotated Facial Landmarks in the Wild: A large-scale, real-world database for facial landmark localization[C]// IEEE International Conference on Computer Vision Workshops. 2012.