Log In Sign Up

Pose-Invariant Face Alignment with a Single CNN

by   Amin Jourabloo, et al.

Face alignment has witnessed substantial progress in the last decade. One of the recent focuses has been aligning a dense 3D face shape to face images with large head poses. The dominant technology used is based on the cascade of regressors, e.g., CNN, which has shown promising results. Nonetheless, the cascade of CNNs suffers from several drawbacks, e.g., lack of end-to-end training, hand-crafted features and slow training speed. To address these issues, we propose a new layer, named visualization layer, that can be integrated into the CNN architecture and enables joint optimization with different loss functions. Extensive evaluation of the proposed method on multiple datasets demonstrates state-of-the-art accuracy, while reducing the training time by more than half compared to the typical cascade of CNNs. In addition, we compare multiple CNN architectures with the visualization layer to further demonstrate the advantage of its utilization.


Improved Face Detection and Alignment using Cascade Deep Convolutional Network

Real-world face detection and alignment demand an advanced discriminativ...

DeCaFA: Deep Convolutional Cascade for Face Alignment In The Wild

Face Alignment is an active computer vision domain, that consists in loc...

3D Dense Face Alignment with Fused Features by Aggregating CNNs and GCNs

In this paper, we propose a novel multi-level aggregation network to reg...

MobileFace: 3D Face Reconstruction with Efficient CNN Regression

Estimation of facial shapes plays a central role for face transfer and a...

An Efficient Multitask Neural Network for Face Alignment, Head Pose Estimation and Face Tracking

While convolutional neural networks (CNNs) have significantly boosted th...

Tree-gated Deep Mixture-of-Experts For Pose-robust Face Alignment

Face alignment consists of aligning a shape model on a face image. It is...

Learning Complexity-Aware Cascades for Deep Pedestrian Detection

The design of complexity-aware cascaded detectors, combining features of...

1 Introduction

Face alignment, also known as face landmark detection, is an essential process for many facial analysis tasks, such as face recognition 


, expression estimation 

[1] and D face reconstruction [20, 30]. During the last decade, face alignment technologies have been substantially improved [9, 32, 10, 41, 8]. One recent advancement in this area is to tackle challenging cases with large face poses, e.g., frontal to profile views with yaw angles [18, 19, 50, 23, 47, 24].

The dominant technology for large-pose face alignment (LPFA) utilizes a cascade of regressors which combines different types of regression designs [23, 49, 50]

with feature extraction methods 

[18]. At each stage of this procedure, the target parameters, e.g., D landmarks or the head pose and

D face shape, are refined by regressing an update of these parameters. Due to the proven power of Convolutional Neural Network (CNN) in vision tasks, it is also adopted as the regressor in this framework and has achieved the state-of-the-art performance on face alignment 

[18, 50, 34, 23].

Figure 1: For the purpose of learning an end-to-end face alignment model, our novel visualization layer reconstructs the D face shape (a) from the estimated parameters inside the CNN and synthesizes a

D image (b) via the surface normal vectors of visible vertexes.

Despite the recent success, the cascade of CNNs, when applied to LPFA, suffers from the following drawbacks.

Lack of end-to-end training: It is a consensus that end-to-end training is desired for CNN [14, 6]. However, one CNN regressor is trained independently at each cascade stage. Sometimes even multiple CNNs are applied independently at each stage. E.g., locations of different landmark sets are estimated by various CNNs and combined by a separate fusing module [33]. Therefore, these CNNs can not be optimized jointly and might lead to a sub-optimal solution.

Hand-crafted feature extraction: Since the CNNs are trained independently, feature extraction is required to utilize the result of previous CNN and provide input to the current CNN. Simple feature extraction methods are used, e.g., extracting patches [45, 33] based on D or D face shapes without considering other factors including pose and expression. Normally, the cascade of CNNs is a collection of shallow CNNs where each one has less than five layers. Hence, this framework can not extract deep features by building upon the extracted features of early-stage CNNs.

Slow training speed: Training a cascade of CNNs is usually time-consuming for two reasons. Firstly, the CNNs are trained sequentially, one after another. Secondly, feature extraction is required between two consecutive CNNs.

To address these issues, as shown in Fig. 1, we introduce a novel layer, named the visualization layer, into a CNN architecture, for the LPFA problem. Our CNN architecture consists of several blocks, which are called visualization blocks. This architecture can be considered as a cascade of shallow CNNs. The new layer visualizes the alignment result of the previous visualization block and utilizes it in the current block. It is designed based on several guidelines. Firstly, it is derived from the surface normals of the underlying D face model and encodes the relative pose between the face and camera. The use of surface normals is partially inspired by the success of adopting surface normals for D face recognition [25]. Secondly, the visualization layer is differentiable, which allows the gradient to be computed analytically, enabling end-to-end training. Lastly, a mask is utilized to differentiate between pixels in the middle and contour parts of a face, and to also make the pixel values of the visualized images similar across various poses.

Benefiting from the design of the visualization layer, our method has the following advantages and contributions:

The proposed method allows a block in the CNN to utilize the extracted features from previous blocks and extract deeper features. Therefore, extraction of hand-crafted features is no longer necessary.

The visualization layer is differentiable, allowing for backpropagation of an error from a later block to an earlier one. To the best of our knowledge, this is the first method for large-pose face alignment, that utilizes only one single CNN and allows end-to-end training.

The proposed method converges faster during the training phase compared to the cascade of CNNs. Therefore, the training time is dramatically reduced.

The source code of the proposed method with the trained model are released at here.

2 Prior Work

This section reviews the relevant prior work in three topics: cascade of regressors for face alignment, convolutional recurrent neural network and visualization in deep learning.

Cascade of Regressors for Face Alignment Cascade of Regressors is a classic approach in not only conventional face alignment [44, 51], but also the large-pose face alignment [17, 13, 39, 49]. To handle large poses, many approaches go beyond D landmarks and also estimate D landmarks and D face shapes [18, 50]. Zhu et al. [49] use a set of local regressors to estimate the D shape update, and fuse their results with another regressor. The occlusion-invariant approach of RCPR [5] is applicable to large poses since self-occlusion is one type of occlusions. An iterative probabilistic method is utilized in [11, 15] for registering D shape to the pre-computed D landmarks. Tulyakov et al. [35] also use a cascade of regressors to estimate D landmark updates directly from a single image. Some even use two regressors at each cascade stage. Wu et al. [39] use one regressor to estimate the D shape update and the other to estimate the visibility of each landmark. Similarly, Liu et al. [23] employ one regressor for D shape update and the other uses the D shape to estimate the D face shape.

Among methods with cascade of regressors, CNN is a popular choice of regressors due to its strong learning ability. These methods typically extract hand-crafted features between consecutive regressors. TCDCN [46] use one CNN to estimate five landmarks, with yaw angles within

. A cascade of stacked autoencoder (SAE) progressively estimates

D landmark updates from extracted patches [45]. Similarly, cascades of CNNs with global or local patches are combined at each stage, and their results are fused via averaging [33, 48]. The methods in [18, 50] combine cascade of CNNs with D feature extraction to estimate the dense D face shape. All aforementioned methods lack the ability to end-to-end train the network, which is our novel contribution to large-pose face alignment.

Convolutional Recurrent Neural Network (CRNN) The face alignment methods based on the CRNNs [34, 40, 37] are the first attempts to combine cascade of regressors with joint optimization, for aligning mostly frontal faces. Their convolutional part extracts features from the whole image [40] or from the patches at the landmark locations [34]. The recurrent part facilitates the joint optimization by sharing information among all regressors. The main differences between the proposed method and CRNNs are: 1) existing CRNN methods are designed for near-frontal face alignment, while ours is for LPFA; 2) the CRNN methods share the same CNN at all stages, while our CNN of each block is different which might be more suitable for estimating the coarse-to-fine mappings during the course of alignment; 3) due to our new differentiable visualization layer, our method has one additional flow of the gradient back-propagation (note the two blue arrows between consectutive blocks in Fig. 2).

Figure 2: The proposed CNN architecture. We use green, orange, and purple to represent the visualization layer, convolutional layer, and fully connected layer, respectively. Please refer to Fig. 3 for the details of the visualization block.

Visualization in Deep Learning Visualization techniques have been used in deep learning to assist in making a relative comparison among the input data and focusing on the region of interest. These methods can be categorized in two groups. The first exploits the deconvolutional and upsampling layers to either expand response maps [28, 22] or represent estimated parameters [43]. Alternatively, various types of feature maps, e.g., heatmaps and Z-Buffering, can represent the current estimation of landmarks and parameters. In [38, 26, 4], D landmark heatmaps represent the landmarks’ locations. [4] proposes a two step large pose alignment based on heatmaps to make more precise estimations. The heatmaps suffer from three drawbacks: 1) lack of the capability to represent objects in details; 2) requirement of one heatmap per landmark due to its weak representation power. 3) they cannot estimate visibility of landmarks. The Z-Buffer rendered using the estimated D face is fed to the CNNs [50] to convey the results of a previous CNN to the next one. However, the Z-Buffer representation is not differentiable, and hence does not allow end-to-end training. In contrast, our visualization layer is differentiable and encodes the face geometry details via surface normals. It guides the CNN to focus on the face area that incorporates both the pose and expression information.

3 Proposed Method

Given a single face image with an arbitrary pose, our goal is to estimate the D landmarks with their visibility labels by fitting a D face model. Towards this end, we propose a CNN architecture with end-to-end training for model fitting, as shown in Fig. 2. In this section, we will first describe the underlying D face model used in this work, followed by our CNN architecture and the visualization layer.

3.1 D and D Face Shapes

We use the D Morphable Model (DMM) for representing the D shape of a face. DMM represents a D face as a linear combination of mean shape , identity bases and expression bases as follows:


We use vector to indicate the D shape parameters, where are the identity parameters and are the expression parameters. We use the Basel D face model [27], which has bases, as our identity bases and the face wearhouse model [7] with bases as our expression bases. Each D face shape consists of a set of D vertexes:


The D face shapes are the projection of D shapes. In this work, we use the weak perspective projection model with degrees of freedoms, i.e., one for scale, three for rotation angles and two for translations, which projects the D face shape onto D images to obtain the D shape U:






Here U collects a set of D landmarks, M is the camera projection matrix, with misuse of notation , and the -dim vector b includes D vertex indexes which are semantically corresponding to D landmarks. We denote and as the first two rows of the scaled rotation component, while and are the translations.

Eqn. 3 establishs the relationship, or equivalency, between D landmarks U and P, i.e., D shape parameters p and the camera projection matrix M. Given that almost all the training images for face alignment have only D labels, i.e., U, we preform a data augmentation step similar to [18] to compute their corresponding P. Given an input image, our goal is to estimate the parameter P, based on which the D landmarks and their visibilities can be naturally derived.

3.2 Proposed CNN Architecture

Our CNN architecture resembles the cascade of CNNs, while each “shallow CNN” is defined as a visualization block. Inside each block, a visualization layer based on the latest parameter estimation serves as a bridge between consecutive blocks. This design enables us to address the drawbacks of typical cascade of regressors in Sec. 1. We now describe the visualization block and CNN architecture, and dive into the details of the visualization layer in Sec. 3.3.

Visualization Block Fig. 3 shows the structure of our visualization block. The visualization layer generates a feature map based on the current estimated, or input, parameter P, and will be described in Sect. 3.3

. Each convolutional layer is followed by a batch normalization (BN) layer and a ReLU layer, it extracts deeper features based on the input features provided by the previous visualization block and visualization layer output. Between the two fully connected layers, the first one is followed by a ReLU layer and a dropout layer, while the second one simultaneously estimates the update of

M and p, . The outputs of the visualization block are deeper features and the new estimation of the parameters, when adding to the input P. As in Fig. 3, basically the top part of the visualization block focuses on learning deeper features, while the bottom part utilizes such features to estimate the parameters in a ResNet-like structure [12]. During the backward pass of the training phase, the visualization block backpropagates the loss through both of its inputs to adjust the convolutional and fully connected layers in the previous blocks. This allows the block to extract better features that are suitable for the next block and improve the overall parameter estimation.

Figure 3: A visualization block consists of a visualization layer, two convolutional layers and two fully connected layers.

CNN Architecture The proposed CNN architecture consists of several connected visualization blocks as shown in Fig. 2. The inputs include the image and an initial estimation of the parameter

; and the output is the final estimation of the parameters. Compared to the typical cascade of CNNs, due to the joint optimization of all visualization blocks with backpropagation of the loss functions, the proposed architecture is able to converge in substantially fewer epochs during training.

Loss Functions Two types of loss functions are employed in our CNN architecture. The first one is an Euclidean loss between the estimation and the target of the parameter update, with each parameter weighted separately:


where is the loss, is the estimation and is the target (or ground truth) at the -th visualization block. The diagonal matrix contains the weights. For each element of the shape parameter p

, its weight is the inverse of the standard deviation that was obtained from the data used in

DMM training. To compensate the relative scale among the parameters of M, we compute the ratio between the average of scaled rotation parameters and average of translation parameters in the training data. We set the weights of the scaled rotation parameters of M to and the weights of the translation of M to . The second type of loss function is the Euclidean loss on the resultant D landmarks:


where is the ground truth D landmarks, and is the input parameter to the -th block, i.e., the output of the -th block. computes D landmark locations using the currently updated parameters via Eqn. 3. For backpropagation of this loss function to the parameter

, we use the chain rule to compute the gradient (see supplemental material for the detailed derivation).

For the first three visualization blocks, the Euclidean loss on the parameter updates (Eqn. 6) is used, while the Euclidean loss on D landmarks (Eqn. 7) is applied to the last three blocks. The first three blocks estimate parameters to align D shape to the face image roughly and the last three blocks leverage the good initialization to estimate the parameters and the D landmark locations more precisely.

3.3 Visualization Layer

Several visualization techniques have been explored for facial analysis. In particular, Z-Buffering, which is widely used in prior works [3, 2], is a simple and fast D representation for the D shape. However, this representation is not differentiable. In contrast, our visualization is based on surface normals of the D face, which describes surface’s orientation in a local neighbourhoods. It has been successfully utilized for different facial analysis tasks, e.g., D face reconstruction [30] and D face recognition [25].

In this work, we use the coordinate of surface normals of each vertex, transformed with the pose. It is an indicator of “frontability” of a vertex, i.e., the amount that the surface normal is pointing towards the camera. This quantity is used to assign an intensity value at its projected D location to construct the visualization image. The frontability measure g, a -dim vector, can be computated as,


where is the cross product, and denotes the norm. The matrix is the surface normal vectors of a D face shape. To avoid the high computational cost of computing the surface normals after each shape update, we approximate as the surface normals of the mean D face. Note that both the face shape and pose are still continuously updated across various visualization blocks, and are used to determine the projected D location. Hence, this approximation would only slightly affect the intensity value. To transform the surface normal based on the pose, we apply the estimation of the scaled rotation matrix ( and ) to the surface normals computed from the mean face. The value is then truncated with the lower bound of (Eqn. 8).

Figure 4: The frontal and side views of the mask a that has positive values in the middle and negative values in the contour area.

The pixel intensity of a visualized image is computed as the weighted average of the frontability measures within a local neighbourhood:


where is the set of indexes of vertexes whose D projected locations are within the local neighborhood of the pixel . is the D projected location of -th D vertex. The weight is the distance metric between the pixel and the projected location ,


a is a -dim mask vector with positive values for vertexes in the middle area of the face and negative values for vertexes around the contour area of the face:


where is the vertex coordinate of the nose tip. a is pre-computed and normalized for zero-mean and unit standard deviation. The mask is utilized to discriminate between the central and boundary areas of the face, as well as to increase similarity across visualization of different faces. A visualization of the mask is provided in Fig. 4.

Since the human face is a D object, visualizing it at an arbitrary view angle requires the estimation of the visibility of each D vertex. To avoid the computationally expensive visibility test via rendering, we adopt two strategies for approximation. Firstly, we prune the vertexes whose frontability measures g equal , i.e., the vertexes pointing against the camera. Secondly, if multiple vertexes projects to a same image pixel, we keep only the one with the smallest depth values. An example is illustrated in Fig. 5.

Backpropagation To allow backpropagation of the loss functions through the visualization layer, we compute the derivative of V with respect to the elements of the parameters M and p. Firstly, we compute the partial derivatives, , and , then the derivatives of and can be computed based on Eqn. 9 (the details are provided in the supplemental material).

Figure 5: The projections of four vertexes fall in the same image pixel. The surface normal vectors (red arrows) of two vertexes have positive coordinates and the other two have negative . Between the two vertexes with positive , the one with the smaller depth (closer to the image plane) is used to fill the pixel.

4 Experimental Results

We evaluate our proposed method on two challenging LPFA datasets, namely AFLW and AFW, both qualitatively and quantitatively, as well as the near-frontal face dataset of W. Further, we conduct experiments on different CNN architectures to validate our visualization layer design.

Implementation details

Our implementation is built upon the Caffe toolbox 

[16]. In all of the experiments, we use six visualization blocks () with two convolutional layers () and fully connected layers in each block (Fig. 3). Details of the network structure are provided in Tab. 1.

Instead of using the sequentially pretrain strategy [42], we perform the joint end-to-end training from scratch. To better estimate the parameter update in each block and to increase the effectiveness of using visualization block, we set the weight of the loss function in the first visualization block to , and linearly increase the weights by one for each block, i.e., the loss weight of the last block is . This strategy helps the CNN to pay more attention to the landmark loss used in later blocks. On the one hand, backpropagation of loss functions in the last blocks has more impact in the first block, and on the other hand the last block can adopt itself more quickly to the changes in the first block.

In the training phase, we set the weight decay to , the momentum to , the initial learning rate to . Besides, we decrease the learning rate to and after and epochs. In total, the training phase is continued for epochs for all experiments.

Block #
Conv. () () () () ()
layers () () () () ()

Table 1: Number and size of convolutional filters in each visualization block. For all blocks, the two fully connected layers have the same length of and .

4.1 Quantitative Evaluations on AFLW and AFW

The AFLW dataset [21] is a very challenging dataset with large-pose face images ( yaw). We use the subset of this dataset released by [18], which includes training images and testing images. All face images in this subset are labeled with landmarks and a bounding box. The AFW dataset [51] contains images with faces. Each face image is labeled with at most landmarks with visibility labels, as well as a bounding box. AFW is used only for testing in our experiments. The bounding boxes in both datasets are used as initilization for our algorithm, as well as the baselines. We crop the face image inside the bounding box and normalize it to . Due to the memory constraint of GPUs, we have a pooling layer in the first visualization block after the first convolutional layer to decrease the size of feature maps to half, and the input to the subsequent visualization blocks is of . To augment the training data, we generate different variations for each training image by adding noise to the location, width and height of the provided bounding boxes.

For quantitative evaluations, we use two conventional metrics. The first one is Mean Average Pixel Error (MAPE) [44], which is the average of the pixel errors for the visible landmarks. The other one is Normalized Mean Error (NME), i.e., the average of the normalized estimation error of visible landmarks. The normalization factor is the square root of the face bounding box size [17], instead of the eye-to-eye distance in the frontal-view face alignment.

We compare our method with several state-of-the-art methods in LPFA. For AFLW, we compare with LPFA [18], PIFA [17] and RCPR [5] with the NME metric. Tab. 2 shows that the proposed method achieved a higher accuracy than the baseline methods. Also, CALE [4], a heatmap-based D face alignment method, reports NME of on the AFLW. We discuss about the advantage of the proposed method over heatmap-based methods in section 2. To demonstrate the capabilities of each visualization block, the NME computed using the estimated after each block is shown in Tab. 3. If a higher alignment speed is desirable, it is possible to skip the last two visualization blocks with a reasonable NME.

On the AFW dataset, the comparisons are conducted with LPFA [18], PIFA [17], CDM [44] and TSPM [51] with the MAPE metric. The evaluations are provided in Tab. 4, which also shows the superiority of the proposed method.

Proposed method LPFA [18] PIFA RCPR
Table 2: NME () of four methods on AFLW dataset.
Block #

Table 3: NME () of the proposed method at each visualization block on AFLW dataset. The initial NME is 25.8.
Proposed method LPFA [18] PIFA CDM TSPM
Table 4: MAPE of five methods on AFW dataset.

Some examples of alignment results of the proposed method on AFLW and AFW datasets are shown in Fig. 9. Three examples of visualization layer output at each visualization block are shown in Fig. 10.

4.2 Evaluation on 300W dataset

While our main goal is LPFA, we further evaluate on the most widely used near frontal W dataset [31]. W containes training and testing images, which are divide into common and challenging sets with and images, respectively. Tab. 5 shows the NME (normalized by the interocular distance) of the proposed and state-of-the-art methods. The most related method to ours is DDFA [50], which also estimates M and p. Our method outperforms it on both common and challenging sets. Other near frontal alignment methods do not employ shape constraints e.g., DMM which is an advantage for them. Because the span of the D shape bases cannot cover all possible locations of landmarks. To comapre with the MDM [34], we compute the failure rate with threshold of . The failure rates of our method are ( for MDM) and ( for MDM) with and landmarks.

Method Common Challenging Full
ESR [8]
RCPR [5]
SDM [41]
LBF [29]
CFSS [50]
RCFA [37]
RAR [40]
3DDFA [50]
Proposed method
Table 5: The NME of different methods on W dataset.

4.3 Analysis of the Visualization Layer

We perform four sets of experiments to study the properties of the visualization layer and network architectures.

Influence of visualization layers To analyze the influence of the visualization layer in the testing phase, we add noise to the fully connected layer parameters of each visualization block, and compute the alignment error on the AFLW test set. The NMEs are [, , , , , ] when each block is modified seperately. This analysis shows that visualized image has more influence on the later blocks, since imprecise parameters of early blocks could be compensated by later blocks. To evaluate the influence of the visualization layer in the training phase, we train the network without any visualization layer. The final NME on AFLW is which shows the importance of visualization layers for guiding the network training.

Advantage of deeper features We train three CNN architectures (Fig. 6) on AFLW. The inputs of the visualization block in the first architecture are the input images I, feature maps F and the visualization image V. The inputs of the second and the third architectures are and , respectively. The NME of each architecture is shown in Tab. 6. While the first one performs the best, the substantial lower performance of the third one demonstrates the importance of deeper features learned across blocks.

At the first convolutional layer of each visualization block, we compute the average of the filter weights, across both the kernel size and number of maps. The averages for three types of input features are shown in Fig. 7. As can be observed, from the first to the sixth block, the weights continue to decrease, making a more precise estimation of small-scale parameter updates. Considering the number of filters in Tab. 1, the total impact of feature maps are higher than the other two inputs in all blocks. This again shows the importance of deeper features in guiding the network to estimate parameters. Furthermore, the average of the visualization filter is higher than that of the input image filter, which validates the stronger influence of the proposed visualization during training.

Figure 6: Architectures of three CNNs with different inputs.
Architecture a Architecture b Architecture c
Table 6: The NME () of three architectures with different inputs (I: Input image, V: Visualization, F: Feature maps).
Input image filters Visualization filters Feature maps filters
Figure 7: The average of filter weights for input image, visualization and feature maps in three architectures of Fig. 6. The -axis and -axis shows the average and the block index, respectively.

Advantage of using masks To show the advantage of using the mask in the visualization layer, we conduct an experiment with different masks. Specifically, we define another mask for comparison, which is shown in Fig. 8. It has five positive areas, i.e., the eyes, nose tip and two lip corners. The values are normalized to zero-mean and unit standard deviation. Compared to the original mask in Fig. 4, this mask is more complicated and conveys more information about the informative facial areas to the network. Moreover, to show the necessity of using the mask, we also test using visualization layers without any mask. The NMEs of the trained networks with different masks are shown in Tab. 7. Comparing the first and third columns shows the advantage of using the mask in the network. The mask makes the pixel value of visualized images to be similar for faces with different poses and discriminate between the middle-area and contour-area of the face. By comparing the first and second columns, we can see that utilizing more complicated mask does not further improve the result, meaning the original mask provides sufficient information for its purpose.

Figure 8: Mask , a different designed mask with five positive areas on the eyes, top of the nose and sides of the lip.

Different numbers of blocks and layers Given the total number of convolutional layers in our network, we can partition them to visualization blocks in various sizes. To compare their performance, we train two additional CNNs, one with visualization blocks and each with convolutional layers; and the other with block and convolutional layers per block, where all three architectures have total convolutional layers. The NME of these architectures are shown in Tab. 8. It shows the same conclusion as in [5] that the number of regressors is important for face alignment and we can potentially achieve a higher accuracy by increasing the number of visualization blocks.

Mask Mask No Mask
Table 7: NME () of utilizing different masks.
, , ,
Table 8: NME () of utilizing different numbers of visualization blocks () and convolutional layers ().

4.4 Time complexity

Compared to the cascade of CNNs, one of the main advantages of end-to-end training a single CNN is the reduced training time. The training of the proposed method needs epochs and takes around days. The state of the art [18], that uses the same train and test sets as ours, trains six CNNs and each needs epochs. The total time of [18] is around days. Similarly, the method in [50] needs around days to train three CNNs each one with epochs, despite using different training data. Compared to [18], the proposed method reduces the training time by more than half. The testing speed of proposed method is FPS on a Titan X GPU. It is much faster than the FPS speed of [18] and is simalar to FPS speed of [40].

Figure 9: Results of alignment on AFLW and AFW datasets, green landmarks show the estimated locations of visible landmarks and red landmarks show estimated locations of invisible landmarks. First row: provided bounding box by AFLW with initial locations of landmarks, Second: estimated D dense shapes, Third: estimated landmarks, Fourth to sixth: estimated landmarks for AFLW, Seventh: estimated landmarks for AFW.
Figure 10: Three examples of outputs of visualization layer at each visualization block. The first row shows that the proposed method recovers the expression of the face gracefully, the third row shows the visualizations of a face with a more challenging pose.

5 Conclusions

We propose a large-pose face alignment method with end-to-end training in a single CNN. We present a differentiable visualization layer, which is integrated to the network and enables joint optimization by backpropagating the error from a later visualization blocks to early ones. It allows the visualization block to utilize the extracted features from previous blocks and extract deeper features, without extracting hand-crafted features. Also, the proposed method converges faster during the training phase compare to the cascade of CNNs. Finally, we demonstrate the superior results of the proposed method over the state-of-the-art methods.


  • [1] V. Bettadapura. Face expression recognition and analysis: the state of the art. arXiv preprint arXiv:1203.6722, 2012.
  • [2] V. Blanz and T. Vetter. A morphable model for the synthesis of 3D faces. In ACM SIGGRAPH, pages 187–194, 1999.
  • [3] V. Blanz and T. Vetter. Face recognition based on fitting a 3D morphable model. IEEE Trans. Pattern Anal. Mach. Intell., 25(9):1063–1074, 2003.
  • [4] A. Bulat and G. Tzimiropoulos. Convolutional aggregation of local evidence for large pose face alignment. In BMVC, 2016.
  • [5] X. P. Burgos-Artizzu, P. Perona, and P. Dollár. Robust face landmark estimation under occlusion. In CVPR, pages 1513–1520, 2013.
  • [6] H. Caesar, J. Uijlings, and V. Ferrari. Region-based semantic segmentation with end-to-end training. In ECCV, pages 381–397, 2016.
  • [7] C. Cao, Y. Weng, S. Zhou, Y. Tong, and K. Zhou. Facewarehouse: A 3D facial expression database for visual computing. IEEE Trans. Vis. Comput. Graphics, 20(3):413–425, 2014.
  • [8] X. Cao, Y. Wei, F. Wen, and J. Sun. Face alignment by explicit shape regression.

    Int. J. Comput. Vision

    , 107(2):177–190, 2014.
  • [9] T. F. Cootes, G. J. Edwards, C. J. Taylor, et al. Active appearance models. IEEE Trans. Pattern Anal. Mach. Intell., 23(6):681–685, 2001.
  • [10] D. Cristinacce and T. F. Cootes. Boosted regression active shape models. In BMVC, volume 1, page 7, 2007.
  • [11] L. Gu and T. Kanade. 3D alignment of face in a single image. In CVPR, volume 1, pages 1305–1312, 2006.
  • [12] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.
  • [13] G.-S. Hsu, K.-H. Chang, and S.-C. Huang. Regressive tree structured model for facial landmark localization. In CVPR, pages 3855–3861, 2015.
  • [14] M. Jaderberg, K. Simonyan, A. Zisserman, et al. Spatial transformer networks. In NIPS, pages 2017–2025, 2015.
  • [15] L. A. Jeni, J. F. Cohn, and T. Kanade. Dense 3D face alignment from 2D videos in real-time. In FG, volume 1, pages 1–8, 2015.
  • [16] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. In ACM MM, pages 675–678, 2014.
  • [17] A. Jourabloo and X. Liu. Pose-invariant 3D face alignment. In CVPR, pages 3694–3702, 2015.
  • [18] A. Jourabloo and X. Liu. Large-pose face alignment via cnn-based dense 3D model fitting. In CVPR, 2016.
  • [19] A. Jourabloo and X. Liu. Pose-invariant face alignment via cnn-based dense 3D model fitting. Int. J. Comput. Vision, pages 1–17, 2017.
  • [20] I. Kemelmacher-Shlizerman and S. M. Seitz. Face reconstruction in the wild. In ICCV, pages 1746–1753, 2011.
  • [21] M. Köstinger, P. Wohlhart, P. M. Roth, and H. Bischof. Annotated facial landmarks in the wild: A large-scale, real-world database for facial landmark localization. In ICCVW, pages 2144–2151, 2011.
  • [22] Y. Li, B. Sun, T. Wu, Y. Wang, and W. Gao. Face detection with end-to-end integration of a convnet and a 3D model. In ECCV, 2016.
  • [23] F. Liu, D. Zeng, Q. Zhao, and X. Liu. Joint face alignment and 3D face reconstruction. In ECCV, pages 545–560, 2016.
  • [24] J. McDonagh and G. Tzimiropoulos. Joint face detection and alignment with a deformable hough transform model. In ECCV, pages 569–580, 2016.
  • [25] H. Mohammadzade and D. Hatzinakos. Iterative closest normal point for 3D face recognition. IEEE Trans. Pattern Anal. Mach. Intell., 35(2):381–397, 2013.
  • [26] A. Newell, K. Yang, and J. Deng. Stacked hourglass networks for human pose estimation. In ECCV, pages 483–499, 2016.
  • [27] P. Paysan, R. Knothe, B. Amberg, S. Romdhani, and T. Vetter. A 3D face model for pose and illumination invariant face recognition. In AVSS, pages 296–301, 2009.
  • [28] X. Peng, R. S. Feris, X. Wang, and D. N. Metaxas. A recurrent encoder-decoder network for sequential face alignment. In ECCV, pages 38–56. Springer, 2016.
  • [29] S. Ren, X. Cao, Y. Wei, and J. Sun. Face alignment at 3000 fps via regressing local binary features. In CVPR, pages 1685–1692, 2014.
  • [30] J. Roth, Y. Tong, and X. Liu. Adaptive 3D face reconstruction from unconstrained photo collections. In CVPR, 2016.
  • [31] C. Sagonas, G. Tzimiropoulos, S. Zafeiriou, and M. Pantic. 300 faces in-the-wild challenge: The first facial landmark localization challenge. In ICCVW, pages 397–403, 2013.
  • [32] J. M. Saragih, S. Lucey, and J. F. Cohn. Face alignment through subspace constrained mean-shifts. In ICCV, pages 1034–1041, 2009.
  • [33] Y. Sun, X. Wang, and X. Tang. Deep convolutional network cascade for facial point detection. In CVPR, pages 3476–3483, 2013.
  • [34] G. Trigeorgis, P. Snape, M. A. Nicolaou, E. Antonakos, and S. Zafeiriou. Mnemonic descent method: A recurrent process applied for end-to-end face alignment. In CVPR, 2016.
  • [35] S. Tulyakov and N. Sebe. Regressing a 3D face shape from a single image. In ICCV, pages 3748–3755, 2015.
  • [36] A. Wagner, J. Wright, A. Ganesh, Z. Zhou, H. Mobahi, and Y. Ma. Toward a practical face recognition system: Robust alignment and illumination by sparse representation. IEEE Trans. Pattern Anal. Mach. Intell., 34(2):372–386, 2012.
  • [37] W. Wang, S. Tulyakov, and N. Sebe. Recurrent convolutional face alignment. In ACCV, 2016.
  • [38] J. Wu, T. Xue, J. J. Lim, Y. Tian, J. B. Tenenbaum, A. Torralba, and W. T. Freeman. Single image 3D interpreter network. In ECCV, 2016.
  • [39] Y. Wu and Q. Ji. Robust facial landmark detection under significant head poses and occlusion. In CVPR, pages 3658–3666, 2015.
  • [40] S. Xiao, J. Feng, J. Xing, H. Lai, S. Yan, and A. Kassim. Robust facial landmark detection via recurrent attentive-refinement networks. In ECCV, pages 57–72, 2016.
  • [41] X. Xiong and F. De la Torre. Supervised descent method and its applications to face alignment. In CVPR, pages 532–539, 2013.
  • [42] Z. Yan, H. Zhang, R. Piramuthu, V. Jagadeesh, D. DeCoste, W. Di, and Y. Yu. Hd-cnn: hierarchical deep convolutional neural networks for large scale visual recognition. In ICCV, pages 2740–2748, 2015.
  • [43] J. Yang, S. E. Reed, M.-H. Yang, and H. Lee. Weakly-supervised disentangling with recurrent transformations for 3D view synthesis. In NIPS, pages 1099–1107, 2015.
  • [44] X. Yu, J. Huang, S. Zhang, W. Yan, and D. N. Metaxas. Pose-free facial landmark fitting via optimized part mixtures and cascaded deformable shape model. In ICCV, pages 1944–1951, 2013.
  • [45] J. Zhang, S. Shan, M. Kan, and X. Chen. Coarse-to-Fine Auto-encoder Networks (cfan) for real-time face alignment. In ECCV, pages 1–16, 2014.
  • [46] Z. Zhang, P. Luo, C. C. Loy, and X. Tang. Facial landmark detection by deep multi-task learning. In ECCV, pages 94–108, 2014.
  • [47] R. Zhao, Y. Wang, C. F. Benitez-Quiroz, Y. Liu, and A. M. Martinez. Fast and precise face alignment and 3D shape reconstruction from a single 2D image. In ECCV, pages 590–603, 2016.
  • [48] E. Zhou, H. Fan, Z. Cao, Y. Jiang, and Q. Yin. Extensive facial landmark localization with coarse-to-fine convolutional network cascade. In ICCVW, pages 386–391, 2013.
  • [49] S. Zhu, C. Li, C. C. Loy, and X. Tang. Unconstrained face alignment via cascaded compositional learning. In CVPR, 2016.
  • [50] X. Zhu, Z. Lei, X. Liu, H. Shi, and S. Z. Li. Face alignment across large poses: A 3D solution. In CVPR, 2016.
  • [51] X. Zhu and D. Ramanan. Face detection, pose estimation, and landmark localization in the wild. In CVPR, pages 2879–2886, 2012.