dlib安装心得 -- Windows 环境

前言

刚刚克服了 YOLO v4 安装的问题,又碰上另一个 C library 需要安装,真是头痛。dlib 是一个机器学习的函数库,它包含许多功能(可参考官网),许多影像辨识的 Python 套件都会呼叫它,跟YOLO一样,它的安装必须依照机器的环境,从原始码建置。在 LINUX 上以 g++ 建置应该是比较直觉而简单,不过,笔者比较习惯使用 Windows 作业系统,因此,本文主要是说明在 Windows 下如何建置 dlib。

前置作业

dlib 建置的过程会自动判别是否有安装 CUDA TOOLKIT,如果要建置支援CUDA的Library 需同时安装 CUDA TOOLKIT 及 CuDNN,并将路径放入环境变数 Path 中,例如:
http://img2.58codes.com/2024/20001976GK01MExabj.png

笔者分别编译有 CUDA TOOLKIT及无 CUDA TOOLKIT 的情况,都没有问题。

与 YOLO 建置一样,需先準备前置作业,安装以下软体:

VS 2017 或 2019CMake

先安装 VS 2019:须安装 VC toolset、English language pack 元件。
http://img2.58codes.com/2024/20001976nSIaGFhOfy.png

http://img2.58codes.com/2024/20001976WYqH35ICFD.png

再安装 CMake:自官网下载,将安装路径下的bin加到环境变数 Path 中。

安装

搞定上述软体,开始建置dlib:

下载 dlib:自官网下载,解压缩。
http://img2.58codes.com/2024/20001976Ln85XGIxLS.png

建置:切换至 dlib-19.19 目录,开启 DOS 视窗,执行下列指令
python setup.py build
有趣的事情发生了,建置过程发生错误,Google 一下,程式码放在较深的目录竟然不行,姑且一试,把它全部搬到根目录,神奇的杰克,竟然成功了。
建置期间会发生以下错误讯息,不用理会。
http://img2.58codes.com/2024/200019761ujLSKiD0R.png

安装套件:执行下列指令
python setup.py install

** 自【这里】可以找到建置好的套件,可惜只支援到 Python 3.6 版,3.7版之后还是自行努力。**

测试

参考『Python 使用 OpenCV、Dlib 实作即时人脸侦测程式教学』一文,先安装相关套件:
pip install imutils

将下列程式存档为 test.py,执行:
python test.py

# pip install imutilsimport dlibimport cv2import imutils# 读取照片图档img = cv2.imread('image.png')# 缩小图片img = imutils.resize(img, width=640)# Dlib 的人脸侦测器detector = dlib.get_frontal_face_detector()# 侦测人脸face_rects = detector(img, 0)# 取出所有侦测的结果for i, d in enumerate(face_rects):  x1 = d.left()  y1 = d.top()  x2 = d.right()  y2 = d.bottom()  # 以方框标示侦测的人脸  cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 4, cv2.LINE_AA)# 显示结果cv2.imshow("Face Detection", img)cv2.waitKey(0)cv2.destroyAllWindows()

http://img2.58codes.com/2024/20001976rgWHUJDtXD.png

正确侦测到两位老兄,胜利成功, Ya !!

后记

之后看到 conda 直接提供二进位套件安装,各位看官可以试试看。
conda install -c conda-forge dlib

** 2022/3/9 升级至Python v3.9 后发生编译错误 **,发现 C:\anaconda3\Library\include\gif_lib.h 的第286行错误:

const unsigned char XPORT GifAsciiTable8x8[][GIF_FONT_WIDTH];加 externextern const unsigned char XPORT GifAsciiTable8x8[][GIF_FONT_WIDTH];

再重新执行 python setup.py build、python setup.py install即可。

若编译错误,可使用VS载入 F:\dlib-master\build\temp.win-amd64-3.9\Release\dlib_python_bindings.sln,较容易观察错误。

** 要使用较新的CUDA Toolkits **,可修改 F:\dlib-master\build\temp.win-amd64-3.9\Release_dlib_pybind11.vcxproj,全部取代 11.1 至 新版本号,例如 11.2。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章