如何提高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-pytorch、DLIB 和 MTCNN 之间进行比较。
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人脸检测速度的主要内容,如果未能解决你的问题,请参考以下文章