Acceleration of multi‐task cascaded convolutional networks

IET Image ProcessingVolume 14, Issue 11 p. 2435-2441 Research ArticleFree Access Acceleration of multi-task cascaded convolutional networks Long-Hua Ma, Long-Hua Ma School of Information Science and Engineering, Ningbo Institute of Technology, Zhejiang University, Ningbo, 315100 People's Republic of ChinaSearch for more papers by this authorHang-Yu Fan, Hang-Yu Fan School of Information Science and Engineering, Ningbo Institute of Technology, Zhejiang University, Ningbo, 315100 People's Republic of China School of Aeronautics and Astronautics, Zhejiang University, Hangzhou, 310027 People's Republic of ChinaSearch for more papers by this authorZhe-Ming Lu, Corresponding Author Zhe-Ming Lu zheminglu@zju.edu.cn School of Aeronautics and Astronautics, Zhejiang University, Hangzhou, 310027 People's Republic of ChinaSearch for more papers by this authorDong Tian, Dong Tian School of Aeronautics and Astronautics, Zhejiang University, Hangzhou, 310027 People's Republic of ChinaSearch for more papers by this author Long-Hua Ma, Long-Hua Ma School of Information Science and Engineering, Ningbo Institute of Technology, Zhejiang University, Ningbo, 315100 People's Republic of ChinaSearch for more papers by this authorHang-Yu Fan, Hang-Yu Fan School of Information Science and Engineering, Ningbo Institute of Technology, Zhejiang University, Ningbo, 315100 People's Republic of China School of Aeronautics and Astronautics, Zhejiang University, Hangzhou, 310027 People's Republic of ChinaSearch for more papers by this authorZhe-Ming Lu, Corresponding Author Zhe-Ming Lu zheminglu@zju.edu.cn School of Aeronautics and Astronautics, Zhejiang University, Hangzhou, 310027 People's Republic of ChinaSearch for more papers by this authorDong Tian, Dong Tian School of Aeronautics and Astronautics, Zhejiang University, Hangzhou, 310027 People's Republic of ChinaSearch for more papers by this author First published: 24 July 2020 https://doi.org/10.1049/iet-ipr.2019.0141Citations: 5AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract Multi-task cascaded convolutional neural network (MTCNN) is a human face detection architecture which uses a cascaded structure with three stages (P-Net, R-Net and O-Net). The authors intend to reduce the computation time of the whole process of the MTCNN. They find that the non-maximum suppression (NMS) processes after the P-Net occupy over half of the computation time. Therefore, the authors propose a self-fine-tuning method which makes the control of computation time for the NMS process easier. Self-fine-tuning is a training trick which uses hard samples generated by P-Net to retrain P-Net. After self-fine-tuning, the distribution of human face probabilities generated by P-Net is changed, and the tail of distribution becomes thinner. The control of the number of NMS input boxes can be made easier when the distribution has a thinner tail, and choosing a suitable threshold to filter the face boxes will generate less boxes. So the computation time can be reduced. In order to keep the performance of MTCNN, the authors still propose a landmark data set augmentation, which can enhance the performance of the self-fine-tuned MTCNN. From the experiments, it is found that the proposed scheme can significantly reduce the computation time of MTCNN. 1 Introduction As a special form of artificial neural network, convolutional neural network (CNN) has been widely used in the field of computer vision. The application of CNN about image classification can be traced back to LeNet [1], which can classify handwritten images with the accuracy rate of 99.2%. In the ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2012 [2], AlexNet won the championship, and the accuracy far exceeded the traditional method [3]. Since then, deep learning has swept over the academia, and a large number of excellent CNN architectures such as VGGNet [4], ResNet [5], Xception [6] and DenseNet [7] have been born. Researchers have found that many computer vision problems can be solved by using deep learning techniques with a better performance. With continuous research, deep learning has moved from the laboratory to our daily life. Face detection is a technology which is widely needed in real life. As the cameras are cheap and easy to deploy, the face detection has broad application scenarios. Users can deploy face detection systems in embedded systems, which can be separated from the network environment and more convenient to use. Face detection methods contain traditional methods and deep learning methods. The traditional method usually uses Haar features in the AdaBoost framework [8]. As for the deep learning methods, multi-task cascaded CNN (MTCNN) is widely used in many scenarios [9]. MTCNN is an excellent face detection method proposed by Zhang et al. in 2016 [9]. This method can achieve a true positive rate of 95.3% on FDDB [10]. MTCNN uses a cascaded structure with three stages (P-Net, R-Net and O-Net) to mark the locations of the faces and the positions of the facial landmarks. However, we encountered a real-time problem. We deploy MTCNN on the Raspberry Pi, and it can only process 7–9 frames per second for 640×360 resolution at full speed. Of course, this speed can be used reluctantly, but we want to improve the speed for better experience. There are many papers focusing on the acceleration of CNN, because many networks have more weights or layers. Researchers want to simplify the calculation to save computation resources or make acceleration. Most papers tend to change the network structures or quantise network weights. The former includes MobileNet [11, 12], network weight pruning [13, 14] and channel pruning [15], and the latter contains XNORNet or Binary-Weight-Networks [16] and some others. These technologies are indeed very valuable and instructive. We want to use these technologies to accelerate MTCNN at first. However, the experimental results are not good, and the specific reasons will be discussed in Section 2. We carefully observe the time consumption of each part in MTCNN, and find that the NMS processes after the P-Net occupy a lot of time. NMS is a process which is used to merge the overlapping boxes [17], and the time complexity of this algorithm is , where n is the number of input boxes. Therefore, the number of the input boxes for NMS should be reduced. How to control the number of input boxes and keep the performance well is the biggest problem. Therefore, this paper provides a scheme to improve the speed of MTCNN and keep high true positive rate. 2 Related works MobileNet is a representative network structure proposed by Howard et al. [11] in 2017, which is designed for mobile devices. MobileNet can reduce huge calculation. Theoretically, compared to the normal CNN, it can reduce the computation cost to , where N is the output channel of the convolution layer, and is the width or height of the convolution kernel. Intuitively, less calculation means the less computation time, but the actual situation cannot be simply summarised. Because of the matter of network bandwidth and the convolution calculation implementation, the MobileNet cannot reach the theoretical speed. For example, two CNNs which have approximate calculations, the computation time of shallow CNN is often much faster than that of the deep one, and this example can be shown in Fig. 1, where the number of images in one batch is 128. The architectures of the networks are shown in Table 1. In the existing deep learning frameworks, such as TensorFlow [18] and Caffe [19], the calculation of one convolution layer is often converted to a multiplication of matrixes. Matrix calculations can use parallel computation, it is much easier to understand that the multiplication of two 10×10 matrixes is faster than one thousand multiplications one number by one number, even though they have approximate multiply-add calculations. For two CNNs, even though the theoretical numbers of multiply-add calculations are the same, the deeper CNN will need more computation time. Therefore, we cannot blindly pursue the less computation. If a low-computation network is designed, but the bandwidth of the network is narrow, the forward speed may be slow. By using the idea of MobileNet, the regular convolution layer can be replaced with depth-wise convolution block to reduce the calculations. However, one depth-wise convolution block contains three convolutional layers in series, which is shown in Fig. 2. Thus the overall number of network layers is increased. We use this method on MTCNN, the accelerate effect is not obvious, and the network performance is worse. Fig. 1Open in figure viewerPowerPoint Computation time of one batch images for two networks with approximate number of multiply-add calculations Fig. 2Open in figure viewerPowerPoint Comparison of regular convolution layer and depth-wise convolution block (a) Regular convolution, (b) Depth-wise convolution block (bottleneck with expansion layer) Table 1. Architectures of two networks in Fig. 1 Deep network Shallow network input: [128,24,24,3] input: [128,24,24,3] conv: [3,3,3,64] conv: [3,5,5,64] max pool: [3,3] stride: [2,2] max pool: [3,3] stride: [2,2] conv: [64,3,3,64] conv: [64,5,5,64] conv: [64,3,3,64] max pool: [3,3] stride: [2,2] conv: [64,5,5,64] fully connected layer: [*,384] max pool: [3,3] stride: [2,2] fully connected layer: [384,192] fully connected layer: [*,384] fully connected layer: [192,10] fully connected layer: [384,192] — fully connected layer: [192,10] — * Indicates the input items of the fully connect layer are all output items of the former layer. Han et al. [13] proposed weights pruning in their work. They claim they achieve the goal by removing the small weights in the convolution kernel. If the pruned weights actually do not participate in the convolution calculations, the computation time of the pruned network must be shorter than that of the regular network. In actual programing, the pruned weights are set to 0 but not removed. As mentioned above, the calculation of the convolution layer is multiplication of matrixes. Thus, even though the weight is 0, this weight still will be calculated in the matrix multiplication. As shown in Fig. 3, the forward time consumptions which are generated by the same network architecture with different sparsities are almost with the same value. Here, the number of images in one batch is 128, and the architecture of the network is shown in Table 1. The weights pruning is useful for weights compression. However, weights pruning cannot accelerate the speed of CNN. Fig. 3Open in figure viewerPowerPoint Computation time of one batch images for shallow network with different sparsities Channel pruning can effectively reduce the computation time of CNNs [15]. Channel pruning can effectively accelerate the networks which are very deep or have redundant weights. However, the networks in MTCNN are shallow and narrow. Thus, channel pruning is not suitable for MTCNN, because channel pruning will lead to performance degradation. Rastegari et al. proposed Binary-Weight-Networks and XNOR-Networks in 2016 [16]. These networks use quantised weights. In general, the weights in regular networks are 32-bit float. In Binary-Weight-Networks or XNOR-Networks, the weights become 0 or 1. So, in the convolution operations, the multiply-add calculations become simple addition calculations. Theoretically and actually, Binary-Weight-Networks or XNOR-Networks work very fast. In addition, some companies have deployed these networks on mobile platforms and have achieved good results. The networks with quantised weights can be deployed in some uncritical scenarios, and usage of this method will lead to performance degradation. However, we hope that the network keeps high accuracy and has high speed, so we do not adopt this idea. Our question is how to accelerate MTCNN and keep a high accuracy at the same time. After trying the above methods, we do not get a feasible solution. Reconsidering this question, we focus on the calculation time of the whole process, and do not pay attention to change the network structure anymore. We find that the NMS processes occupy over half of the computation time. The NMS processes after P-Net take the longest time. NMS is the process which merges the overlapping boxes, and it is a mature algorithm proposed by Neubeck and Van in 2006 [17]. The commonly used algorithm is greedy-NMS, and the algorithm complexity is . According to the complexity analysis of this algorithm, the computation time of this algorithm is sensitive to the number of input boxes. If the number of input boxes for NMS is large, the computation time will be significantly increased. As shown in Fig. 4, this is the relationship between the number of input boxes generated by P-Net and the computation time of NMS. It can be clearly seen from the figure that as long as the number of input boxes increases, the computation time increases faster. Fig. 4Open in figure viewerPowerPoint Relationship between the number of input boxes generated by P-Net and the computation time of NMS We need to reduce the time in the NMS process. When choosing a high threshold for P-Net, the potential boxes for NMS are less. Increasing the threshold of P-Net can decrease the number of boxes for NMS. With proper training and weights adjustment, the number of boxes for NMS can be controlled to a reasonable range. We propose a scheme to control the output distribution of the P-Net, therefore the computation time of MTCNN can be controlled more easily. 3 Proposed approach 3.1 Multi-task cascaded convolutional neural network MTCNN is a CNN-based face detection method proposed by Zhang et al. [9]. The structure of MTCNN is shown in Fig. 5. MTCNN consists of three networks, and the first network P-Net is a fully convolutional network [20], and the latter two networks R-Net and O-Net are ordinary CNNs. The size of input images of MTCNN can be any size. Given an image, we often resize it to different scales to build an image pyramid as the inputs of the following three-stage cascaded framework. Fig. 5Open in figure viewerPowerPoint Architecture of MTCNN There are three tasks need to be done to train the networks, which are face classification, bounding box regression and facial landmark localisation. The loss for face classification is the cross-entropy loss, as shown in (1), where pi is the probability of the face generated by network, and is the ground truth label. Bounding box in the image may contain the human face, and the offset between it and the nearest ground truth needs to be reduced in the process of training. The loss for bounding box is the Euclidean loss, as shown in (2), where is the bounding box results obtained from the network and is the nearest ground truth. The dimension of the bounding box is 4, and it contains left top coordinates, height and width. Similarly, facial landmark regression uses the Euclidean loss, as shown in (3), where is the coordinate of the facial landmark obtained from the network and is the ground truth coordinate. In the training process, we use the RMSProp optimiser, the activation function is ReLU, the weights initialiser is Xavier, and L2 weights regularisers are set for every convolutional filters to avoid overfitting. (1) (2) (3)As a fully convolutional network, P-Net can give a probability of human face to any region with size of 12×12 in the input image. Set a threshold , and the regions of which probabilities of human face greater than are the inputs of NMS. After the NMS, the remaining boxes are scaled to the size of 24×24, and these regions are the inputs of the R-Net. R-Net gives the probabilities of human face about these boxes. Set a threshold , and the boxes whose probabilities of human face are greater than are the inputs of NMS. After the NMS process, the remaining boxes are scaled to the size of 48×48, and these boxes are the inputs of the O-Net. Like R-Net, the O-Net gives the probabilities of human face about these boxes. Set a threshold , and the boxes whose probabilities of human face are greater than are the inputs of NMS. After the NMS process, the remaining boxes are the outputs of the MTCNN. For the three networks, there is a training order. The P-Net will be trained at first. Then use the training set as the inputs of the trained P-Net, and the outputs are some areas with potential faces, and use these areas as the training set of the R-Net. Similarly, the training set of the O-Net is generated by the trained cascaded P-Net and R-Net. So, the training of these three nets is not independent. The NMS process is an algorithm proposed by Neubeck and Van in 2006 [17]. This method is widely used in the field of object detection. The NMS in MTCNN merges the boxes with large overlapping regions. The steps of the Greedy-NMS algorithm are as follows: Step 0: set the intersection-over-union (IOU) threshold , the set of input boxes , and the empty set . Step 1: select the box which has the maximum probability value. Remove from , and add to . Step 2: traverse the remaining boxes in and calculate the IOU of every remaining box with . If the IOU is greater than , remove this remaining box from . Step 3: if there are remaining boxes in , go to step 1; otherwise, NMS is finished. The boxes in are the output. The calculation method of IOU is shown in (4) (4)The complexity of NMS is . When the number of input boxes n increases, the computation time will increase significantly. In MTCNN, the number of boxes for NMS is directly affected by two factors: (i) the distribution of human face probabilities of the boxes; (ii) the threshold of probabilities. As shown in Fig. 6, it is the distribution of the human face probabilities of all regions in an image that are generated by regular P-Net, and the region size is 12×12. We want a distribution with a thinner tail, and the regions which contain real faces can get probabilities close to 1. Fig. 6Open in figure viewerPowerPoint Distribution of the human face probabilities of all regions in an image which are generated by regular P-Net, and the region size is 12×12 3.2 Self-fine-tuning Fine-tuning is a common technique which is usually used in transfer learning. In transfer learning, the way to use fine-tuning is loading the pre-trained weights at first then using new training set to train. With pre-trained weights, network weights can quickly converge for the new training set. The fine-tuned weights usually have a good performance on the new training set. In the training process of MTCNN, online-hard-example-mining (OHEM) is an effective training trick to improve network performance [9]. In OHEM, there are usually two mining methods: one for support vector machine and another for cascaded CNNs. The latter is used in MTCNN. The steps of OHEM are as follows: Step 1: train the P-Net with the complete training set. After training, use P-Net to predict the complete training set, and store the samples which are wrongly predicted as the hard samples, these samples are the training set of the R-Net. Step 2: train R-Net using the hard samples generated by P-Net. After training, predict the complete training set with the P-Net-R-Net cascaded network, and store the samples which are wrong predicted as the hard samples, and these samples are the training set of the O-Net. Step 3: train O-Net using the hard samples generated by P-Net-R-Net. In the process of OHEM, only the P-Net uses the complete training data. Both R-Net and O-Net use hard samples to train. In order to generate more training samples, the thresholds for P-Net and R-Net are lower when the hard samples are generated. Generally, the P-Net does not need to use the hard samples for training, because hard samples are the subset of the complete training data, it cannot significantly improve the network accuracy. However, few researchers have noticed the effect of fine-tuning on the P-Net using hard samples. The effect is that it can change the distribution of output prediction values of the P-Net. After fine-tuning on the hard samples, the tail of the distribution becomes thinner. Thus, we propose this self-fine-tuning method for P-Net. The specific steps are Step 0: train the P-Net with complete training data. Step 1: load the trained P-Net weights, and predict the complete training set. Store the samples which are wrong predicted as the hard samples. Step 2: load the trained P-Net weights as initial weights, then use hard samples to retrain P-Net. Step 3: generate training data for R-Net and O-Net using normal OHEM mentioned above. The reason why the tail of the distribution becomes thinner after the self-fine-tuning is that retraining uses the hard samples. After self-fine-tuning, most boxes which do not contain faces are predicted to a lower value. More boxes are predicted to lower values, which are more realistic, because there are usually few human faces in one image. Using the same threshold as the normal trained P-Net, the number of boxes for the NMS is reduced, so the overall time is greatly reduced. When using normal OHEM for training, enhancing the threshold can reduce the computation time in NMS, but the distribution which has a thinner tail makes the controlling of the input boxes more easy. 3.3 Landmark data set augmentation MTCNN uses a joint training method, which combines landmark alignment training and human face detection training. In normal training of MTCNN, the face landmark data set is used for face alignment training. When training for detection, the landmark data set is treated as negative samples. In fact, landmark data sets are human faces, so in the training process for human face detection, the landmark data set should be treated as positive. This change can improve the performance of the network. We use this trick to train MTCNN and achieve better results than regular training. 4 Experimental results In this section, we verify the differences between our scheme with self-fine-tuning and landmark data set augmentation and the regular MTCNN through three experiments. In Experiment 1, we compare the distributions of regions probabilities which are generated by P-Net. In experiment 2, we show the computation time on the FDDB test set. In experiment 3, we compare the network performances on the FDDB test set. The training data set for detection is WIDER Face [21]. For face alignment training, we use 5590 LFW images and 7876 other images downloaded from the website [22]. The network performance test set is FDDB [10]. In these experiments, we fix both the thresholds for R-Net and O-Net to 0.8, and adjust the thresholds for P-Net from 0.1 to 0.9. 4.1 Experiment 1 This experiment is used to demonstrate the distributions of human face probabilities about all regions in an image, and these probabilities are generated from the regular and self-fine-tuned P-Nets. The results can be seen in Fig. 7. We can find that the distributions generated from the self-fine-tuned P-Net have a thinner tail. The landmark data set augmentation will change the distribution of human face probabilities too, but the tail of distribution is thinner as long as we use self-fine-tuning. Owing to the number of boxes for NMS processes is reduced, the overall computation time is reduced. The experiment with regard to the computation time is shown in Experiment 2. Fig. 7Open in figure viewerPowerPoint Comparisons of probabilities distributions which are generated from regular and self-fine-tuned P-Nets (a) Probabilities distributions with landmark data set augmentation, (b) Zoomed part of distributions in (a), (c) Probabilities distributions without landmark data set augmentation, (d) Zoomed part of distributions in (c) 4.2 Experiment 2 In this experiment, we test the network speed on FDDB under the same P-Net threshold. Except the regular MTCNN and ours, the MTCNN using the depth-wise blocks and the MTCNN using the pruning technique are compared in this experiment. In the MTCNN using the depth-wise blocks, the standard convolutional filters are replaced by the depth-wise convolutional filters. In the MTCNN using the architecture of pruning, the standard convolutional filters are replaced by the pruned convolutional filters. In addition the input and output dimensions of the tensors are all the same as those of the regular MTCNN. For convenient comparison, the thresholds of R-Net and O-Net are both 0.8. The experimental results are shown in Fig. 8. From these results we can see that the methods which use self-fine-tuning are much faster, and the computation time is almost the half of that of the regular MTCNN. In addition, the MTCNN using depth-wise and pruned convolutional filters have bad performances in the experiments. Fig. 8Open in figure viewerPowerPoint Comparison of the computation time between regular MTCNN and self-fine-tuned MTCNNs, the MTCNN using the architecture of MobileNet and the MTCNN using the architecture of pruning The models using pruned convolutional filters or depth-wise convolutional filters cannot reduce the whole computational time, because MTCNN has three very shallow networks (P-Net, R-Net and O-Net), and the computational time in these networks is short enough. However, in the whole process of MTCNN, the NMS processes cost the most time, and NMS processes are executed after the P-Net, R-Net and O-Net. The inputs of NMS are many potential face positions, and if the number of potential face positions rises, the NMS processes will cost more time. Pruned convolutional filters or depth-wise convolutional filters can accelerate the speed for very deep networks. As there are many redundant parameters in the deep networks and using pruned or depth-wise convolutional filters may not reduce the performance. However, for shallow networks, the pruned convolutional filters or depth-wise convolutional filters will lead to a poor detection performance for lack of enough weights to store the learned features in the convolutional filters, and the network will give more potential face positions for bad performance. In addition, more potential face positions will cost much more time in the NMS processes, thus the whole computational time cost in the MCTNN will rise a lot. Also, the detection performances of the MTCNN using the pruned or depth-wise convolutional filters are not good. In order to save space, the detection results are not given. Even if the detection performances of the MTCNN using the pruned or depth-wise convolutional filters are as good as the regular MTCNN, the much longer computational time makes these models useless. The approach proposed by us can reduce the number of potential face positions generated by P-Net, thus a lot of computational time can be saved in the NMS processes. In other models, the NMS processes occupy over half of the computation time. 4.3 Experiment 3 In this experiment, we test the network performances on the FDDB. The thresholds of R-Net and O-Net are both 0.8. The experimental results are shown in Fig. 9. It can be seen from the figures that our scheme with self-fine-tuning and landmark data set augmentation is better than the regular one when selecting the appropriate threshold (0.1–0.3). Only using self-fine-tuning cannot enhance the performance, because the training data set become less compared to the original training set. However, if the threshold is too large, the number of input boxes is too small, which will lead to performance degradation. So, choosing a suitable threshold for P-Net is very important. Fig. 9Open in figure viewerPowerPoint Evaluation on FDDB of regular MTCNN and ours, the x-axis means number of false positive (a) Evaluation on FDDB of regular MTCNN and ours with landmark data set augmentation, (b) Evaluation on FDDB of regular MTCNN and ours without landmark data set augmentation 5 Conclusion We propose a scheme to reduce the computation time of MTCNN. Through many experiments and analyses, we know MobileNet, weights pruning, channel pruning, or XNOR-Networks cannot help us. In the whole process of regular MTCNN, NMS processes occupy the most time. Our scheme changes the output distribution of P-Net, which reducing the number of boxes for the NMS processes. Theoretically, as long as the neural network detection scheme contains NMS processes, our scheme can be used for acceleration. In addition, the landmark augmentation process can improve the performance of the network. In the future, we can consider improving the efficiency of NMS to reduce the computation time of MTCNN. What is more, if we can find a deep learning framework that has optimisations for pruning, then we can consider using pruning to reduce the computation time. 6 Acknowledgments This work is supported by the National Nature Science Foundation of China under Grant numbers 61633019, 61272020 and 61673268; the Science Fund for Creative Research Groups of the National Natural Science Foundation of China under Grant Number 61621002; the Zhejiang Provincial Natural Science Foundation of China under Grant numbers LZ15F030004 and LY16F010061; the Research Programs of Educational Commission Foundation of Zhejiang Province of China under Grant number Y201636903 and the Shanghai Sailing Program under Grant numbers 17YF1413100 and 17YF1428300. 7 References 1LeCun Y., Bottou L., Bengio Y. et al.: ‘Gradient-based learning applied to document recognition’, Proc. IEEE, 1998, 86, (11), pp. 2278– 2324 2Russakovsky O., Deng J., Su H. et al.: ‘Imagenet large scale visual recognition challenge’, Int. J. Comput. Vis., 2015, 115, (3), pp. 211– 252 3Krizhevsky A., Sutskever I., Hinton G.E.: ‘ Imagenet classification with deep convolutional neural networks’. Advances in Neural Information Processing Systems, Lake Tahoe, NV, USA, 2012 4Simonyan K., Zisserman A.: ‘ Very deep convolutional networks for large-scale image recognition’. arXiv preprint, 2014 5He K., Zhang X., Ren S. et al.: ‘ Deep residual learning for image recognition’. Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 2016 6Chollet F.: ‘ Xception: deep learning with depthwise separable convolutions’. arXiv preprint, 2017, p. 1610.02357 7Huang G., Liu Z., Van Der Maaten L. et al.: ‘ Densely connected convolutional networks’. 2017 IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, 2017 8Viola P., Jones M.: ‘ Rapid object detection using a boosted cascade of simple features’. Proc. 2001 IEEE Computer Society Conf. on Computer Vision and Pattern Recognition, 2001. CVPR 2001, Kauai, HI, USA, 2001 9Zhang K., Zhang Z., Li Z. et al.: ‘Joint face detection and alignment using multitask cascaded convolutional networks’, IEEE Signal Process. Lett., 2016, 23, (10), pp. 1499– 1503 10Jain V., Learned-Miller E.: ‘ FDDB: a benchmark for face detection in unconstrained settings’. Technical Report UM-CS-2010–009, University of Massachusetts, Amherst, 2010 11Howard A.G., Zhu M., Chen B. et al.: ‘ Mobilenets: efficient convolutional neural networks for mobile vision applications’. arXiv preprint, 2017 12Sandler M., Howard A., Zhu M. et al.: ‘ Inverted residuals and linear bottlenecks: mobile networks for classification’. Detection and Segmentation. arXiv preprint, 2018 13Han S., Mao H., Dally W.J.: ‘ Deep compression: compressing deep neural networks with pruning, trained quantization and Huffman coding’. arXiv preprint, 2015 14Zhu M., Gupta S.: ‘ To prune, or not to prune: exploring the efficacy of pruning for model compression’. arXiv preprint, 2017 15He Y., Zhang X., Sun J.: ‘ Channel pruning for accelerating very deep neural networks’. 2017 IEEE Int. Conf. on Computer Vision (ICCV), Venice, Italy, 2017 16Rastegari M., Ordonez V., Redmon J. et al.: ‘ Xnor-net: imagenet classification using binary convolutional neural networks’. European Conf. on Computer Vision, Amsterdam, Netherlands, 2016 17Neubeck A., Van Gool L.: ‘ Efficient non-maximum suppression’. 18th Int. Conf. on Pattern Recognition, 2006. ICPR 2006, Hong Kong, People's Republic of China, 2006 18Abadi M., Barham P., Chen J. et al.: ‘ Tensorflow: a system for large-scale machine learning’ ( OSDI, USA, 2016) 19Jia Y., Shelhamer E., Donahue J. et al.: ‘ Caffe: convolutional architecture for fast feature embedding’. Proc. 22nd ACM Int. Conf. on Multimedia, Orlando, FL, USA, 2014 20Long J., Shelhamer E., Darrell T.: ‘ Fully convolutional networks for semantic segmentation’. Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Boston, MA, USA, 2015 21Yang S., Luo P., Loy C.-C. et al.: ‘ Wider face: a face detection benchmark’. Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 2016 22Sun Y., Wang X., Tang X.: ‘ Deep convolutional network cascade for facial point detection’. Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition, Portland, OR, USA, 2013 Citing Literature Volume14, Issue11September 2020Pages 2435-2441 FiguresReferencesRelatedInformation