How To Detect and Blur Faces Automatically
What is face detection?
Identifying the faces of humans in a picture using computer vision is called face detection. In face detection, the presence of a face and its unique facial characteristics are identified. After that, depending on personal preference, one can blur or try to figure out who the face belongs to. Today, performing automatic face detection and face blurring can occur thanks to advancements in computing technologies. Some of these technologies are open-source and easy to use, and others are sold as products that can help corporate companies anonymize their data.
What is face blurring?
Imagine that you were having fun on the weekend with your friends and you were accidentally captured by someone else's camera. If that person shares the picture you are in without even asking you on social media; this person has invaded your privacy. With the rising awareness of the General Data Protection Regulation and the concept of privacy, humans are getting more cautious about sharing their data, either in text or in the form of an image. As given in the example, giving consent to data or anonymizing it is crucial for companies. Anonymizing people's identities in a picture or video are called face blurring. The main reason face blurring is used to protect a person's identity. In a face blurring process, a face is detected, extracted, and blurred.
Why do we need to blur our faces?
Face blurring offers freedom of speech to many. For instance, when the face of a witness is blurred when talking to the media or police, the witness is less likely to be in danger. Also, there are known examples in which potential criminals can trace their victims using face recognition technologies. To prevent such inconveniences, face blurring and face anonymization is crucial.
To detect and blur faces automatically, the first step is to detect the presence of a face in each image or video. Various methodologies are used to perform face recognition. Here we will briefly discuss the methods that can be applied as a first step in automated face detection and blurring systems.
Haar cascades are powerful algorithms that allow for the detection and classification of objects. Cascade, as a machine learning approach, works by training the code with negative and positive images. To elaborate, imagine having a set of pictures with cats in it and some other images where the presence of a cat cannot be detected. When training the Haar cascade model, this set of images should be annotated based on the presence of a cat. There are four sub-classes that the classification can occur, and it follows like this:
- True Positive: The cat was detected by the Haar Cascade model, and in reality, there was a cat in the picture.
- True Negative: The cat was not present in the picture and was not detected by the Haar Cascade model.
- False Positive: The cat was not in the picture, but the Haar Cascade Model made a false detection.
- False Negative: The cat was in the picture but was not detected by the Haar Cascade model. In a Viola-Jones Face Detector, the proposed method calculates integral images and haar-like features and applies a learning algorithm with a cascade filter. Haar features developed.
by Alfred Haar in 1909 are similar to convolutional kernels. The widely used Haar features are edge, line, and four rectangle features.
Many other algorithms, such as histograms of oriented gradients and linear support vector machines, or deep learning-based face recognition. Before advancements in deep learning, the HOG+ SVM, or so-called "Histograms of oriented gradients and linear support vector machines method," was an adequate solution. The gradient orientation indicates facial features would be counted in the localized areas of the given image.
In general, the region of interest indicates the portion of an image that is chosen for a specific purpose. For face blurring, the region of interest shows the coordinates of the unique facial features, including the mouth, nose, and eyes. When extracting the region of interest, one should create the bounding box coordinates of the face in the image. These coordinates have to include the starting and ending points of the face both in the x and y directions.
When the region of interest is extracted from the original image, the next step is to blur the picture. There are several different ways to blur the detected face based on your preference. A widely used method is the Gaussian blurring method. This method is used to decrease the details in an image and help to blur. In Gaussian Blur, a Gaussian FIR kernel is mixed with the original image. The proposed method to apply Gaussian blurring is to apply a one-dimensional kernel in vertical and horizontal directions. Using two one-dimensional kernels instead of a two-dimensional kernel creates the same effect. However, using a two-dimensional kernel requires more calculations.
For face blurring, the detected face must be processed with a Gaussian filter or any other blurring method to proceed further. One other example is using the differential privacy blurring method. Liyue Fan proposed this method, which takes the color in a pixel and copies it into neighboring pixels until a specific size is reached. This differential privacy blurring method is relatively new, so there are some questions about its implementation.
Once the face is detected and blurred in the image, one necessary step is to put the blurred face back on the original image. This means taking the region of interest and placing it back into its initial coordinates to sustain the blurred look.
The series of algorithms applied to an image can help detect and blur the face.
Using this anonymization technique allows the protection of personal data, can help law enforcement cover the identity of potential victims, and can help share the voices of victims independently. The steps to automatize face blurring are simple: detect the face in a picture, extract the face including facial features, blur the face, and set the blurred face back in the original image. Thanks to rapid advancements in technology, anonymization can be as easily attained as identification. Based on your personal needs, there is a way to do both!
Cameralyze and Blurring Faces Automatically
Are you interested in trying face-blurring solutions on your own but do not know how to code? Check out our no-code Visual Intelligence Platform, which can help you blur and anonymize faces in images, videos, or live streams without any code called Cameralyze! Cameralyze makes AI accessible for everyone with a security and privacy-first mindset. You can start your free trial of up to 1000 executions by clicking here!