欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Ubuntu下编译安装DLib的GPU版本并实现人脸检测和人脸关键点检测

Ubuntu下编译安装DLib的GPU版本并实现人脸检测和人脸关键点检测

2025/9/18 22:32:20 来源:https://blog.csdn.net/qianbin3200896/article/details/148590290  浏览:    关键词:Ubuntu下编译安装DLib的GPU版本并实现人脸检测和人脸关键点检测

1. 安装CUDA和CUDNN

首先需要安装好cuda和cudnn,具体可以参考我的另一篇博客。

2. 安装依赖库

pip install scikit-image opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 下载Dlib库

git clone https://gitee.com/binghai228/dlib.git

4. 编译和安装Dlib

cd dlib
mkdir build
cd build
cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1
cmake --build .
cd ..
python setup.py install --set USE_AVX_INSTRUCTIONS=1 --set DLIB_USE_CUDA=1

安装好以后,先测试下是否能正常启用。在终端中输入python进入交互式命令行,然后输入下面的代码:

import dlib
print(dlib.DLIB_USE_CUDA)

输出为true则为成功。

5. 人脸检测和关键点检测

完整代码如下:

import dlib
import cv2
import os# load face detector and shape predictor
# detector = dlib.get_frontal_face_detector()
detector = dlib.cnn_face_detection_model_v1("../model/mmod_human_face_detector.dat")
predictor = dlib.shape_predictor('../model/shape_predictor_68_face_landmarks.dat')img_folder = '../img/'
dst_folder = '../result/'# 检索img_folder下的所有图片
img_files = os.listdir(img_folder)# 逐张处理
for img_file in img_files:# 读取图片org_img = cv2.imread(img_folder + img_file)# 图像拷贝height, width = org_img.shape[:2]img = org_img.copy()# 等比缩放scale = 800.0 / widthnew_height = int(height * scale)img = cv2.resize(img, (800, new_height))# 检测人脸gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = detector(gray, 1)# 人脸关键点定位shape = predictor(gray, faces[0].rect)# 获取关键点的上下左右边界left = shape.part(0).xtop = shape.part(27).yright = shape.part(16).xbottom = shape.part(8).yh,w,c = img.shape# 可视化if len(faces) == 1:for i in range(68):cv2.circle(img, (shape.part(i).x, shape.part(i).y), 1, (0, 0, 255), 2)# 保存结果cv2.imwrite(dst_folder + img_file, img)print(img_folder + img_file)

运行效果如下:

在3090GPU上面测试,平均单张图像检测时间26ms。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词