Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does MTCNN perform vs DLIB for face detection?

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?

like image 661
tt_Gantz Avatar asked Dec 28 '17 21:12

tt_Gantz


People also ask

Which is better dlib or Mtcnn?

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.

Is Mtcnn the best face detection?

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.

How does Mtcnn face detection work?

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.

Which algorithm is best for face detection?

The Eigen faces Algorithm is the most commonly used methods in the field of facial recognition.


1 Answers

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."

like image 171
Ahmed El Bakry Avatar answered Oct 22 '22 10:10

Ahmed El Bakry