如何提高python下的dlib人脸检测速度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何提高python下的dlib人脸检测速度相关的知识,希望对你有一定的参考价值。

主要针对dlib自带的检测器

参考技术A Dlib is capable of detecting faces in very small areas (80x80 pixels). You are probably sending raw WebCam frames at approximately 1280x720 resolution, which is not necessary. I recommend from my experience to reduce the frames about a quarter of the original resolution. Yes, 320x180 is fine for Dlib. In consequence you will get 4x speed.

· try turning on the compilation optimizations while building Dlib, you will get significantly improvement in speed.

· Dlib works faster with grayscale images. You do not need the color on the webcam frame. You can use OpenCV to convert into grayscale the previously reduced in size frame.

· Dlib takes its time finding faces but is extremely fast finding landmarks on faces. Only if your Webcam provides a high framerate (24-30fps), you could skip some frames because faces normally doesn't move so much.
参考技术B 无法提高速度,因为dIib内核算法是c写的,Py只是调用它而已。如果说有办法的话,那就是换性能更好的电脑本回答被提问者采纳 参考技术C 优化算法。。

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

【中文标题】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])

【讨论】:

以上是关于如何提高python下的dlib人脸检测速度的主要内容,如果未能解决你的问题,请参考以下文章

opencv联合dlib人脸检测例子二(加快检测)

如何在 dlib python 中保存/裁剪检测到的人脸

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

带有面部检测和形状预测的 Dlib 网络摄像头捕获速度很慢

dlib的人脸地标检测程序中如何获取点坐标位置?

Python 用dlib来实现视频人脸检测 (很卡,我电脑带不动,卡死了。。)我的是轻薄本