Face detection and alignment in unconstrained environment are challenging due to various poses, illuminations and occlusions. Recent studies show that deep learning approaches can achieve impressive performance on these two tasks. In this paper, we propose a deep cascaded multi-task framework which exploits the inherent correlation between detection and alignment to boost up their performance.
由于各种姿势,照明和遮挡的可变性,无约束环境中的面部检测和对齐是一个有挑战性的问题。最近的研究表明,深度学习方法可以在这两项任务上取得非常好的性能。在本文中,我们提出了一个深度级联的多任务框架,它利用了检测和对齐之间的内在联系来提高它们的性能。
In particular, our framework leverages a cascaded architecture with three stages of carefully designed deep convolutional networks to predict face and land-mark location in a coarse-to-fine manner. In addition, we propose
a new online hard sample mining strategy that further improves the performance in practice.
特别的是,我们的框架充分利用了一个有三个阶段的级联架构,精心设计了深度卷积网络层,以粗略到精细的方式预测面部和地标位置。此外,我们提出了一种新的在线难分样本挖掘策略,可进一步提高实践中的性能。
Our method achieves superior accuracy over the state-of-the-art techniques on the challenging FDDB and WIDER FACE benchmarks for face detection, and AFLW benchmark for face alignment, while keeps real time performance.
我们的方法在面向人脸检测的FDDB和WIDER FACE基准和面部对齐的AFLW基准都实现了极高的准确性,同时保持实时性能。
Face detection and alignment are essential to many face applications, such as face recognition and facial expression analysis.
However, the large visual variations of faces, such as occlusions, large pose variations and extreme lightings, impose great challenges for these tasks in real world applications.
面部检测和对齐对于许多面部应用是必不可少的,例如面部识别和面部表情分析。然而,面部的大的视觉变化例如遮挡,大的姿势变化和极端的照明,给这些任务的实际应用造成了巨大的挑战。
Viola和Jones [2]提出的级联人脸检测器利用Haar-Like特征和AdaBoost训练级联分类器,实现了具有实时效率的良好性能。然而,相当多的工作[1,3,4]表明,即使使用更先进的特征和分类器,这种探测器在人脸的视觉变化更大的实际应用中的效果也会显著降低。
除了级联结构,[5,6,7]引入了Deformable Part Model可变形零件模型(DPM)进行人脸检测,并取得了显着的性能。然而,它们在计算上是昂贵的并且通常在训练阶段需要昂贵的注释。
最近,卷积神经网络(CNN)在各种计算机视觉任务中取得了显着进步,例如图像分类[9]和人脸识别[10]。受到计算机视觉任务中深度学习方法的重大成功的启发,一些研究利用深度CNN进行人脸检测。
杨等人。 [11]训练深度卷积神经网络进行面部属性识别,以获得面部区域的高响应,进一步产生面部候选窗口。然而,由于其复杂的CNN结构,这种方法在实践中耗时。
李等人。 [19]使用级联CNN进行人脸检测,但它需要从面部检测中进行Bounding Box Caliboration边界框校准,并且需要额外的计算费用,并忽略facial landmarks localization面部标志定位和边界框回归Bounding Box Regression之间的固有相关性。
面部对齐也吸引了广泛的研究兴趣。该领域的研究大致可分为两类,基于回归的方法[12,13,16]和模板拟合方法[14,15,7]。最近,张等人。 [22]提出使用面部属性识别作为辅助任务,它使用深度卷积神经网络来增强面部对齐性能。
However, most of previous face detection and face alignment methods ignore the inherent correlation between these two tasks. Though several existing works attempt to jointly solve them, there are still limitations in these works. For example, Chen et al.[18] jointly conduct alignment and detection with random forest using features of pixel value difference. But, these handcraft features limit its performance a lot. Zhang et al.[20] use multi-task CNN to improve the accuracy of multi-view face detection, but the detection recall is limited by the initial detection window produced by a weak face detector.
然而,大多数先前的面部检测和面部对齐方法忽略了这两个任务之间的固有相关性。虽然现有的一些作品试图联合解决它们,但这些工作仍然存在局限性。例如,陈等人。 [18]利用像素值差异特征,和随机森林,联合解决对齐和检测问题。但是,这些手工艺功能限制了它的性能。张等人。 [20]使用多任务CNN来提高多视图面部检测的准确性,但是检测重新调用受到弱面部检测器产生的初始检测窗口的限制。
另一方面,在训练中采集难分样本对于增强探测器的功率至关重要。然而,传统的难分样本挖掘通常以离线方式执行,这显着增加了手动操作。期望设计一种用于面部检测的在线难分样本挖掘方法,其自动适应当前训练状态。
In this paper, we propose a new framework to integrate these two tasks using unified cascaded CNNs by multi-task learning. The proposed CNNs consist of three stages. In the first stage, it produces candidate windows quickly through a shallow CNN. Then, it refines the windows by rejecting a large number of non-faces windows through a more complex CNN. Finally, it uses a more powerful CNN to refine the result again and output five facial landmarks positions. Thanks to this multi-task learning framework, the performance of the algorithm can be notably improved.
The codes have been released in the project page1.
在本文中,我们提出了一个新的框架,通过多任务学习使用统一的级联CNN来集成这两个任务。提出的CNN包括三个阶段。
由于这个多任务学习框架,算法的性能可以显着提高。代码已在项目页面1中发布。
The major contributions of this paper are summarized as follows:
(1) We propose a new cascaded CNNs based framework for joint face detection and alignment, and carefully design lightweight CNN architecture for real time performance.
(2) We propose an effective method to conduct online hard sample mining to improve the performance.
(3) Extensive experiments are conducted on challenging benchmarks, to show
significant performance improvement of the proposed approach compared to the state-of-the-art techniques in both face detection and face alignment tasks.
本文的主要贡献概括如下:
在本节中,我们将描述我们的面部检测和对齐方法。
The overall pipeline of our approach is shown in Fig. 1. Given an image, we initially resize it to different scales to build an image pyramid, which is the input of the following three-stage cascaded framework:
我们的方法的总体流程如图1所示。给定一个图像,我们最初将其调整到不同的比例以构建图像金字塔,这是以下三级级联框架的输入:
Stage 1
We exploit a fully convolutional network, called Proposal Network (P-Net), to obtain the candidate facial windows and their bounding box regression vectors. Then candidates are calibrated based on the estimated bounding box regression vectors. After that, we employ non-maximum suppression (NMS) to merge highly overlapped candidates.
Stage 2
All candidates are fed to another CNN, called Refine Network (R-Net), which further rejects a large number of false candidates, performs calibration with bounding box regression, and conducts NMS.
Stage 3
This stage is similar to the second stage, but in this stage we aim to identify face regions with more supervision.
In particular, the network will output five facial landmarks’ positions.
在[19]中,已经设计了多个用于面部检测的CNN。但是,我们注意到它的性能可能受到以下事实的限制:
To this end, we reduce the number of filters and change the 5×5 filter to 3×3 filter to reduce the computing while increase the depth to get better performance. With these improvements, compared to the previous architecture in [19], we can get better performance with less runtime (the results in training phase are shown in
Table I. For fair comparison, we use the same training and validation data in each group). Our CNN architectures are shown in Fig. 2. We apply PReLU [30] as nonlinearity activation function after the convolution and fully connection layers (except output layers).
为此,我们减少卷积核的数量并将5×5卷积核更改为3×3卷积核以减少计算,同时增加深度以获得更好的性能。通过这些改进,与[19]中的先前架构相比,我们可以以更少的运行时间获得更好的性能(训练阶段的结果如表I所示。为了公平比较,我们在每个组中使用相同的训练和验证数据)。我们的CNN架构如图2所示。我们在卷积和完全连接层(输出层除外)之后应用PReLU [30]作为非线性激活函数。
We leverage three tasks to train our CNN detectors: face/non-face classification, bounding box regression, and facial landmark localization.
我们利用三项任务来训练我们的CNN探测器:面部/非面部分类,边界框回归和面部地标定位。
Face classification: The learning objective is formulated as a two-class classification problem. For each sample , we use the cross-entropy loss:
面部分类:学习的目标函数被定义为两类分类问题。对于每个样本 x i x_i xi,我们使用交叉熵损失。
L i d e t = − ( y i d e t l o g ( p i ) + ( 1 − y i d e t ) ( 1 − l o g ( p i ) ) ) ( 1 ) L_i^{det} = -(y_i^{det}log(p_i) + (1-y_i^{det})(1-log(p_i))) \ \ (1) Lidet=−(yidetlog(pi)+(1−yidet)(1−log(pi))) (1)
其中 y i d e t ∈ { 0 , 1 } y_i^{det} \in \{0,1\} yidet∈{0,1}是真值标签, p i p_i pi是样本 x i x_i xi是人脸的概率。
边界框回归:对于每个候选窗口,我们预测它与最近的真值标签之间的偏差(即,边界框的左,顶部,高度和宽度)。学习目标被表述为回归问题,我们对每个样本 x i x_i xi使用欧几里德损失。
L i b o x = ∣ ∣ y i ^ b o x − y i b o x ∣ ∣ 2 2 ( 2 ) L_i^{box} = ||\hat{y_i}^{box} - y_i^{box}||_2^{2}\ \ (2) Libox=∣∣yi^box−yibox∣∣22 (2)
其中 y i ^ b o x \hat{y_i}^{box} yi^box是从网络中获得的回归目标, y i b o x y_i^{box} yibox是真值坐标。坐标有4个特征,分别是左上角坐标,高和宽,所以 y i b o x ∈ ℜ y_i^{box} \in \Re yibox∈ℜ。
面部地标定位:
面部标志定位。与边界框回归任务类似,面部标志检测被公式化为回归问题,并且我们将欧几里德损失最小化为
L i l a n d m a r k = ∣ ∣ y i ^ l a n d m a r k − y i l a n d m a r k ∣ ∣ 2 2 ( 3 ) L_{i}^{landmark} = ||\hat{y_i}^{landmark} - {y_i}^{landmark} ||_2^2 \ \ (3) Lilandmark=∣∣yi^landmark−yilandmark∣∣22 (3)
其中, y i ^ l a n d m a r k \hat{y_i}^{landmark} yi^landmark是从网络中获取的面部坐标定位, y i l a n d m a r k {y_i}^{landmark} yilandmark是第 i i i个样本的真值坐标。有五个面部标志,包括左眼,右眼,鼻子,左嘴角,右嘴角,所以 y i l a n d m a r k ∈ ℜ 10 y_i^{landmark} \in \Re^{10} yilandmark∈ℜ10。
多源训练。由于我们在每个CNN中使用不同的任务,因此在学习过程中存在不同类型的训练图像,例如面部,非面部和部分对齐的面部。在这种情况下,不使用一些损失函数(即,等式(1)-(3))。例如,对于背景区域的样本,我们仅计算 L i d e t L_{i}^{det} Lidet,而其他两个损失设置为0。
这可以使用样本类型指示符直接实现。然后整体学习目标可以表述为:
min ∑ i = 1 N ∑ J ∈ { d e t , b o x , l a n d m a r k } α j β i j L i j \min\sum_{i=1}^N\sum_{J \in \{det,box,landmark\}} \alpha_j\beta_i^{j}L_{i}^{j} mini=1∑NJ∈{det,box,landmark}∑αjβijLij
其中, N N N是训练样本的数量, α j \alpha_j αj是任务的重要性程度权重。
在P-Net和R-Net中,我们使用 ( α d e t = 1 , α b o x = 0.5 , α l a n d m a r k = 0.5 ) (\alpha_{det} =1, \alpha_{box}=0.5,\alpha_{landmark}=0.5) (αdet=1,αbox=0.5,αlandmark=0.5)的配置;
在O-Net中,为了更精确的面部标志定位,我们使用 ( α d e t = 1 , α b o x = 0.5 , α l a n d m a r k = 1 ) (\alpha_{det} =1, \alpha_{box}=0.5,\alpha_{landmark}=1) (αdet=1,αbox=0.5,αlandmark=1)的配置。
β i j ∈ { 0 , 1 } \beta_i^{j} \in \{0,1\} βij∈{0,1}是样本类型指示器。
本案例下使用随机梯度下降训练CNNs。
在线难分样本挖掘。与原始分类器训练后进行传统的难分样本挖掘不同,我们在面部/非面部分类任务中进行在线难分样本挖掘,适应训练过程。特别是,在每个小批量中,我们对来自所有样本的前向传播中计算的损失进行排序,并选择其中前70%作为难分样本。然后我们只计算后向传播中这些难分样本的梯度。这意味着我们忽略了在训练期间不太有助于加强探测器的简单样本。实验表明,该策略无需手动选择样本即可获得更好的性能。 其有效性在第III节中得到证明。
在本节中,我们首先评估提出的难分样本挖掘策略的有效性。然后我们将人脸检测器和对齐方法和行业最先进的方法进行比较,方法有(FDDB)[25],WIDER FACE [24]和Annotated Facial Landmarks in the Wild(AFLW)基准[8]。FDDB数据集包含一组2,845个图像中5,171个脸部的注释。WIDER FACE数据集由32,33个图像中的393,703个标记的面部边界框组成,其中50%用于测试(根据图像的难度分为三个子集),40%用于训练,剩余用于验证。AFLW包含24,386个面部的面部标志注释,我们使用与[22]相同的测试子集。最后,我们评估人脸检测器的计算效率。
由于我们联合进行人脸检测和对齐,这里我们在训练过程中使用四种不同的数据注释:
部分面部和负面部分之间存在不明确的差距,不同的面部注释之间存在差异。因此,我们选择0.3到0.4之间的IoU差距。负面和正面用于面部分类任务,正面和部分面用于边界框回归,地标面用于面部标志定位。总训练数据由3:1:1:2组成(非/是/部分面/地标面对)数据。每个网络的训练数据描述如下:
1)P-Net:我们从WIDER FACE [24]中随机裁剪几个补丁来收集是脸孔,非脸孔和部分面部数据集。然后,我们将CelebA [23]的面孔裁剪为具有标志位面孔数据集。
2)R-Net:我们使用框架的第一阶段来检测来自WIDER FACE [24]的面部,以收集是脸孔,不是脸孔和部分面部,同时从CelebA检测到标志位面部[23]。
3)O-Net:与R-Net类似,用于收集数据,但我们使用框架的前两个阶段来检测面部和收集数据。
为了评估提出的在线难分样本挖掘策略的贡献,我们训练两个P-Nets(有和没有在线难分样本挖掘)并比较它们在FDDB上的表现。图3(a)显示了FDDB上两个不同P-Nets的结果。很明显,在线难分样本挖掘有利于提高性能。它可以为FDDB带来约1.5%的整体性能提升。
为了评估联合检测和对齐的贡献,我们在FDDB上评估了两种不同O-Nets(具有相同的P-Net和R-Net)的性能(联合面部标志回归学习和不联合)。我们还比较了这两个O-Nets中边界框回归的性能。图3(b)表明联合地标定位任务学习有助于增强人脸分类和边界框回归任务。
为了评估我们的人脸检测方法的性能,我们将我们的方法与FDDB中的最新方法[1,5,6,11,19,26,27,28,29]及 WIDER FACE中最先进的方法[1,24,11]进行了比较。图4(a)-(d)表明,我们的方法在两个基准测试中始终大大优于所有比较方法。
在这一部分中,我们将我们方法的面部对齐性能与以下方法进行比较:RCPR [12],TSPM [7],Luxand face SDK [17],ESR [13],CDM [15],SDM [21], 和TCDCN [22]。我们使用的平均误差计算估计的标志位与实值的距离,并相对于inter-ocular进行归一化。图5显示我们的方法优于所有最先进的方法。它还表明我们的方法在嘴角定位方面表现出较低的优势。这可能是由于我们的训练数据中表达的小变化,对嘴角位置有显着影响。
鉴于级联结构,我们的方法可以实现联合面部检测和对齐的高速度。我们将我们的方法与GPU上最先进的技术进行比较,结果如表II所示。值得注意的是,我们当前的实现基于未经优化的MATLAB代码。
在本文中,我们提出了一种基于多任务级联CNN的框架,用于联结面部检测和对齐。实验结果表明,我们的方法在几个具有挑战性的基准测试中始终优于最先进的方法(包括用于人脸检测的FDDB和WIDER FACE基准测试,以及用于面部对齐的AFLW基准测试),同时实现了具有20x20的640x480 VGA图像的实时性能最小脸型。性能改进的三个主要贡献是精心设计的级联CNN架构,在线难分样本挖掘策略和联合面部对齐学习。
Experimental results demonstrated that our methods consistently outperform the state-of-the-art methods across several challenging benchmarks (including FDDB and WIDER FACE
benchmarks for face detection, and AFLW benchmark for face alignment) while achieves real time performance for 640x480
VGA images with 20x20 minimum face size. T