1. Introduction
- 人脸关键点检测器实际应用所需特征: 准确性好,高效,模型轻量级;
- 本文提出具有高精度的轻量级landmark检测模型,在移动设备上能达到实时的性能
2. Method
人脸关键点检测难点
- 局部变化: 现实场景中人脸的表情、光照、以及遮挡情况变化都很大
- 全局变化: 姿态和成像质量影响图像中人脸的表征,人脸全局结构的错误估计直接导致定位不准
- 数据不平衡: 不平衡的数据使得算法模型无法正确表示数据的特征
- 模型的有效性: 由于手机和嵌入式设备计算性能和内存资源的限制,必须要求检测模型的size小且处理速度快;
网络结构
主网络:mobilenet_v2+多尺度全连接网络
辅助网络:在训练时起作用,在测试时不参与,用来计算输入人脸的目标角度(辅助网络的输入为bacbone的第4个block)
Loss
考虑三个欧拉角(yaw,pitch,roll),并将三种全局的变化约束加入到loss中
\[\mathcal{L}:=\frac{1}{M} \sum_{m=1}^{M} \sum_{n=1}^{N} \gamma_{n}\left\|\mathbf{d}_{n}^{m}\right\|\]$M$表示人脸样本数量,$N$表示每张人脸预设的需要检测的特征点数量
$\gamma_n$代表不同类样本的不同权重
因此,综合几何约束和数据不平衡问题,提出新的loss为:
\[\mathcal{L}:=\frac{1}{M} \sum_{m=1}^{M} \sum_{n=1}^{N}\left(\sum_{c=1}^{C} \omega_{n}^{c} \sum_{k=1}^{K}\left(1-\cos \theta_{n}^{k}\right)\right)\left\|\mathbf{d}_{n}^{m}\right\|_{2}^{2}\]$\sum_{c=1}^{C} \omega_{n}^{c} \sum_{k=1}^{K}\left(1-\cos \theta_{n}^{k}\right)$就代表权重$\gamma_n$
$\theta^k_n$代表gt和prediction在yaw、pitch、roll三种角度之间的偏差,角度越大cos值越小,权重越大
$C$表示不同的类别的人脸:正脸、侧脸、抬头、低头、表情以及遮挡情况,$w_n^c$根据样本类别分数进行调整
$d_n^m$由backbone net计算得出,$\theta^k_n$由辅助网络计算得到