# Patent

## Title
Method and system for exacting face features from data of face images

## Abstract

A method and a system for exacting face features from data of face images have been disclosed. The system may comprise: A first feature extraction unit configured to filter the data of face images into a first plurality of channels of feature maps with a first dimension and down-sample the feature maps into a second dimension of feature maps; a second feature extraction unit configured to filter the second dimension of feature maps into a second plurality of channels of feature maps with a second dimension, and to down-sample the second plurality of channels feature maps into a third dimension of feature maps; and a third feature extraction unit configured to filter the third dimension of feature maps so as to further reduce high responses outside the face region such that reduce intra-identity variances of face images, while maintain discrimination between identities of the face images.

## Background
TECHNICAL FIELD
The present application refers to a method and a system for exacting face features from data of face images.
BACKGROUND
In many practical applications, the pose and illumination changes become the bottleneck for face recognition. Many existing works have been proposed to account for such variations. The pose-invariant methods may be generally separated into two categories: 2D-based and 3D-based. In the first category, poses are either handled by 2D image matching or by encoding a test image using some bases or exemplars. For example, in one conventional way, stereo matching is used to compute the similarity between two faces. a test face combination of training images is represented, and then the linear regression coefficients are utilized as features for face recognition. 3D-based methods usually capture 3D face data or estimate 3D models from 2D input, and try to match them to a 2D probe face image. Such methods make it possible to synthesize any view of the probe face, which makes them generally more robust to pose variation.
The illumination-invariant methods typically make assumptions about how illumination affects the face images, and use these assumptions to model and remove the illumination effect. For example, in the art, it has been designed a projector-based system to capture images of each subject in the gallery under a few illuminations, which can be linearly combined to generate images under arbitrary illuminations. With this augmented gallery, they adopted sparse coding to perform face recognition.
The above methods have certain limitations. For example, capturing 3D data requires additional cost and resources. Inferring 3D models from 2D data is an ill-posed problem. As the statistical illumination models are often summarized from controlled environment, they cannot be well generalized in practical applications.
SUMMARY
In one aspect, the present application provides a method for exacting face features from data of face images, comprising:

    
    
        1) filtering the data of face images into a first plurality of channels of feature maps with a first dimension;
        2) computing each of the maps by rule of σ(x)=max(0,x), where x represents feature maps with the first dimension;
        3) down-sampling the computed feature maps into a second dimension of feature map;
        4) filtering the down-sampled maps into a second plurality of channels of feature maps with a second dimension;
        5) computing each of the maps with the second dimension by rule of σ(x)=max(0,x), where x represents the second plurality of channels of feature maps;
        6) down-sampling the computed second plurality of channels feature maps into a third dimension of feature maps;
        7) filtering each map of the third dimension of feature maps so as to reduce high responses outside the face region,
        whereby, intra-identity variances of the face images are reduced and discrimination between identities of the face images are maintained.
    
    


In another aspect, the present application provides a system for exacting face features from data of face images, comprising:

    
    
        a first feature extraction unit configured to filter the data of face images into a first plurality of channels of feature maps with a first dimension and down-sample the feature maps into a second dimension of feature maps;
        a second feature extraction unit configured to filter the second dimension of feature maps into a second plurality of channels of feature maps with a second dimension, and to down-sample the second plurality of channels feature maps into a third dimension of feature maps;
        a third feature extraction unit configured to filter the third dimension of feature maps so as to further reduce high responses outside the face region such that reduce intra-identity variances of face images, while maintain discrimination between identities of the face images.
    
    


In one embodiment, the method may be implemented or carried out by one or more processor in the computer.
In one embodiment, the first feature extraction unit comprises a first matrix of filters, a first non-linear activation unit and a first matrix of down-sampling units. The first matrix of filters are configured to filter the data of face image such that each of the maps has a large number of high responses outside the face region, which mainly capture pose information of the face image, and a plurality of high responses inside the face region, which capture face structures of the face image. The first matrix of down-sampling units is configured to down-sample the feature maps into the second dimension of feature maps. The first non-linear activation unit is configured to non-linearly couple the first matrix of filters and the first matrix of down-sampling units.
In further embodiment, the second feature extraction unit comprises a second matrix of filters 21 are configured to filter each of the maps from the first feature extraction unit so as to reduce high responses outside the face region such that most pose variations are discarded while the face structures of the face image is retained. The second feature extraction unit further comprises: a second non-linear activation unit; and a second matrix of down-sampling units configured to down-sample the feature maps into the second dimension of feature maps, wherein the second non-linear activation unit is configured to non-linearly couple the second matrix of filters and the second matrix of down-sampling units.
In further aspect, the present application provides a computer-readable media for storing the instructions to:

    
    
        1) filter the data of face images into a first plurality of channels of feature maps with a first dimension;
        2) compute each of the maps by rule of σ(x)=max(0,x), where x represents feature maps with the first dimension;
        3) down-sample the computed feature maps into a second dimension of feature map;
        4) filter the down-sampled maps into a second plurality of channels of feature maps with a second dimension;
        5) compute each of the maps with the second dimension by rule of σ(x)=max(0,x), where x represents the second plurality of channels of feature maps;
        6) down-sample the computed second plurality of channels feature maps into a third dimension of feature maps;
        7) filter each map of the third dimension of feature maps so as to reduce high responses outside the face region,
        whereby, intra-identity variances of the face images are reduced and discrimination between identities of the face images are maintained.
    
    





BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 illustrates a flowchart of a process for exacting face features from data of face images
FIG. 2 illustrates an architecture of the system for exacting face features from data of face images in accordance with embodiments of the present application.
FIG. 3 illustrates a block view of the exemplary system for exacting face features from data of face images in accordance with embodiments of the present application.
FIG. 4 illustrates a flow of training the parameters in the weights according to one embodiment of the present application.



DETAILED DESCRIPTION
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When appropriate, the same reference numbers are used throughout the drawings to refer to the same or like parts.
FIG. 1 illustrates a flowchart of a process 100 for exacting face features from data of face images. In the process 100, face images with arbitrary pose and illumination variations of an identity will be utilized as input, and reconstructs a face in the canonical view of the same identity as the target (see FIG. 2). First, input images are encoded through feature extraction layers, which have three locally connected layers and two pooling layers stacked alternately, which will be discussed later. Each layer captures face features at a different scale. The first locally connected layer outputs a first plurality of (for example, 32) feature maps. Each map has a large number of high responses outside the face region, which mainly capture pose information, and some high responses inside the face region, which capture face structures. On the output feature maps of the second locally connected layer, high responses outside the face region have been significantly reduced, which indicates that it discards most pose variations while retain the face structures. The third locally connected layer outputs the FIP features, which is sparse and identity-preserving. The FIP features may be used to recover the face image in the canonical view.
In one embodiment, the process 100 comprises a step of s101, in which the data of face images is filtered into a first plurality of channels of feature maps with a first dimension. And then, each of the maps is computed by σ(x)=max(0,x), where x represents each of second dimension of feature maps. The computed maps is further down-sampled into a second dimension of feature maps. In this step, the data of face images if filtered such that each of the maps has: 1) a large number of high responses outside the face region, which mainly capture pose information of the face images, and 2) a plurality of high responses inside the face region, which capture face structures of the face images.
For example, x0 represents data matrix of a face image under an arbitrary pose and illumination, which has the original dimension, for example 96×96. For purpose of description, the following is based on the original dimension of 96×96. The original dimension of data matrix x0 may be filtered into 32 channels of feature maps.
In one embodiment, x0 is transformed to 32 feature maps/channels through a weight matrix W1 that contains 32 sub-matrices:

W1=[W11;W21; . . . ;W321],∀Wi1εn0,n0,

    
    
        where n0 represents the original dimension of data matrix, i.e. n0=96.
    
    


Each of the sub-matrices is sparse to retain the locally connected structure of the image data. Intuitively, each row of Wi1 in the sub-matrices represents a small filter centered at a pixel of x0, so that all of the elements in this row equal zeros except for the elements belonging to the filter. In particular, the weights of W1 are not shared, the non-zero values of these rows are not the same. Therefore, the weight matrix W1 results in 32 feature maps {xi1}i=132, each of which has n0 dimensions.
Then, a matrix V1, where Vijε{0,1} is used to down-sample each of these feature map to 48×48 features in order to reduce the number of parameters need to be learned and obtain more robust features. Each xi1 of x can be computed as

xi1=V1σ(Wi1x0),  (1)

where σ(x)=max(0,x) is the rectified linear function that is feature-intensity-invariant. So it is robust to shape and illumination variations. x1 can be obtained by concatenating all the xi1ε□48×48 together, obtaining a large feature map in n1=48×48×32 dimensions.
In one embodiment, before step s101, the process 100 may non-linearly activate the data of face images by rule of σ(x)=max(0,x), where x represents each of data of face images. In another embodiment, the face images may be transformed into gray level images before step s101.
In step s102, the computed each map is further filtered into a second plurality of channels of feature maps with a second dimension, and each of the filtered maps is further computed by σ(x)=max(0,x), where x represents each of third dimension of feature maps. And then the maps are further down-sampled into a third dimension of feature maps.
To be specific, each xi1 is filtered to xi2 with 32




  
    
      
        
          sub
          ⁢
          
            -
          
          ⁢
          matrices
          ⁢
          
            
              {
              
                W
                i
                2
              
              }
            
            
              i
              =
              1
            
            32
          
        
        ,
        
          ∀
          
            
              W
              i
              2
            
            ∈
            
              •
              
                
                  48
                  ×
                  48
                
                ,
                
                  48
                  ×
                  48
                
              
            
          
        
        ,
        
          

        
        ⁢
        
          
            x
            i
            2
          
          =
          
            
              ∑
              
                j
                =
                1
              
              32
            
            ⁢
            
              
            
            ⁢
            
              
                V
                2
              
              ⁢
              
                σ
                ⁡
                
                  (
                  
                    
                      W
                      j
                      2
                    
                    ⁢
                    
                      x
                      i
                      1
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




where xi2 is down-sampled using V2 to 24×24 dimensions. Eq.2 means that each small feature map in the first layer is multiplied by 32 sub-matrices and then summed together. Here, each sub-matrix has sparse structure as discussed above. We can reformulate Eq.2 into a matrix form

x2=V2σ(W2x1)  (3)

where W2=[W12′; . . . ; W322′], ∀Wi2′ε□48×48,n1 and x1=[x11; . . . ; x321]ε□n1, respectively. Wi2′ is simply obtained by repeating Wi2 for 32 times. Thus, x2 has n2=24×24×32 dimensions.
In step s103, the process 100 filters the each map of the third dimension of feature maps obtained from step s102 so as to reduce high responses outside the face region, such that intra-identity variances of face images are reduced and the discrimination between identities of the face images are maintained. The obtained face features are also called the face identity-preserving (FIP) features in the disclosures.
In one embodiment, the process 100 is used to weight each of the maps received from step s102 and transform the weighted maps to frontal face images without pose and illumination variations in step s104.
To be specific, x2 is transformed to x3, i.e. the FIP features. x3 is the same size as x2.

x3=σ(W3x2)  (4)

    
    
        Where W3=[W13; . . . ; W323], ∀Wi3ε□24×24,n2 and x2=[x12; . . . ; x322]ε□n2, respectively.
    
    


And then in step s106, the process100 transforms the FIP features x3 to the frontal face image y, through a weight matrix W4ε□n0,n2,

y=σ(W4x3).  (5)

The method for exacting face features from data of face images has been discussed. Hereinafter a system for exacting face features from data of face images referring to FIGS. 2 and 3, wherein FIG. 2 illustrates an architecture of the system 200 for exacting face features from data of face images in accordance with embodiments of the present application, while FIG. 3 illustrates a block view of the exemplary system 200 for exacting face features from data of face images in accordance with embodiments of the present application.
As shown in FIG. 2, the system 200 comprises features extraction layers and the features. As mentioned in the above, face images with arbitrary pose and illumination variations of an identity will be utilized as input for the system 200. The system 200 reconstructs a face in the canonical view of the same identity as the target. First, input images are encoded through feature extraction layers, which have three locally connected layers and two pooling layers stacked alternately. Each layer captures face features at a different scale. The first locally connected layer outputs a first plurality of (for example, 32) feature maps. Each map has a large number of high responses outside the face region, which mainly capture pose information, and some high responses inside the face region, which capture face structures. On the output feature maps of the second locally connected layer, high responses outside the face region have been significantly reduced, which indicates that it discards most pose variations while retain the face structures. The third locally connected layer outputs the FIP features, which is sparse and identity-preserving. The FIP features may be used to recover the face image in the canonical view.
More specifically, as shown in FIG. 3, the system 200 may comprise a first feature extraction unit 10, a second feature extraction unit 20, a third feature extraction unit 30. The first feature extraction unit 10 is configured to filter the data of face images into a first plurality of channels of feature maps with a first dimension and down-sample the feature maps into a second dimension of feature maps. The second feature extraction unit 11 is configured to filter the second dimension of feature maps into a second plurality of channels of feature maps with a second dimension, and to down-sample the second plurality of channels feature maps into a third dimension of feature maps. And the third feature extraction unit 12 is configured to filter the third dimension of feature maps so as to further reduce high responses outside the face region such that reduce intra-identity variances of face images, while maintain discrimination between identities of the face images.
As shown in FIG. 3, the system 200 further comprises a first non-linear activation unit 20 arranged between the first feature extraction unit 10 and the second feature extraction unit 11, and a second non-linear activation unit 21 arranged between the second feature extraction unit 11 and the third feature extraction unit 12. The first and the second non-linear activation units are configured to Non-linearly couple the first, the second and the third feature extraction units, respectfully by rule of σ(x)=max(0,x), where x is the extracted feature maps.
In one embodiment, the first feature extraction unit 10 comprises a first matrix of filters 11, a first non-linear activation unit 12; and a first matrix of down-sampling units 13. The first matrix of filters 11 are configured to filter the data of face image such that each of the maps has a large number of high responses outside the face region, which mainly capture pose information of the face image, and a plurality of high responses inside the face region, which capture face structures of the face image. The first non-linear activation unit 12 is configured to non-linearly couple the first matrix of filters 11 and the first matrix of down-sampling units 13. The first matrix of down-sampling units 13 are configured to down-sample the feature maps into the second dimension of feature maps. The first matrix of filters 11, the first non-linear activation unit 12; and the first matrix of down-sampling units 13 cooperate to proceed with said functions in accordance with the rule of formula (5), as stated in the above.
The second feature extraction unit 20 comprises a second matrix of filters 21, a second non-linear activation unit 22 and a second matrix of down-sampling units 23. The second matrix of filters 21 are configured to filter each of the maps from the first feature extraction unit so as to reduce high responses outside the face region such that most pose variations are discarded while the face structures of the face image is retained. The second matrix of down-sampling units 23 configured to down-sample the feature maps into the second dimension of feature maps. The second non-linear activation unit 22 is configured to non-linearly couple the second matrix of filters 11 and the second matrix of down-sampling units 23. The second matrix of filters 21, the second non-linear activation unit 22 and the second matrix of down-sampling units 23 cooperate to proceed with the above mentioned functions in accordance with the rule of formulas (2)-(4), as stated in the above.
In addition, the system 200 may further comprise a reconstruction unit 40 configured to weigh each of features received from the third feature extraction unit 30, and transform the weighted features to frontal face images without pose and illumination variations by rule of formula (5) as stated in the above.
Furthermore, in one embodiment, the system 200 may further comprises a non-linear pre-activation unit 50 configured to proceed with the data of face images before they are input to the first feature extraction unit. The unit 50 may further configured to transform the image into the grayscale image.
The processes of filtering in the three layers (i.e. steps S101-103, units 10-20) are carried out with a first weight matrix W1, a second weight matrix W2, a third weight matrix W3, respectively, and the transforming is carried out with a fourth weight matrix W4. The present application devises a supervised method based on the least square dictionary learning. In particular, the matrices W1, W2, W3 and W4 are trained by initializing parameters of W1, W2, W3 and W4 based on a least square dictionary learning, and then updating all the parameters by back-propagating the summed squared reconstruction error between the reconstructed image and a ground truth.
FIG. 4 illustrates a flow for initializing parameters of W1, W2, W3 and W4. Given X3={xi3}i=1m are a set of FIP features and Y={yi}i=1m are a set of target images, where m denotes the number of training examples, in first step, providing a fixed matrix O, initializing W1 with X0 and Y by rule of

arg minW1□Y−OW1X0□F2  (6)

where X0={xi0}i=1m is a set of input images, and ∥•∥F is the Frobenius norm.
In the second step, the method provides a fixed matrix P to initialize W2 with W1X0 and Y by rule of

arg minW2□Y−PW2X1□F2  (7)

    
    
        wherein W1 is fixed,
    
    


In the third step, the method provides a fixed matrix Q to initialize W3 with W2W1X0 and Y by rule of

arg minW3□Y−QW3X2□F2.  (8)

In the fourth step, the method initializes W4 with W3W2W1X0 and Y by rule of

arg minW4□Y−W4X3□F2.  (9)

For the updating, the proposed method updates all the weight matrices after the initialization by minimizing the loss function of reconstruction error

E(X0;W)=□Y−Y□F2,  (10)

    
    
        where W={W1, . . . , W4}. X0={xi0}, Y={yi}, and Y={yi} are a set of input images, a set of target images, and a set of reconstructed images, respectively. It updates W using the stochastic gradient descent, in which the update rule of Wi, i=1 . . . 4, in the k-th iteration is
    
    






  
    
      
        
          
            Δ
            
              k
              +
              1
            
          
          =
          
            
              0.9
              ·
              
                Δ
                k
              
            
            -
            
              0.004
              ·
              e
              ·
              
                W
                k
                i
              
            
            -
            
              e
              ·
              
                
                  ∂
                  E
                
                
                  ∂
                  
                    W
                    k
                    i
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        11
        )
      
    
  
  
    
      
        
          
            W
            
              k
              +
              1
            
            i
          
          =
          
            
              Δ
              
                k
                +
                1
              
            
            +
            
              W
              k
              i
            
          
        
        ,
      
    
    
      
        (
        12
        )
      
    
  




where Δ is the momentum variable, ò is the learning rate, and




  
    
      ∂
      E
    
    
      ∂
      
        W
        i
      
    
  
  =
  
    
      
        x
        
          i
          -
          1
        
      
      ⁡
      
        (
        
          e
          i
        
        )
      
    
    T
  




is the derivative, which is computed as the outer product of the back-propagation error e′ and the feature of the previous layer xi−1. In our deep network, there are three different expressions of ei. First, for the transformation layer, e4 is computed based on the derivative of the linear rectified function





  
    
      
        
          e
          j
          4
        
        =
        
          {
          
            
              
                
                  
                    
                      [
                      
                        
                          y
                          _
                        
                        -
                        y
                      
                      ]
                    
                    j
                  
                  ,
                
              
              
                
                  
                    δ
                    j
                    4
                  
                  >
                  0
                
              
            
            
              
                
                  0
                  ,
                
              
              
                
                  
                    δ
                    j
                    4
                  
                  ≤
                  0
                
              
            
          
        
      
    
    
      
        (
        13
        )
      
    
  




where δj4=[W4x3]j. [•]j denotes the j-th element of a vector.
Similarly, back-propagation error for e3 is computed as




  
    
      
        
          e
          j
          3
        
        =
        
          {
          
            
              
                
                  
                    
                      
                        [
                        
                          
                            W
                            
                              4
                              T
                            
                          
                          ⁢
                          
                            e
                            4
                          
                        
                        ]
                      
                      j
                    
                    ,
                  
                
                
                  
                    
                      δ
                      j
                      3
                    
                    >
                    0
                  
                
              
              
                
                  
                    0
                    ,
                  
                
                
                  
                    
                      δ
                      j
                      3
                    
                    ≤
                    0
                  
                
              
            
            ,
          
        
      
    
    
      
        (
        14
        )
      
    
  




where δj3=[W3x2]j.
In the disclosures, e1 and e2 is computed in the same way as e3 since they both adopt the same activation function. There is a slight difference due to down-sampling. For these two layers, we must up-sample the corresponding back-propagation error e so that it has the same dimensions as the input feature. The present application needs to enforce the weight matrices to have locally connected structures after each gradient step. To do this, it sets the corresponding matrix elements to zeros, if they supposed to be no connections.
The embodiments of the present invention may be implemented using certain hardware, software, or a combination thereof. In addition, the embodiments of the present invention may be adapted to a computer program product embodied on one or more computer readable storage media (comprising but not limited to disk storage, CD-ROM, optical memory and the like) containing computer program codes. For example, the above mentioned method may be implemented by one or more processor to carry out the instructions stored in a computer-readable media.
In the foregoing descriptions, various aspects, steps, or components are grouped together in a single embodiment for purposes of illustrations. The disclosure is not to be interpreted as requiring all of the disclosed variations for the claimed subject matter. The following claims are incorporated into this Description of the Exemplary Embodiments, with each claim standing on its own as a separate embodiment of the disclosure.
Moreover, it will be apparent to those skilled in the art from consideration of the specification and practice of the present disclosure that various modifications and variations can be made to the disclosed systems and methods without departing from the scope of the disclosure, as claimed. Thus, it is intended that the specification and examples be considered as exemplary only, with a true scope of the present disclosure being indicated by the following claims and their equivalents.

## Claims

1. A method for exacting face features from data of face images, comprising:
1) filtering the data of face images into a first plurality of channels of feature maps with a first dimension;
2) computing each of the maps by rule of σ(x)=max(0,x), where x represents feature maps with the first dimension;
3) down-sampling the computed feature maps into a second dimension of feature map;
4) filtering the down-sampled maps into a second plurality of channels of feature maps with a second dimension;
5) computing each of the maps with the second dimension by rule of σ(x)=max(0, x), where x represents the second plurality of channels of feature maps;
6) down-sampling the computed second plurality of channels feature maps into a third dimension of feature maps; and
7) filtering each map of the third dimension of feature maps so as to reduce high responses outside a face region of each face image,
whereby, intra-identity variances of the face images are reduced and discrimination between identities of the face images are maintained.

2. A method according to claim 1, wherein the step 1) further comprises:
filtering the data of face images such that each of the maps has: a large number of high responses outside the face region, which mainly capture pose information of the face images, and a plurality of high responses inside the face region, which capture face structures of the face images.

3. A method according to claim 2, wherein the step 7) further comprises:
filtering each of the maps received from step 6) so as to reduce high responses outside the face region such that most pose variations are discarded while face structures of the face image are retained.

4. A method according to claim 3, wherein the step 7) further comprises:
weighting each of the maps received from step 6); and
transforming the weighted maps to frontal face images without pose and illumination variations.

5. A method according to claim 4, wherein the filtering in steps 1), 4) and 7) are carried out with a first weight matrix W1,a second weight matrix W2, a third weight matrix W3, respectively, and the transforming is carried out with a fourth weight matrix W4,
wherein the matrices W1, W2, W3 and W4 are trained by:
initializing parameters of W1, W2, W3 and W4 based on a least square dictionary learning, and
updating all the parameters by back-propagating a summed squared reconstruction error between a reconstructed image and a ground truth.

6. A method according to claim 2, wherein the step 7) further comprises:
filtering each of the maps received from step 6) to reduce high responses outside the face region, such that most pose variations are discarded while the face structures of the face image are retained.

7. A method according to claim 1, further comprising before step 1):
transforming the face images into gray level images.

8. A system for exacting face features from data of face images, comprising:
a memory storing one or more program instructions; and
a processor executing the program instructions to,
filter the data of face images into a first plurality of channels of feature maps with a first dimension and down-sample the feature maps into a second dimension of feature maps;
filter the second dimension of feature maps into a second plurality of channels of feature maps with a second dimension, and to down-sample the second plurality of channels feature maps into a third dimension of feature maps;
filter the third dimension of feature maps so as to further reduce high responses outside a face region of each face image so as to reduce intra-identity variances of face images, while maintaining discrimination between identities of the face images.

9. A system according to claim 8, wherein the processor is further configured to filter the data of face image such that each of the maps has a large number of high responses outside the face region, which mainly capture pose information of the face image, and a plurality of high responses inside the face region, which capture face structures of the face image.

10. A system according to claim 9, wherein the processor is further configured to filter each of the maps from the first feature extraction unit to reduce high responses outside the face region, such that most pose variations are discarded while the face structures of the face image is retained.

11. A system according to claim 8, wherein the processor is further configured to weight each of the maps and transform the weighted maps to frontal face images without pose and illumination variations.

12. A system according to claim 8, wherein the processor is further configured to transform the data of face images into grayscale image before they are input to the first feature extraction unit.