I saw MTCNN being recommended but haven't seen a direct comparison of DLIB and MTCNN.
I assume since MTCNN uses a neural networks it might work better for more use cases, but also have some surprisingly horrible edge cases?
Has anyone done an analysis of error rate, performance under different conditions (GPU and CPU), and general eyeball observations of the two?
MTCNN : Stands for Multi-task Cascaded Convolutional Networks. It is a python package that can be installed easily and they provide a high-level API for face detection. Its performance is better than Dlib but it needs more computation than Dlib.
Com- pared to all methods above, MTCNN has the best and in- credibly high accuracy. Although it takes some time for training, we can save time by using pre-trained model and keep the relatively high accuracy. MTCNN even supports for real time face detection. Hence, MTCNN is a very good method for face detection.
It works on grayscale images, as it interprets the image as a collection of Haar features, i.e. lighter and darker rectangles. There are many types of Haar features with different positioning of light and dark regions in the rectangle. They can be computed really fast through using a technique called integral images.
The Eigen faces Algorithm is the most commonly used methods in the field of facial recognition.
You can have a look at this amazing kaggle notebook by timesler. Comparison is made between facenet-pytorch, DLIB & MTCNN.
https://www.kaggle.com/timesler/comparison-of-face-detection-packages
"Each package is tested for its speed in detecting the faces in a set of 300 images (all frames from one video), with GPU support enabled. Detection is performed at 3 different resolutions.
Any one-off initialization steps, such as model instantiation, are performed prior to performance testing."
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With