This project uses Python and OpenCV to detect and blur license plates and human faces in input images.
Techniques used:
- Gaussian blur (for object blurring)
- Haar cascades (for object detection)
Images provided by: Pexels
This project was made during my Computer vision course in university.
The anonymization of license plates and human faces is a critical task required in various fields such as surveillance, autonomous driving and public data sharing. Anonymization ensures privacy while preserving the usefulness of the data.
Gaussian blur (or Gaussian smoothing) is the result of blurring an image using a gaussian function. It was named after mathematician and scientist Carl Friedrich Gauss and is used mainly used to reduce noise in an image but also to reduce detail (blurring).
Developed by Paul Viola and Michael Jones, it's a machine learning technique that identifies objects in an image. A Haar classifier uses Haar like features (digital image features used in object recognition) for object detection and it's trained using a large set of positive (that contain the object) and negative (without the object) images. The training process involves selecting the most efficient Haar like features and combining them to create a strong classifier. Feature selection is done using algorithms such as AdaBoost. Haar classifiers were used in the first real-time face detector.
Limitations of Haar cascades include:
- Detection accuracy: The algorithm has mostly good results but produces many false positives. This lowers the algorithm's accuracy. Accuracy can be increased by tweaking the algorithm parameters.
- Real-time processing: Execution time is relatively high for real-time use. Execution time is affected by image resolution and algorithm parameters.
Deep learning based detection techniques like YOLO (You Only Look Once) and SSD (Single Shot multibox Detector) offer greater performance - high speed and accuracy.
- Place images inside the
input_images
directory - Execute python script
- Output images will be saved inside
output_images
directory