This project uses:
- HOG features
- 2 neural networks as classifiers, one for detection and one for recognition
- sliding window for detection
The data was collected from a dataset containing 4400 images taken from The Simpsons series. The positives examples were the faces of the characters, and the negative examples were extracted randomly at different scales from the images in the dataset.The dataset was augmented with positive examples. Each image of a face was flipped, translated and rotated using methods from openCV. Hence, for every positive example I generated another 53 examples.
Below you can see how the detector performs on the test data. Some of them look good, some not so much. =)))
Finally, the best classifier got MAP of 0.87 for detections. The scores for recognition were not that impressive. Bellow you can check out the graphs.
For further details on the solution check out the doc!
The libraries and versions required to run the project:
- python==3.9.5
- numpy==1.19.5
- opencv_python==4.5.4.58
- tqdm==4.62.3
- pickleshare==0.7.5
- scikit-image==0.19.1
- scikit-learn==1.0.1