Look at Boundary A Boundary-Aware Face Alignment Algorithm

人脸对齐算法

Posted by JY on May 30, 2020

1. Introduction

  • Face Alignment:检测出人脸特定关键点,是许多人脸应用的关键步骤

  • 提出了一种新的边缘感知人脸对齐算法LAB(boundary-aware face alignment),利用边界线(boundary)作为人脸的几何特征,来辅助特征点检测

  • LAB从边界线处获取Landmark坐标,有效消除landmark定义存在的歧义

2. Method

  • 本算法包括:

    • 人脸特征点回归网络(Boundary-aware landmarks regressor),将边界线融合到特征学习中
    • 人脸边界热力图估计网络G(Boundary Heatmap Estimator

    • 在训练阶段加入对抗学习思想,用边界判别器网络D(Boundary Effectiveness Discriminator)提升边界的可靠性

      img

Boundary-aware landmarks regressor

  • 定义$I$为人脸图像,$L$为ground truth,记$S={s_l}^L_{l=1}$,并定义K个子集$S_i\subset S$分别代表属于K个边界的界标

  • 对于每个边界,对$S_i$进行差值以获得密集的边界线。然后通过将边界线上的点设置为1,其他设置为0得到binary boundary map

  • 最后,基于每个$B_i$得到distance map $D_i$,使用具有标准偏差$\sigma$的高斯表达式将distance map转化为真实边界的热烈图$M_i$

\[M_{i}(x, y)=\left\{\begin{array}{ll} \exp \left(-\frac{D_{i}(x, y)^{2}}{2 \sigma^{2}}\right), & \text { if } D_{i}(x, y)<3 \sigma \\ 0, & \text { otherwise } \end{array}\right.\]

img

13条边界线:外轮廓、左眉、右眉、鼻梁、鼻边界、左上眼皮、左下眼皮、右上眼皮、右下眼皮、上嘴唇上边、上嘴唇下边、下嘴唇上边、下嘴唇下边

  • 为了更好利用丰富的边界热力图信息,采用多级边界热力图信息融合机制。对于所用的4级res-18基础网络,每级网络都包括 1次input image fusion和3次feature map fusion

    • Input image fusion

      \[H=I \oplus\left(M_{1} \otimes I\right) \oplus \ldots \oplus\left(M_{T} \otimes I\right)\]

      目的是强化边界的纹理信息,弱化背景和弱纹理区域信息

    • Feature map fusion

      \[H=F \oplus(F \otimes T(M \oplus F))\]

      通过T使点积时通道数相同。

      T结构的设计思想:上下采样平衡,保证特征图大小一致,Skip connections保证多尺度信息,sigmod归一化输出为[0,1],卷积stride为1,保证覆盖到局部区域

      img

Boundary Heatmap Estimator

使用stacked hourglass作为baseline,采用均方差优化边界热力图。当存在严重遮挡时,热力图容易受到噪声和多模式的影响

采用对抗思想和message passing layers来提升边界生成的可靠性

img

message passing layers

Intra-level Message Passing

  • 在每个T网络最后红色的MPL模块,不同边界线之间进行通信

Inter-level Message Passing

  • 在相邻两个T网络间,从低到高的相同边界线通信

img

img

Boundary effectiveness discriminator

边界热力图估计采用MSE(mean squared error)作为loss function,但最小化MSE有时候使得预测看起来模糊不可信。因此采用一个边界有效判别器D(boundary effectiveness discriminator)来区分生成boundary heatmaps的有效性,用于监督生成更有效的边界热力图

\[d_{\text {fake }}(\hat{M}, \hat{S})=\left\{\begin{array}{ll} 0, & \operatorname{Pr}_{s \in \hat{S}}(\operatorname{Dist}(s)<\theta)<\delta \\ 1, & \text { otherwise } \end{array}\right.\]

其中$M$表示生成边界热力图,$S$表示ground truth对应热力图,$Dist$表示ground truth距离矩阵映射,$\theta$表示距离阈值,$\delta$表示概率阈值。

Explain:若某一张边缘图预测出来的对应的关键点在Dist图上的值,即距离边缘的距离响应小于$\theta$的概率小于 $\delta$,就判断生成的质量不佳

GAN训练过程:

Eq.5:

\[\mathcal{L}_{D}=-\left(\mathbb{E}[\log D(M)]+\mathbb{E}\left[\log \left(1-\mid D(G(I))-d_{\mathrm{fake}}\mid\right)\right]\right)\]

Eq.6:

\[\mathcal{L}_{A}=\mathbb{E}[\log (1-D(G(I)))]\]

img

Cross-Dataset Face Alignment

引入边界辅助信息,可以将不同标注协议的face alignment 数据集进行交叉训练

3. Experiment

Dataset

WFLW:该数据集共10000个样本,7500供训练,2500供测试;标签提供了人脸框信息、98个特征点信息、6种属性信息(姿态、表情、光照、化妆、遮挡、模糊)

img

the baseline res-18 network (BL)

the baseline hourglass boundary estimator (“HBL”)

message passing (“MP”)

adversarial learning (“AL”)