MTCNN 与 DLIB 相比如何进行人脸检测?

Posted

技术标签:

【中文标题】MTCNN 与 DLIB 相比如何进行人脸检测?【英文标题】:How does MTCNN perform vs DLIB for face detection? 【发布时间】:2018-06-09 10:18:46 【问题描述】:

我看到 MTCNN 被推荐,但没有看到 DLIB 和 MTCNN 的直接比较。

我认为既然 MTCNN 使用神经网络,它可能更适合更多用例,但也有一些令人惊讶的可怕边缘情况?

有没有人对错误率、不同条件下(GPU 和 CPU)下的性能以及两者的一般眼球观察进行过分析?

【问题讨论】:

@davis-king 有什么评论吗?我很想看看 MTCNN 与 dlib CNN 之间的比较 我已经更新了我的答案,通过 FDDB 准确性测试和性能测试,希望它有所帮助(它花了我几个小时)。 @RahibeMeryem 您可以在此处查看关于 dlib 的 CNN 如何在 FDDB 上执行的一些讨论,以供参考:blog.dlib.net/2016/10/easily-create-high-quality-object.html。也可以在这里查看我的 cmets:github.com/davisking/dlib/issues/1410 我不这么认为,看到这个问题的任何人都可以看到github链接。我使用 face_recogniton py lib 测试 FDDB 来检测人脸(使用 dlib 进行人脸检测)。而且我不认为我做错了什么。如果有什么问题是 py face_recogniton github.com/ageitgey/face_recognition 错的不是我。 我已将我的 C++ dlib 测试代码发布到 github.com/davisking/dlib/issues/1410 【参考方案1】:

你可以看看 Timesler 这个惊人的 kaggle 笔记本。在 facenet-pytorchDLIBMTCNN 之间进行比较。

https://www.kaggle.com/timesler/comparison-of-face-detection-packages

“在启用 GPU 支持的情况下,测试每个包在 300 张图像(一个视频的所有帧)中检测人脸的速度。检测以 3 种不同的分辨率进行。

任何一次性初始化步骤,例如模型实例化,都在性能测试之前执行。”

【讨论】:

【参考方案2】:

您可以轻松地在 deepface 中对其进行测试。我的实验表明 mtcnn 的性能优于 dlib。

#!pip install deepface
from deepface import DeepFace
backends = ['opencv', 'ssd', 'dlib', 'mtcnn']
DeepFace.detectFace("img.jpg", detector_backend = backends[0])

【讨论】:

以上是关于MTCNN 与 DLIB 相比如何进行人脸检测?的主要内容,如果未能解决你的问题,请参考以下文章

使用TensorRT对人脸检测网络MTCNN进行加速

win10+anaconda+cuda配置dlib,使用GPU对dlib的深度学习算法进行加速(以人脸检测为例)

MTCNN实时人脸检测网络详解与opencv+tensorflow代码演示

MTCNN移植安卓并检测视频中人脸

人脸检测——MTCNN

人脸识别经典网络-MTCNN(含Python源码实现)