Andrew

在Windows下安装dlib(face_recognition)

Dlib是人脸识别领域著名的开源软件,它在Linux和MacOS上安装都比较方便,但在Windows上的安装坑很多,通过大量测试与实践,我们整理了下面这份无坑版的Windows下安装步骤。

【准备】

  1. 安装scipy和numpy+mkl库
    访问http://www.lfd.uci.edu/~gohlke/pythonlibs/,找到其中的scipy和numpy+mkl对应版本,下载后安装。

    根据您的操作系统环境与python版本,下载对应的库文件(名称中中cpXY代表pythonX.Y版本,其中win32代表32位Windows,win_amd64代表64位Windows)。
    下载存储于本地之后,使用下面命令分别安装这两个库:
    pip3 install 下载的文件名
  2. 安装visualstudio15 vc++14.0
    访问http://landinghub.visualstudio.com/visual-cpp-build-tools,下载其中visual c++2015。并根据指引安装。

    注:不能使用vs2017,因为我们需要使用vc14.0。在更高版本下,微软的软件存在bug,会在编译时形成死循环:
    “This is because Visual Studio 2017 is buggy and has bad C++11 support. I’m the dlib maintainer and I’ve spent time trying to work around the bugs in visual studio 2017 but so far haven’t found a way to prevent VS2017 from going into infinite loops when it tries to compile some of the DNN code. My advice is to pick another compiler. Clang and GCC have had excellent C++11 support for many years now. I would go with one of those compilers.
    You can also compile this code with a fully updated copy of visual studio 2015, which ironically has better C++11 support than visual studio 2017.”
  3. 下载安装cmake
    https://cmake.org/download/
    直接下载最新版本的编译好的包(根据操作系统选择32或64位的版本),进行安装即可以。

【下载编译boost】
不要使用boost的编译好的版本,而需要从源代码进行编译(当前下载的二进制版本基于python2.7,会在后续出现问题,所以必须使用源代码编译)。
访问页面:https://sourceforge.net/projects/boost/files/boost/。下载最新版本源代码。

将源代码解压缩到文件夹c:\local\boost_1_65_1中。
打开vs2015 x64 Native Tools Command Prompt,

cd c:\local\boost_1_65_1
然后运行:
bootstrap.bat vc14
结束后运行:
b2 -a --with-python address-model=64 toolset=msvc-14.0 runtime-link=static
编译大概需要3分钟左右,过程中会出现编译的warning,不用管这些。编译后的结果在在目录c:\local\boost_1_65_1\stage\lib\中。

【下载编译安装dlib】
访问网站https://github.com/davisking/dlib,下载dlib源代码,存放于本地后解压缩。

用文本编辑器打开解压后的文件dlib-xx.x\dlib\cmake_utils\add_python_module,修改其中第一行关于PYTHON3的定义(从OFF修改为ON):
option(PYTHON3 "Build a Python3 compatible library rather than Python2." ON)
注:如果执行过后续编译命令后,需要删除CMakeCache.txt文件,以使缓存失效,否则还是会链接python2.7。

设置两个环境变量:
set BOOST_ROOT=C:\local\boost_1_65_1
set BOOST_LIBRARYDIR=C:\local\boost_1_65_1\stage\lib

编译与安装dlib(此过程大概需要10分钟左右时间,需要一些耐心):
python setup.py install --yes USE_AVX_INSTRUCTIONS -G "Visual Studio 14 2015 Win64"
安装dlib结束后,在python中,就可以import dlib了。

【安装face_recognition】
pip3 install face_recognition

安装完成face_recognition后,就可以在python中import face_recognition了。

本站文章如需转载,请注明文章出处:https://www.hachina.io/2435.html
本站保留文章版权以及相关权益。