这篇应用是我的同事做的一些工作,感谢@张翼翔
一、人脸关键点检测的目标
人脸关键点检测目标就是自动定位人脸关键区域,之后对人脸进行对齐校正,本质属于人脸识别前的预处理过程
二、人脸关键点检测的应用
- 美颜/美妆
- 换脸
- 表情识别
三、落地方案
3.1 reference
PFLD:A Practical Facial Landmark Detector
3.2 关键点面临的挑战
- 遮挡,姿态
- 分辨率,亮度
- 表情变化
- 精度与模型大小
- 数据不平衡
PFLD是一个多任务的模型同时解决了角度检测和关键点定位,在实际测试中角度回归的准确度也很准确
3.3 pipeline
3.4 改进措施
a. 模型层面
b. 数据层面
融合多个数据集WLFW、LAPA、300W,其中包含许多大角度的侧脸,闭眼,遮挡等情况,同时使用bounding-box随机扰动,随机旋转,随机水平翻转,随机亮度做数据增强
c. loss
关键点损失:WingLoss
姿态损失:smoothL1
L=关键点损失+姿态损失
3.5 结果对比
四、评价指标
-
评价指标一:ION
e i = ∣ ∣ x i − x i ∗ ∣ ∣ 2 d e_i= {||x_i-x^*_i||_2\over d} ei=d∣∣xi−xi∗∣∣2
d = 两 个 外 眼 角 的 距 离 d=两个外眼角的距离 d=两个外眼角的距离 -
评价指标二:NME
e i = ∑ i = 1 N ∣ ∣ x i − x i ∗ ∣ ∣ 2 N ∗ d e_i={\sum^N_{i=1}||x_i-x_i^*||_2 \over N*d} ei=N∗d∑i=1N∣∣xi−xi∗∣∣2
N ∗ d = 两 个 瞳 孔 的 距 离 ∗ 关 键 点 数 N*d=两个瞳孔的距离*关键点数 N∗d=两个瞳孔的距离∗关键点数