Review of Mainstream Algorithms of Deep Learning (CNN) Face Detection and Localization


insert image description here

foreword

Deep learning face detection is a technology that uses deep learning algorithms to detect the position of faces in images. Its core is Convolutional Neural Network (CNN). Face positioning is an important application in the field of computer vision. Widely used in face recognition, expression analysis, face tracking and other related fields. Face detection usually includes two steps: 1) generating region proposals; 2) classifying and regressing the candidate frames, judging whether there is a face in it, and accurately locating the face. At present, the deep learning algorithm has been widely used in the field of face positioning, which has replaced the traditional face positioning algorithm and has become the most advanced and accurate technology.


1. Overview

Face localization is a very basic task in image processing, which usually refers to locating the position and size of the face from the image. In recent years, with the continuous development of deep learning technology, deep learning face localization algorithms have also been developed rapidly, and have been widely used in various face-related tasks.

2. Face detection process

The general process of the deep learning face localization algorithm includes: first preprocessing the input image, including scaling, cropping and other operations, and then using a convolutional neural network (CNN) to extract features, and then using a regression or classifier to process the obtained features Analysis, and finally output the position and size of the face.

3. Mainstream algorithm

1. MTCNN

MTCNN (Multi-task Cascaded Convolutional Networks) is a multi-task cascaded convolutional neural network proposed by the Chinese Academy of Sciences. It can simultaneously perform tasks such as face detection, key point positioning and pose estimation, with high precision, fast speed, It has the advantages of being able to handle faces of multiple scales.


For specific instructions and code implementation, please refer to the tutorial written by the blogger MTCNN face detection algorithm implementation (python)

2. RetinaFace

RetinaFace is a more accurate face detection and key point positioning algorithm proposed by City University of Hong Kong, China. It uses a deformable convolutional network (Deformable Convolutional Network) to achieve more accurate positioning. RetinaFace is especially suitable for small Localization of scale faces.

3. CenterFace

CenterFace is a lightweight face detection and key point positioning algorithm proposed by Huawei. The algorithm only requires a model size of 1.5MB and can run in real time on the mobile terminal. CenterFace uses the Hourglass model and Feature Pyramid Network (Feature Pyramid Network) ) to achieve high-precision face positioning.

4. BlazeFace

BlazeFace is an extremely lightweight face detection algorithm proposed by Google. Its model size is only about 2MB and can run in real time on the mobile terminal. BlazeFace uses an innovative anchor-free detection method to achieve faster Face positioning.

5. YOLO

YOLO is an end-to-end real-time object detection algorithm that can detect and localize multiple objects simultaneously. Because YOLO can divide the entire image into grids and predict the class and bounding box of the object on each grid, it is generally faster than other region-based object detection algorithms.

6. SSD

SSD is a single-step target detection algorithm based on convolutional neural network, which can detect multiple targets in one forward pass. Compared with region-based detection algorithms such as Faster R-CNN, SSD is simpler and more efficient.

7. CascadeCNN

CascadeCNN is a cascaded convolutional neural network proposed by Microsoft Research Asia, which can greatly reduce the network size and calculation amount without sacrificing performance. The structure of CascadeCNN is composed of multiple cascaded stages, each stage contains multiple cascaded convolutional layers and pooling layers, which can effectively improve the accuracy and stability of face positioning.

Four. Summary

Deep learning face positioning algorithms have made remarkable progress, and have been widely used in face recognition, facial expression analysis, virtual face-changing and other application scenarios. These algorithms are constantly being optimized and improved. In the future, there will be more There is a lot of room for development.

conclusion

Due to the limited ability of bloggers, the methods mentioned in this article will inevitably have omissions. I hope you can enthusiastically point out the mistakes, so that the next revision can be presented to everyone in a more perfect and rigorous manner. before.

Guess you like

Origin blog.csdn.net/weixin_40280870/article/details/131290287
Recommended