如何使用 gpu 运行 dlib 人脸识别

Posted

技术标签:

【中文标题】如何使用 gpu 运行 dlib 人脸识别【英文标题】:how to run dlib face recognition with gpu 【发布时间】:2020-06-12 11:27:44 【问题描述】:

我已经安装了 Visual Studio 2019,以及 Cuda 10.1 和 TensorFlow 2.1.0,但我仍然无法使用 GPU 运行人脸识别,有人可以给我一份关于使用 GPU 代替 CPU 步骤的完整指南。

注意:我使用的是 Windows 10,我的 GPU 是 gtx1050,我使用的是 anaconda spider。

【问题讨论】:

【参考方案1】:

首先,你应该安装 tensorflow-gpu 包而不是 tensorflow。

如果您的 tf 安装正确,您可以在 deepface 中的 gpu 中运行人脸识别。您可以使用分配内存功能对其进行测试。

#!pip install deepface
from deepface import DeepFace
DeepFace.allocateMemory()

如果一切正常,则返回“DeepFace 将在 GPU 上运行”消息。

除 Dlib 之外的所有人脸识别模型都将在 tensorflow-gpu 上运行。您可以运行带有验证功能的人脸识别。

from deepface import DeepFace
models = ["VGG-Face", "Facenet", "OpenFace", "DeepFace", "DeepID", "Dlib"]
obj = DeepFace.verify("img1.jpg", "img2.jpg", model_name = models[0])
print(obj)

【讨论】:

【参考方案2】:

我使用 anaconda 环境通过这些步骤解决了这个问题:

已安装 cuda 10.2

python (3.7.7)

conda 安装 pip

conda 安装 tensorflow(最新 2.1.0)

conda 安装 tensorflow-gpu

pip 安装 imutils

pip install opencv-python

pip install opencv-contrib-python

pip 安装 dlib

pip install face_recognition

【讨论】:

【参考方案3】:

正如 Adrian Rosebrock 在 https://www.pyimagesearch.com/2018/06/18/face-recognition-with-opencv-python-and-deep-learning/ 中提到的,最好从源代码构建 Dlib,这样库就可以知道系统中存在确切的 GPU。我的猜测是 - 在构建过程中,它会通过 CUDA 驱动程序探测 GPU 的功能并相应地构建和安装。

git克隆https://github.com/davisking/dlib.git cd dlib mkdir 构建 光盘构建 cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 cmake --build . 光盘.. python setup.py install --yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA

【讨论】:

以上是关于如何使用 gpu 运行 dlib 人脸识别的主要内容,如果未能解决你的问题,请参考以下文章

如何线上部署用python基于dlib写的人脸识别算法

dlib人脸识别

如何在 dlib 的一对一分类器中识别陌生人

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

深度学习项目演练:如何使用Python和OpenCV进行人脸识别

TSINGSEE青犀视频开发AI识别dlib使用GPU如何激活?