# A Lightweight Face Verification Based on Adaptive Cascade Network and Triplet Loss Function

Authors: Jianhong Lin; Chaoyang Ye; Weinan Liu; Siqi Ren; Ye Wang; Wenrui Ma; Bin Xu; Yifan Ding
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

In the past few years, with the continuous breakthrough of technology in various fields, artificial intelligence has been considered as a revolutionary technology. One of the most important and useful applications of artificial intelligence is face detection. The outbreak of COVID-19 has promoted the development of the noncontact identity authentication system. Face detection is also one of the key techniques in this kind of authentication system. However, the current real-time face detection is computationally expensive which hinders the application of face recognition. To address this issue, we propose a face verification framework based on adaptive cascade network and triplet loss. The framework is simple in network architecture and has light-weighted parameters. The training network is made of three stages with an adaptive cascade network and utilizes a novel image pyramid based on scales with different sizes. We train the face verification model and complete the verification within 0.15 second for processing one image which shows the computation efficiency of our proposed framework. In addition, the experimental results also show the competitive accuracy of our proposed framework which is around 98.6%. Using dynamic semihard triplet strategy for training, our network achieves a classification accuracy of 99.2% on the dataset of Labeled Faces in the Wild.


---

## Body

## 1. Introduction

Artificial intelligence is one of the hottest topics in computer science which studies theories and methods used to make machine as intelligent as human beings. With the continuous breakthrough of technology in various fields, artificial intelligence has been considered as a new revolutionary technology to make progress in scientific, technological, and industrial revolution. Driven by a large amount of data, better artificial intelligence algorithms, and more powerful computing equipment, a variety of artificial intelligence applications have been used in both industries and people’s daily life. Artificial intelligence industry refers to an industry that provides intelligent products and technical services to the society based on artificial intelligence technology. It has derived various new intelligent applications through enabling manufacturing, agriculture, medical, and other industries, such as subtopic detection [1], intelligent agriculture [2], and smart grid [3]. These applications have become a new engine to promote high-quality economic and social development.With the continuous development of mobile phone applications, digital image processing and recognition have attracted more and more attention. Before the development of artificial intelligence technology, image recognition was mainly based on statistical decision-making and template matching. These traditional image recognition methods have their own limitations, and in the process of image recognition, it is necessary to manually preprocess the image and extract relevant features. If the image to be recognized has large deformity or strong noise interference, the traditional recognition methods cannot get the expected results, resulting in poor accuracy of image recognition. With the development of artificial intelligence technology, various deep learning methods have raised image recognition technology to a new level, which has greatly improved both accuracy and real-time efficiency. The deep learning method represented by convolutional neural network, relying on its self-learning ability and computer computing ability, has achieved very good image recognition results in various application fields.Face recognition is an important research field of digital image processing and recognition. Because of its wide application in business and security fields, face recognition becomes more and more important. For example, in the context of national fitness, people have more opportunities to enter the Asian Games venues for exercise. If efficient face recognition machines are configured in these venues, users can quickly get in and out of the sports venues. Face is the biometric information of users, which can be bound with the account to better understand the data of users’ subsequent fitness, so as to further guide users to better carry out national fitness. Another useful scenario for face recognition is mobile payment. Through the face payment functionality of Alipay (the payment application of Alibaba group), users can complete payment conveniently and quickly, all of which benefit from efficient and safe face recognition algorithm. Another technique popularizes the application of face recognition is Internet of Things (IoT). IoT is one of the important application areas of 5G and future wireless communication systems. Backscatter communication can realize the low power consumption information transmission of IoT. Face recognition is an important application of IoT. The lightweight face recognition framework can be widely used in low-power devices to enrich the application scenarios of IoT. The lightweight face recognition framework combined with backscatter communication can in turn better popularize IoT. Face recognition detection and verification usually go through within two stages. One is to detect face, including face detection and face alignment, which has important practical value and significance, and has made a lot of research results [4]. The second stage is face classification. There are still many problems and challenges in this stage of research. For example, (1) face has strong variability. In different environments, the skin color of face will change due to the influence of environment. The first challenge requires face detection approach to be applicable in different scenarios; (2) the variability of face position is due to the fact that face can exist in any position in picture space or appear in a picture of any size. The second challenge requires face detection approach to check out as many faces as possible in real application. With the continuous progress of deep learning, the research heat of face recognition algorithm is rising again. Compressed convolutional neural network can complete real-time high-quality face detection on mobile platform [5]. Cascade convolutional neural network (CNN), which belongs to deep convolutional neural network (DCNN), can detect face more quickly by relying on lightweight module [6].The main contributions of this paper can be described as following:(1)
A triplet loss function and a neural network are presented, and base on them, a lightweight face detection approach is constructed. An adaptive scale selection mechanism in first stage of the proposed face detection approach is proposed to avoid prohibitive computation which makes the approach efficient(2)
Our proposed approach achieves competitive accuracy on the dataset of Labeled Faces in the Wild (LFW) while keeps real time performance(3)
Our solution has the advantage of being lightweight and can be widely used in IoT scenarios. By incorporating the encrypted face authentication information to improve the identity authentication protocols and achieve the goal of personalized privacy protection, our approach can be applied into security fieldThe organization of this paper is as follows. Section2 presents the related work. Section 3 introduces the building blocks including relevant parameters and cascade CNN. Section 4 introduces the network structure, including model training, training definition, and triple and training method selection. Section 5 shows the experimental results, including the experimental results of self-built database and LFW training set. Section 6 summarizes the paper.


## 2. Related Work

Before the blooming of deep learning, the performance of traditional face recognition task is advanced by handcrafted features or adjusted parameter, such as the famous local binary pattern (LBP) [7] and SIFT [8]. Ahonen et al. presented LBP texture feature-based face representation approach, in which the face features are extracted according to the LBP feature distributions and then concatenated into one single vector. Lowe paper proposed an approach for image feature extraction. The approach transforms image data into scale-invariant coordinates which can be used to extract local features. Therefore, this approach is be distinguished by Scale Invariant Feature Transform (SIFT). However, as these types of traditional methods usually take advantages of shallow network, the accuracy is relatively low. For example, the LBP can only obtain 95.17% in terms of accuracy on LFW.With the development of CNN [9] and ImageNet, the research on face detection is on the rise again. Currently, face detection algorithms usually are based on cascade structure. For example, Mathias et al. addressed the face detection issue and presented an approach which takes advantage of deformable part model (DPM) and enjoy good performance [10]. However, as the approach requires annotations on the training data set, it suffers from large overhead of computation. Sun et al. proposed a new face detection approach which combines faster region-based CNN (RCNN) framework and a variety number of strategies, such as feature concatenation [11]. The approach achieves remarkable performance on Face Detection Data Set (FDDB) benchmark and becomes one of the state of the art approaches in the aspect of receiver operating characteristic curves. Shi et al. pointed out that with a progressive calibration network (PCN), it is easily to distinguish face frames from nonface frames, and based on this novel PCN, they presented a rotation-invariant based face detection approach [12]. Liu et al. proposed an object detection method which discretizes the output space of bounding boxes in the image and rearranges them into a set of default boxes. The approach requires only a single deep neural network (DNN) which is faster and more accurate than the famous You Only Look Once approach [13].In the past few years, the face detection approaches have improved. The previous methods are like the one in [14] while the new approaches take DCNN into consideration. The cascade CNN is among the most used and researched neural network in the area of face detection. To address both the effective and accurate issues in real-world face detection applications which usually have large visual variations and require discriminative detection, Li et al. proposed a cascade CNN-based face detection approach which achieves remarkable detection capability and also enjoy good performance [15]. The approach can detect the background regions at the first fast stage with low resolution and rejects these detected parts. Then, in the second stage, the approach checks high resolution part in the image to select the possible candidates for face detection. Dong and Wu focused on the Gaussian distribution and presented a face alignment approach which is based on Adaptive Cascade Deep Convolutional Neural Networks (ACDCNN) [16]. According to the Gaussian distribution among the image blocks, the approach can dynamically select the most relevant training blocks, taking advantage of an adaptively cascade CNN structure, with which, the approach enjoys high performance in accuracy, low complexity in model structure, and high robustness. To address the task handling with extensive facial landmark localization, traditional convolutional network becomes insufficient. Therefore, Zhou et al. proposed a novel approach with four-level cascade CNN [17]. Each level in the cascade CNN can predict position and rotation angles of specific image blocks and generate a coarse-to-fine detection way. Besides, this approach has the ability to process video streams immediately. To estimate the apparent age, Chen et al. proposed an approach combining a coarse-to-fine strategy and an error correction module [18]. The approach is also based on DCNN, and the used DCNN has the ability to classify the age of a detected face and can obtain a fine-grained age which further will be corrected with the error check module. The approach is relatively complex, but the performance is very good. The classic CNN-based face detection method simply stacks different types of filter layers where shallower filters can effectively check out simple non-ace samples, while deeper filters can distinguish face blocks from nonface blocks which are difficult to detect. Zhou et al. proposed a data routing mechanism that allows different layers to pass different types of samples and introduced a dual-stream context CNN architecture, which adaptively uses body part information to enhance face detection [19]. Based on them, the authors proposed an inside cascaded structure-based face detection approach where there are different classifier layers in the same CNN. The approach achieves good results in the challenging FDDB and WIDER FACE benchmark tests. Aiming at simultaneously handling four types of task, i.e., face detection, landmarks localization, pose estimation and gender recognition, Ranjan et al. presented a DCNN-based approach, i.e., HyperFace [20]. In addition, two variants based on HyperFace were proposed. The former is HyperFace-ResNet which uses the idea of residual network [21] and enjoys high performance. The latter is called Fast-HyperFace with the import of a high speed face detector. Both the two methods achieve competitive scores in the four tasks.Usually, face detection approach needs to operate a large number of images and requires high computation devices, such as GPU cluster [22]. Guo et al. proposed an elaborately designed CNN-based face detection approach, which operates on the complete feature maps and is fast in the detection speed [23]. The authors conducted some experiments which illustrates that the approach works well on popular datasets. To better detect faces in images with nonface inputs and low-quality faces, Yu et al. proposed a novel face detection approach based on uncertainty prediction and the L2-norm of features which can reliably detect face elements from out of distribution samples and enjoys good performance [24]. The detection of small face based on DCNN usually suffers from low performance, and Ke et al. proposed a regional cascade multiscale detection approach to solve this issue [25]. The approach is made of one global face detector and some local face detectors. The product generated by the former detector on the original training set will be delivered into the latter local detectors; with this mechanism, the approach enjoys high performance. As cascade face detectors fail to achieve high accuracy and the performance of anchor-based face detectors highly depends on pretrained dataset, Yu and Tao proposed a face detection framework with efficient anchor cascade [26]. The framework takes advantage of contextual information and enjoys both efficiency and accuracy on face detection task. The experimental result shows it work better than the popular MTCNN [27].In recent face verification algorithms, Hermans et al. compared the effects of triplet with its variant on the results [28]. Florian et al. presented a face detection system which is based on a compact Euclidean space to map face information and compute the face similarity [29]. The system which is called FaceNet utilizes triplets of face patches based on the method in [30] and achieves state-of-the-art face detection performance on the LFW dataset. Deng et al. proposed an Additive Angular Margin Loss (ArcFace) to obtain highly discriminative features, with geometric interpretation, for face recognition [31]. Lu et al. proposed the Deep Coupled ResNet (DCR) model, the backbone network was used to extract robust features that are resolution invariant, and the coupled mapping (CM) loss function was proposed to optimize the model parameters of the two branches, respectively, on high- and low-resolution pictures [32]. Xi et al. proposed an alternating training regimen to achieve less biased classifiers and more discriminative feature representation [33]. Yu et al. used the binarization image denoising method to vanish complexity of locating feature pts, which can accurately extract facial features [34].The application of face verification also attracts the attention of researchers. Lightweight face verification approaches be widely used in IoT scenarios, such as intelligent transportation [35] [36], especially in traffic flow prediction [37], Android applications [38], and AI-supported IoT systems [39]. To improve the identity authentication protocols and achieve the goal of personalized privacy protection, face verification approaches can be applied into security field, such as in browsers [40], social platforms [41], and cloud computing [42] by incorporating the encrypted face authentication information.Liu et al. proposed a novel approach which takes advantage of a modified cascade CNN [43]. The proposed approach is made of three stages when training face dataset. Aiming at achieving fast face detection and higher accuracy, we introduce a triplet loss function in Section 3.1 and novel network architecture in Section 4 which constructs a new face detection approach. Using dynamic semihard triplet strategy for training, our network achieves a classification accuracy of 99.2% on the LFW dataset.


## 3. Building Blocks

In this section, the building blocks are presented, which consists of two parts. The former is related parameters including intersection over union, nonmaximum suppression, classifier, loss function, and triplet loss. The latter presents a three stages cascade CNN and an adaptive scale selection mechanism.


### 3.1. Relevant Parameters

#### 3.1.1. Intersection over Union

Intersection over Union (IoU) is a concept used in target detection which calculates the overlap rate between the “predicted border” and “true border,” i.e., the ratio of their intersection to union. Equation (1) shows the definition of IoU.
(1)IoU=A∩B/A∪B.


#### 3.1.2. Nonmaximum Suppression

The essence of nonmaximum suppression (NMS) is to search for local maximums and suppress nonmaximum elements, and IoU is used to compute NMS. When performing face detection, a window sliding method is generally adopted to generate a lot of candidate frames on the face image, and then these candidate frames are feature extracted and sent to the classifier, usually a cascade CNN. Generally, a score will be calculated on each detected face block or box. As there will be scores on many boxes, all these scores will be sorted, and one box with the highest score will be selected according to the degree of overlap, i.e., IoU, and between other frames and the current frame. In addition, the target box will not be selected if the degree of IoU is greater than a certain threshold. And except for the boxes exceeding the threshold, the high-scoring frame is selected as the detected face.


#### 3.1.3. Classifier and Loss Function

Classifier is a function or model which conducts some mapping operations and put one item into one category. Classifier which can be applied to data prediction application is a general term to define method with classifying functionalities, such as decision trees, logistic regression, and neural network. Loss function is used to evaluate the difference between the predicted value of the classifier and the true value.In this paper, we define two loss functions. The first one is used by the classifier, i.e., our CNN network, while the second one is used to detect face frames.(a)
The first loss function uses confidence map and bounding regression map to conduct the training job, and crossentropy is used as the loss function which is defined as Eq. (2)(2)Hy=‐∑i=1nyi′∗logyi,where yi is the predicted label which is calculated by the neural network, yi′ represents the true value of one image which is labeled in the dataset, and i is the number of elements in the dataset.The reverse derivation ofHy is used to obtain the partial differentiation of the weights of different neural network layers.
(b)
The second loss function is to address the regression issue in the task of frame detection, and we use Euclidean loss function for border regression which calculates the distance between the predicted valueyn∧ and the label value yn. The Euclidean loss function, yn∧, and yn are defined in Eqs. (3)–(5), respectively(3)L=12n∑n=1Nyn∧−yn22,(4)y∧=x1det,y1det,wdet,hdet,(5)y=x1gt,y1gt,wgt,hgt.The elements in the tuple ofx1det,y1det,wdet,hdet in Eq. (4) represent the x and y coordinates and height and width of the predicted face detection box while the elements in the tuple of x1gt,y1gt,wgt,hgt in Eq. (5) represent the x and y coordinates and height and width of the correct box in the face image.


#### 3.1.4. Triplet Loss

In our proposed approach, the output of the cascade neural network will be the input of the triplet loss function, which is an embedding mapping function represented asfx∈Rd. The triplet loss maps an image x into a d-dimensional Euclidean space. In addition, L2-normalization is used to make sure its coordinates locate on a unit hypersphere. Furthermore, to ensure that an image xia of a specific person is more similar to his other image xip than that of any image xin of other people, the following loss function is defined as Eq. (6)
(6)Loss=∑iNfxia−fxip22−fxia−fxin22+α,where fxia−fxip22 is the distance between image xia and image xip in a d-dimensional Euclidean space, denoted by da,p, and similarly, fxia−fxin22 is the distance between image xia and image xin, denoted by da,n. Additionally, the superscript a means anchor, p means positive, and n means negative.


### 3.2. Cascade CNN

The cascade CNN consists of two components, i.e., neural network and adaptive scale selection mechanism. Three types of neural networks are used in our proposed approach. In addition, a selection mechanism is used to decide type of neural networks to apply.


#### 3.2.1. Neural Networks

Figure1 shows the three types of neural network. Figure 1(a) shows structure of 12-net, Figure 1(b) shows structure of 24-net, and Figure 1(c) shows structure of 48-net. Each neural network includes one input with three parameters, i.e., width, height and channel, hidden layers, and one output. The size of network is determined by the input image size. The hidden layers are generated through two types filters, i.e., convolutional filter (Conv) and max-pooling filter (MP), each of which contains different sizes. Note that FC is full connection layer.Figure 1
Neural networks.
(a)
12-net(b)
24-net(c)
48-netThe first stage of the cascade CNN is a 12-net. The output is a feature map with size1×1×32 in 12-net which will further be calculated into two tensors. One is a confidence map with size 1×1×2 which shows whether there exists a face or not in the input image. And the other is whether there exists a face or not in the input image. And the other is the bounding box regression with size 1×1×4 which shows how the window should be adjusted in size and orientation to get a candidate frame if the input image contains a face. An adaptive scale selection mechanism is used in this stage to obtain all the candidate frames, which will be further input into 24-net to get more specified classification results and more accurate bounding boxes.The second stage of the cascade CNN is a 24-net. The output is a feature map with size3×3×64 in 24-net which will further be calculated into two arrays. One is a confidence map with size1×2 which shows whether there exists a face or not in the input image. And the other is whether there exists a face or not in the input image. And the other is the bounding box regression with size 1 × 4 which will be used to restrain the margin of a bounding box for the generated candidate frames. In this stage, if one candidate frame has a confidence score greater than 0.9 and NMS less than 0.7 with other candidate frames, then it will be kept in the candidate frame list which is defined as Ls and will be used in the finally stage.The third stage of the cascade CNN is a 48-net. The output is a feature map with size3×3×128 in 48-net which will further be calculated into two arrays. One is a 1×2 confidence array and a 1×4D bounding info array. In this stage, if one candidate frame has a confidence score greater than 0.95 and NMS less than 0.7 with other candidate frames, then it will be regarded as the final outputs.


#### 3.2.2. Adaptive Scale Selection Mechanism

To detect all the possible faces from a given imageP with the pix size (H×W), usually, image pyramid is used which is made of different scales of the same image P. However, if too many scales are used, the computation overhead becomes insufferable. To solve this issue, in this paper, we propose an adaptive scale selection mechanism. Assume that there exists a scale set defined as S=S1,S2..Sn. With the scale Si, the original image P can be transformed to another imagePi with resolution Hi×Wi, where Hi=H×Si,Wi=W×Si. The new imagePi then becomes the input of the cascade CNN which is described in Section 3.2. After the usage of the cascade CNN on the whole set S, we can obtain a sorted list from high value to low value. Then, we need to make a trade-off between detection speed and detection coverage. Therefore, a most appropriate number N which will be used to select top candidate frames should be decided. We conduct the experiment on the dataset and obtain the following Figure 2.Figure 2
Relation between time consumption and coverage of found face along with the increase of top number.


## 3.1. Relevant Parameters

### 3.1.1. Intersection over Union

Intersection over Union (IoU) is a concept used in target detection which calculates the overlap rate between the “predicted border” and “true border,” i.e., the ratio of their intersection to union. Equation (1) shows the definition of IoU.
(1)IoU=A∩B/A∪B.


### 3.1.2. Nonmaximum Suppression

The essence of nonmaximum suppression (NMS) is to search for local maximums and suppress nonmaximum elements, and IoU is used to compute NMS. When performing face detection, a window sliding method is generally adopted to generate a lot of candidate frames on the face image, and then these candidate frames are feature extracted and sent to the classifier, usually a cascade CNN. Generally, a score will be calculated on each detected face block or box. As there will be scores on many boxes, all these scores will be sorted, and one box with the highest score will be selected according to the degree of overlap, i.e., IoU, and between other frames and the current frame. In addition, the target box will not be selected if the degree of IoU is greater than a certain threshold. And except for the boxes exceeding the threshold, the high-scoring frame is selected as the detected face.


### 3.1.3. Classifier and Loss Function

Classifier is a function or model which conducts some mapping operations and put one item into one category. Classifier which can be applied to data prediction application is a general term to define method with classifying functionalities, such as decision trees, logistic regression, and neural network. Loss function is used to evaluate the difference between the predicted value of the classifier and the true value.In this paper, we define two loss functions. The first one is used by the classifier, i.e., our CNN network, while the second one is used to detect face frames.(a)
The first loss function uses confidence map and bounding regression map to conduct the training job, and crossentropy is used as the loss function which is defined as Eq. (2)(2)Hy=‐∑i=1nyi′∗logyi,where yi is the predicted label which is calculated by the neural network, yi′ represents the true value of one image which is labeled in the dataset, and i is the number of elements in the dataset.The reverse derivation ofHy is used to obtain the partial differentiation of the weights of different neural network layers.
(b)
The second loss function is to address the regression issue in the task of frame detection, and we use Euclidean loss function for border regression which calculates the distance between the predicted valueyn∧ and the label value yn. The Euclidean loss function, yn∧, and yn are defined in Eqs. (3)–(5), respectively(3)L=12n∑n=1Nyn∧−yn22,(4)y∧=x1det,y1det,wdet,hdet,(5)y=x1gt,y1gt,wgt,hgt.The elements in the tuple ofx1det,y1det,wdet,hdet in Eq. (4) represent the x and y coordinates and height and width of the predicted face detection box while the elements in the tuple of x1gt,y1gt,wgt,hgt in Eq. (5) represent the x and y coordinates and height and width of the correct box in the face image.


### 3.1.4. Triplet Loss

In our proposed approach, the output of the cascade neural network will be the input of the triplet loss function, which is an embedding mapping function represented asfx∈Rd. The triplet loss maps an image x into a d-dimensional Euclidean space. In addition, L2-normalization is used to make sure its coordinates locate on a unit hypersphere. Furthermore, to ensure that an image xia of a specific person is more similar to his other image xip than that of any image xin of other people, the following loss function is defined as Eq. (6)
(6)Loss=∑iNfxia−fxip22−fxia−fxin22+α,where fxia−fxip22 is the distance between image xia and image xip in a d-dimensional Euclidean space, denoted by da,p, and similarly, fxia−fxin22 is the distance between image xia and image xin, denoted by da,n. Additionally, the superscript a means anchor, p means positive, and n means negative.


## 3.1.1. Intersection over Union

Intersection over Union (IoU) is a concept used in target detection which calculates the overlap rate between the “predicted border” and “true border,” i.e., the ratio of their intersection to union. Equation (1) shows the definition of IoU.
(1)IoU=A∩B/A∪B.


## 3.1.2. Nonmaximum Suppression

The essence of nonmaximum suppression (NMS) is to search for local maximums and suppress nonmaximum elements, and IoU is used to compute NMS. When performing face detection, a window sliding method is generally adopted to generate a lot of candidate frames on the face image, and then these candidate frames are feature extracted and sent to the classifier, usually a cascade CNN. Generally, a score will be calculated on each detected face block or box. As there will be scores on many boxes, all these scores will be sorted, and one box with the highest score will be selected according to the degree of overlap, i.e., IoU, and between other frames and the current frame. In addition, the target box will not be selected if the degree of IoU is greater than a certain threshold. And except for the boxes exceeding the threshold, the high-scoring frame is selected as the detected face.


## 3.1.3. Classifier and Loss Function

Classifier is a function or model which conducts some mapping operations and put one item into one category. Classifier which can be applied to data prediction application is a general term to define method with classifying functionalities, such as decision trees, logistic regression, and neural network. Loss function is used to evaluate the difference between the predicted value of the classifier and the true value.In this paper, we define two loss functions. The first one is used by the classifier, i.e., our CNN network, while the second one is used to detect face frames.(a)
The first loss function uses confidence map and bounding regression map to conduct the training job, and crossentropy is used as the loss function which is defined as Eq. (2)(2)Hy=‐∑i=1nyi′∗logyi,where yi is the predicted label which is calculated by the neural network, yi′ represents the true value of one image which is labeled in the dataset, and i is the number of elements in the dataset.The reverse derivation ofHy is used to obtain the partial differentiation of the weights of different neural network layers.
(b)
The second loss function is to address the regression issue in the task of frame detection, and we use Euclidean loss function for border regression which calculates the distance between the predicted valueyn∧ and the label value yn. The Euclidean loss function, yn∧, and yn are defined in Eqs. (3)–(5), respectively(3)L=12n∑n=1Nyn∧−yn22,(4)y∧=x1det,y1det,wdet,hdet,(5)y=x1gt,y1gt,wgt,hgt.The elements in the tuple ofx1det,y1det,wdet,hdet in Eq. (4) represent the x and y coordinates and height and width of the predicted face detection box while the elements in the tuple of x1gt,y1gt,wgt,hgt in Eq. (5) represent the x and y coordinates and height and width of the correct box in the face image.


## 3.1.4. Triplet Loss

In our proposed approach, the output of the cascade neural network will be the input of the triplet loss function, which is an embedding mapping function represented asfx∈Rd. The triplet loss maps an image x into a d-dimensional Euclidean space. In addition, L2-normalization is used to make sure its coordinates locate on a unit hypersphere. Furthermore, to ensure that an image xia of a specific person is more similar to his other image xip than that of any image xin of other people, the following loss function is defined as Eq. (6)
(6)Loss=∑iNfxia−fxip22−fxia−fxin22+α,where fxia−fxip22 is the distance between image xia and image xip in a d-dimensional Euclidean space, denoted by da,p, and similarly, fxia−fxin22 is the distance between image xia and image xin, denoted by da,n. Additionally, the superscript a means anchor, p means positive, and n means negative.


## 3.2. Cascade CNN

The cascade CNN consists of two components, i.e., neural network and adaptive scale selection mechanism. Three types of neural networks are used in our proposed approach. In addition, a selection mechanism is used to decide type of neural networks to apply.


### 3.2.1. Neural Networks

Figure1 shows the three types of neural network. Figure 1(a) shows structure of 12-net, Figure 1(b) shows structure of 24-net, and Figure 1(c) shows structure of 48-net. Each neural network includes one input with three parameters, i.e., width, height and channel, hidden layers, and one output. The size of network is determined by the input image size. The hidden layers are generated through two types filters, i.e., convolutional filter (Conv) and max-pooling filter (MP), each of which contains different sizes. Note that FC is full connection layer.Figure 1
Neural networks.
(a)
12-net(b)
24-net(c)
48-netThe first stage of the cascade CNN is a 12-net. The output is a feature map with size1×1×32 in 12-net which will further be calculated into two tensors. One is a confidence map with size 1×1×2 which shows whether there exists a face or not in the input image. And the other is whether there exists a face or not in the input image. And the other is the bounding box regression with size 1×1×4 which shows how the window should be adjusted in size and orientation to get a candidate frame if the input image contains a face. An adaptive scale selection mechanism is used in this stage to obtain all the candidate frames, which will be further input into 24-net to get more specified classification results and more accurate bounding boxes.The second stage of the cascade CNN is a 24-net. The output is a feature map with size3×3×64 in 24-net which will further be calculated into two arrays. One is a confidence map with size1×2 which shows whether there exists a face or not in the input image. And the other is whether there exists a face or not in the input image. And the other is the bounding box regression with size 1 × 4 which will be used to restrain the margin of a bounding box for the generated candidate frames. In this stage, if one candidate frame has a confidence score greater than 0.9 and NMS less than 0.7 with other candidate frames, then it will be kept in the candidate frame list which is defined as Ls and will be used in the finally stage.The third stage of the cascade CNN is a 48-net. The output is a feature map with size3×3×128 in 48-net which will further be calculated into two arrays. One is a 1×2 confidence array and a 1×4D bounding info array. In this stage, if one candidate frame has a confidence score greater than 0.95 and NMS less than 0.7 with other candidate frames, then it will be regarded as the final outputs.


### 3.2.2. Adaptive Scale Selection Mechanism

To detect all the possible faces from a given imageP with the pix size (H×W), usually, image pyramid is used which is made of different scales of the same image P. However, if too many scales are used, the computation overhead becomes insufferable. To solve this issue, in this paper, we propose an adaptive scale selection mechanism. Assume that there exists a scale set defined as S=S1,S2..Sn. With the scale Si, the original image P can be transformed to another imagePi with resolution Hi×Wi, where Hi=H×Si,Wi=W×Si. The new imagePi then becomes the input of the cascade CNN which is described in Section 3.2. After the usage of the cascade CNN on the whole set S, we can obtain a sorted list from high value to low value. Then, we need to make a trade-off between detection speed and detection coverage. Therefore, a most appropriate number N which will be used to select top candidate frames should be decided. We conduct the experiment on the dataset and obtain the following Figure 2.Figure 2
Relation between time consumption and coverage of found face along with the increase of top number.


## 3.2.1. Neural Networks

Figure1 shows the three types of neural network. Figure 1(a) shows structure of 12-net, Figure 1(b) shows structure of 24-net, and Figure 1(c) shows structure of 48-net. Each neural network includes one input with three parameters, i.e., width, height and channel, hidden layers, and one output. The size of network is determined by the input image size. The hidden layers are generated through two types filters, i.e., convolutional filter (Conv) and max-pooling filter (MP), each of which contains different sizes. Note that FC is full connection layer.Figure 1
Neural networks.
(a)
12-net(b)
24-net(c)
48-netThe first stage of the cascade CNN is a 12-net. The output is a feature map with size1×1×32 in 12-net which will further be calculated into two tensors. One is a confidence map with size 1×1×2 which shows whether there exists a face or not in the input image. And the other is whether there exists a face or not in the input image. And the other is the bounding box regression with size 1×1×4 which shows how the window should be adjusted in size and orientation to get a candidate frame if the input image contains a face. An adaptive scale selection mechanism is used in this stage to obtain all the candidate frames, which will be further input into 24-net to get more specified classification results and more accurate bounding boxes.The second stage of the cascade CNN is a 24-net. The output is a feature map with size3×3×64 in 24-net which will further be calculated into two arrays. One is a confidence map with size1×2 which shows whether there exists a face or not in the input image. And the other is whether there exists a face or not in the input image. And the other is the bounding box regression with size 1 × 4 which will be used to restrain the margin of a bounding box for the generated candidate frames. In this stage, if one candidate frame has a confidence score greater than 0.9 and NMS less than 0.7 with other candidate frames, then it will be kept in the candidate frame list which is defined as Ls and will be used in the finally stage.The third stage of the cascade CNN is a 48-net. The output is a feature map with size3×3×128 in 48-net which will further be calculated into two arrays. One is a 1×2 confidence array and a 1×4D bounding info array. In this stage, if one candidate frame has a confidence score greater than 0.95 and NMS less than 0.7 with other candidate frames, then it will be regarded as the final outputs.


## 3.2.2. Adaptive Scale Selection Mechanism

To detect all the possible faces from a given imageP with the pix size (H×W), usually, image pyramid is used which is made of different scales of the same image P. However, if too many scales are used, the computation overhead becomes insufferable. To solve this issue, in this paper, we propose an adaptive scale selection mechanism. Assume that there exists a scale set defined as S=S1,S2..Sn. With the scale Si, the original image P can be transformed to another imagePi with resolution Hi×Wi, where Hi=H×Si,Wi=W×Si. The new imagePi then becomes the input of the cascade CNN which is described in Section 3.2. After the usage of the cascade CNN on the whole set S, we can obtain a sorted list from high value to low value. Then, we need to make a trade-off between detection speed and detection coverage. Therefore, a most appropriate number N which will be used to select top candidate frames should be decided. We conduct the experiment on the dataset and obtain the following Figure 2.Figure 2
Relation between time consumption and coverage of found face along with the increase of top number.


## 4. Network Architecture

In this section, we present the core network architecture which can be seen from Figure3. The network includes a batch input layer and a face detection network based on adaptive cascade network. The adaptive cascade network is made of two parts. One is the three types of networks, i.e., 12-net, 24-net, and 48-net. The other is the scale selection mechanism. Both of them have been presented in Section 3.2. The last softmax layer of face detection network is replaced by a 1024-size fully connected layer (denoted as the triplet loss layer). Then, through L2 normalization, and get the embedding vectors, the triplet loss is calculated based on this feature representation.Figure 3
Network architecture.


### 4.1. Model Training

The introduction of triplet loss is to allow the network to learn an embedding. The network is trained using the squared L2 distances for the purpose to obtain face similarity. The face verification is completed by comparing whether the Euclidean distance of the image vector to be verified is less than a certain threshold or comparing with the known face vector in the library.


### 4.2. Training Definition

Assume that a set of images input during training is in the form of<a,p,n> , where a and p correspond to the same id, n corresponds to different id. The goal is to train the triplet loss layer parameters as Eq. (7).
(7)da,p+α<da,n.During the training process, the learnable parameters of all layers except triplet loss are in a frozen state, which is only used to complete feature conversion.


### 4.3. Triple and Training Method Selection

Since there is no target during the training, we find that there is a great influence of triplet selection of the model convergence and experimental results. Therefore, we introduce the definitions of easy triplet, hard triplet, and semihard triplet. Easy triplet:L=0 is da,p+α<da,n, which means that the distance between anchor and positive is less than the distance between anchor and negative. Hard triplet: da,n<da,p means that the distance between anchor and positive is great than the distance between anchor and negative. Semihard triplet: da,p<da,n<da,p+α means that the distance between anchor and positive is closely to the distance between anchor and negative.The training method is divided into online and offline methods. The goal is to make the loss in formula (5) continue to decrease in the iterative process. The offline training method is to select all the triples in the training set and use the loss to gradient back propagation, but the distance between some anchors and negatives is very large, the calculation efficiency of using the full amount is low, and the embedding parameters cannot converge because the gradients generated by the anchors and negatives are too large; so, use online learning dynamically selects triples to solve the problems of low computational efficiency and nonconvergence of parameters.


## 4.1. Model Training

The introduction of triplet loss is to allow the network to learn an embedding. The network is trained using the squared L2 distances for the purpose to obtain face similarity. The face verification is completed by comparing whether the Euclidean distance of the image vector to be verified is less than a certain threshold or comparing with the known face vector in the library.


## 4.2. Training Definition

Assume that a set of images input during training is in the form of<a,p,n> , where a and p correspond to the same id, n corresponds to different id. The goal is to train the triplet loss layer parameters as Eq. (7).
(7)da,p+α<da,n.During the training process, the learnable parameters of all layers except triplet loss are in a frozen state, which is only used to complete feature conversion.


## 4.3. Triple and Training Method Selection

Since there is no target during the training, we find that there is a great influence of triplet selection of the model convergence and experimental results. Therefore, we introduce the definitions of easy triplet, hard triplet, and semihard triplet. Easy triplet:L=0 is da,p+α<da,n, which means that the distance between anchor and positive is less than the distance between anchor and negative. Hard triplet: da,n<da,p means that the distance between anchor and positive is great than the distance between anchor and negative. Semihard triplet: da,p<da,n<da,p+α means that the distance between anchor and positive is closely to the distance between anchor and negative.The training method is divided into online and offline methods. The goal is to make the loss in formula (5) continue to decrease in the iterative process. The offline training method is to select all the triples in the training set and use the loss to gradient back propagation, but the distance between some anchors and negatives is very large, the calculation efficiency of using the full amount is low, and the embedding parameters cannot converge because the gradients generated by the anchors and negatives are too large; so, use online learning dynamically selects triples to solve the problems of low computational efficiency and nonconvergence of parameters.


## 5. Experiments

In this section, we conduct some experiments on two different face datasets. The images in the first dataset are collected from Internet while the second face dataset is the famous LFW dataset.


### 5.1. Performance on Self-Built Dataset

In this paper, we construct a face dataset, the images in which are all collected from Internet. We collect 12880 images totally, and based on them, 159230 candidate frames are generated. In these 159230 candidate frames, there are 31846 frames with face frames and 127384 nonface frames. The ratio of face boxes to nonface boxes is 1 : 4. In addition, in these 31846 candidate frames, the ratio of training set to test set is 8 : 2. We can see the detail construction of the self-built database from Figure4.Figure 4
The construction of the self-built database.The experiment is conducted in the following platform as Table1:Table 1
Approach comparison in terms of speed and accuracy.
IndexValueCPUCore (TM) i5-7200U 2.50GHzMemory8 GBGraphics cardNVIDIA GeForce 920MXWe conduct the training on the self-built image dataset, the training result shows that classification accuracy of the cascade CNN achieves 99.7%, and the regressionr-square is as high as 0.94. Figure 5 is the experimental result on one image of self-built image dataset with and without the triplet loss function. The green frames are without the triplet loss function, and the blue frames are with triplet loss function. We can see that the blue frames have more face contents.Figure 5
The detection result with and without the triplet loss function.We compare three approaches, the last of which has three variations, on the self-built dataset. We conduct this experiment 50 times and use the average as the final results.Table2 shows the experiments result. We can see from the result that our approach has less time consumption with all the three parameters, and the one with top 1 candidate selected works best, which only need 31 milliseconds. In addition, our approach with top 3 and 5 candidates selected work better than the common cascade network and SIFT. And the approach with top 5 candidates selected achieves a competitive score, 98.6%.Table 2
Approach comparison in terms of time consumption and accuracy.
ModelTime consumption (milliseconds)Accuracy (percentage)Cascade network57893.4%SIFT36595.2%Our approach with top 1 candidate selected3194.5%Our approach with top 3 candidates selected7596.9%Our approach with top 5 candidates selected15298.6%


### 5.2. Performance on LFW

LFW dataset consists of 13233 images and 5749 individuals totally, and each image has the same resolution250×250. Using the LFW dataset to train the embedding layer, we use different strategies of choosing triplets and different values of α to get the experimental results as Table 3. The first method is to select all hard triples to train the parameters in embedding. The second method is to select all semihard triples to train the parameters in embedding. The third method is to calculate all possible anchor-positive combinations at first, then use minibatch as the unit to calculate the distance of da,p in each minibatch, calculate the distance between all anchors and negative as da,n, store them in a list, arrange the values of da,n in the list and select the smallest value, and calculate the distance between da,p and da,n, if and only if da,n<da,p+α; the a,p,n will be counted as a set of training data. When the value is 1.0, the accuracy rate for the hard triplet is 97.3%, the accuracy rate for the semihard triplet is 97.8%, and the accuracy rate for the dynamic semihard triplet is 99.2%.Table 3
Comparison of different triplets andα.
Typesα=0.5α=1.0Hard triplet97.1%97.3%Semihard triplet97.5%97.8%Dynamic semihard triplet99.1%99.2%


## 5.1. Performance on Self-Built Dataset

In this paper, we construct a face dataset, the images in which are all collected from Internet. We collect 12880 images totally, and based on them, 159230 candidate frames are generated. In these 159230 candidate frames, there are 31846 frames with face frames and 127384 nonface frames. The ratio of face boxes to nonface boxes is 1 : 4. In addition, in these 31846 candidate frames, the ratio of training set to test set is 8 : 2. We can see the detail construction of the self-built database from Figure4.Figure 4
The construction of the self-built database.The experiment is conducted in the following platform as Table1:Table 1
Approach comparison in terms of speed and accuracy.
IndexValueCPUCore (TM) i5-7200U 2.50GHzMemory8 GBGraphics cardNVIDIA GeForce 920MXWe conduct the training on the self-built image dataset, the training result shows that classification accuracy of the cascade CNN achieves 99.7%, and the regressionr-square is as high as 0.94. Figure 5 is the experimental result on one image of self-built image dataset with and without the triplet loss function. The green frames are without the triplet loss function, and the blue frames are with triplet loss function. We can see that the blue frames have more face contents.Figure 5
The detection result with and without the triplet loss function.We compare three approaches, the last of which has three variations, on the self-built dataset. We conduct this experiment 50 times and use the average as the final results.Table2 shows the experiments result. We can see from the result that our approach has less time consumption with all the three parameters, and the one with top 1 candidate selected works best, which only need 31 milliseconds. In addition, our approach with top 3 and 5 candidates selected work better than the common cascade network and SIFT. And the approach with top 5 candidates selected achieves a competitive score, 98.6%.Table 2
Approach comparison in terms of time consumption and accuracy.
ModelTime consumption (milliseconds)Accuracy (percentage)Cascade network57893.4%SIFT36595.2%Our approach with top 1 candidate selected3194.5%Our approach with top 3 candidates selected7596.9%Our approach with top 5 candidates selected15298.6%


## 5.2. Performance on LFW

LFW dataset consists of 13233 images and 5749 individuals totally, and each image has the same resolution250×250. Using the LFW dataset to train the embedding layer, we use different strategies of choosing triplets and different values of α to get the experimental results as Table 3. The first method is to select all hard triples to train the parameters in embedding. The second method is to select all semihard triples to train the parameters in embedding. The third method is to calculate all possible anchor-positive combinations at first, then use minibatch as the unit to calculate the distance of da,p in each minibatch, calculate the distance between all anchors and negative as da,n, store them in a list, arrange the values of da,n in the list and select the smallest value, and calculate the distance between da,p and da,n, if and only if da,n<da,p+α; the a,p,n will be counted as a set of training data. When the value is 1.0, the accuracy rate for the hard triplet is 97.3%, the accuracy rate for the semihard triplet is 97.8%, and the accuracy rate for the dynamic semihard triplet is 99.2%.Table 3
Comparison of different triplets andα.
Typesα=0.5α=1.0Hard triplet97.1%97.3%Semihard triplet97.5%97.8%Dynamic semihard triplet99.1%99.2%


## 6. Conclusions

This paper proposes a framework based on adaptive cascade CNN network and triplet loss for face detection and verification with fast speed and high accuracy. The framework firstly calculates the input through an image pyramid at a low resolution and adaptively selects the candidate frames. Secondly, those selected candidate frames are processed by more accurate detection network with high resolution. Finally, triple loss is calculated to conduct precise identification. The framework is very robust against complex backgrounds. We train the face verification model and complete the verification within 0.15 second for processing one image which shows the computation efficiency of our proposed framework. In addition, the experimental results also show that the competitive accuracy of our proposed framework which is around 98.6%. Using dynamic semihard triplet strategy for training, our network achieves a classification accuracy of 99.2% on the Labeled Faces in the Wild dataset.Our future work will consider applying face verification to access control in smart grids and spatial crowdsourcing [44]. In addition, we will consider incorporating the encrypted face authentication information to improve the identity authentication protocols and achieve the goal of personalized privacy protection in face verification applications. At last, the combination of face verification and backscatter communication in IoT is another future research direction; we will consider to popularize the applications of IoT.



---

*Source: 3017149-2022-01-20.xml*