Analysis of image quality detection algorithm from face recognition technology
更新時間: 2021-01-06 14:35:21
As a kind of biometric technology, various intelligent products equipped with face recognition functions have been widely used. But in terms of product experience, users have different feelings. For example, there are residential face recognition gates that can realize fast and non-inductive passage when riding a bicycle without getting of the car. At the same time, when using some products, I encountered the embarrassment of repeatedly failing recognition, standing in the same place, and constantly changing the angle of the face waiting for recognition.
In addition to the robustness and performance of the algorithm itself, the quality of face images caused by complex environments such as blur, occlusion, large angles, backlight, and dark light will also cause the accuracy of face recognition to be too low. Only repeated recognition can be successful, and the overall time-consuming is greatly lengthened.
We know that the worse the image quality, the lower the accuracy of face recognition. If the face images can be standardized and evaluated, low-quality images can be removed, and the images that meet the standards after screening can be sent to the next process, the recognition efficiency will be greatly improved. This is an important technology to realize the senseless passage of face recognition-the image quality detection algorithm (FQ). The sixth issue of the "Learning Face Recognition from Zero" series of open courses will introduce the algorithm in detail.
Principle of face image quality detection algorithm
Like face recognition, the image quality detection algorithm (FQ) is also based on the principle of feature extraction. It learns from massive data through neural networks to obtain the features that face quality detection focuses on (mainly including light, blur, angle, occlusion, expression, noise, etc.) ) And make quality judgments. Each feature is represented by a specific value. For example, the face feature vector in the figure below is (0,1,0,1,1), that is, strong light, medium blur, medium occlusion, large angle, and large expression.
Of course, this feature vector can be expanded indefinitely. The more detailed the description of the feature, the more accurate the feature vector. The light can increase the dark light and low light, and the blur can increase the slight blur or medium blur. Taking the image quality detection algorithm of Rainbowsoft Vision Open Platform as an example, the noise feature can even be expanded to more than 64 features.
After extracting the feature vector, the features of each face picture are distributed in the vector space in a disorderly manner. At this point, by learning from the data, samples with good quality are gathered in the middle as much as possible, while bad samples are pushed away. Finally, a quality score is obtained by calculating the distance between the sample and the center of the circle.
Each feature has a different impact on the quality score. We need to set corresponding thresholds according to their respective business needs. FQ will filter low-quality images below the set threshold to ensure the image quality sent to the subsequent face recognition link All are relatively good.
The classical application of face image quality detection algorithm
What will happen if the face quality detection is put in a real use scene? The following is based on the free and offline SDK ArcFace of ArcFace, which includes a series of functions including face detection, living body detection, face comparison, and person-to-card comparison.
A user came from a distance. Due to the distance, the system first captured a blurry face image. Then, the FQ algorithm will automatically make a judgment, and because the quality is too low, the image will be rejected and sent to the next recognition link. Then the system will continue to capture until a face image with better quality is sent for recognition and succeeded. During the whole process, the user does not need to stay and wait deliberately to complete face recognition in one go.
And if the FQ algorithm is not added, the blurred photo captured for the first time is sent to the next face recognition link. When this face picture fails to be recognized, the system needs to capture another picture for the second or even third recognition. In this way, it is basically difficult for users to realize fast and non-inductive traffic.
From the comparative experiment, the difference felt is very obvious, as shown in the following figure: Compared with the situation without FQ, the time consumption of each link of the face recognition system with FQ is reduced by about 30% on average.
Similarly, when registering the face recognition base database in batches, there are often tens of thousands of pictures. Ordinary manual screening is difficult to complete image quality inspection. The FQ algorithm can quickly complete the screening, and human face recognition is more accurate from the feature value of the base database.
As an auxiliary algorithm, we need to consider the overall situation more when selecting models. FQ should not take up too much space and time. For example, the FQ algorithm developed by the Hongsoft Vision Open Platform selected in the above "smart office face-brushing access control" experiment has a small model and can increase the detection speed as much as possible while ensuring accuracy.
In addition, it should be noted that different projects and different environments have different definitions of good quality. For example, the company's face-sweeping access control and the top-secret laboratory's face-sweeping access control have different definitions of the camera imaging effect. At this time, developers have to adjust the camera parameters separately according to different project requirements, so as to branch out versions of different scenarios.