windows环境下安装配置dlib(上)

时间:2021-05-10 19:15:39

最近一个project要用到人脸检测(face detection),发现一个叫dlib的toolkit很好用,detect的灵敏度和marker点的准确度都比较高。

dlib在Ubuntu上安装编译比较方便,但因为我这个project的前半部分都在windows环境上,所以想要在windows上配置。

中途遇到了挺多问题,做个记录。


1、在GitHub上可以下载dlib(https://github.com/davisking/dlib);或者去dlib的主页上也可以下载(http://dlib.net/)。

2、dlib是一个C++ toolkit,包含很多machine learning的算法,我这里要用到的是里面python_examples下的face_landmark_detection.py。

3、首先要安装Boost,这是一个C++库(http://www.boost.org/users/history/),我下载的是Version 1.59.0。我电脑上已经安装了VS 2013,因此它会用VS 2013进行编译,在C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7目录下可以找到VS2013开发人员命令提示,可以在这里编Boost。

windows环境下安装配置dlib(上)

但是双击打开后,却提示找不到安装位置:

windows环境下安装配置dlib(上)

我的VS2013安装的是64位的,安装位置在C:\Program Files\Microsoft Visual Studio 12.0,但是系统变量中的VS120COMNTOOLS值是:

windows环境下安装配置dlib(上)

而64位的Common7目录下并没有Tools的文件夹

windows环境下安装配置dlib(上)

所以即使将系统变量中的VS120COMNTOOLS的值改为Program Files路径下,仍然找不到Tools,所以我直接把Program Files (x86)目录下的Common 7中的Tools文件夹拷到了Program Files目录下的Common 7中,然后再打开VS2013开发人员命令提示就不会报错了:

windows环境下安装配置dlib(上)

然后在这个cmd界面中进入之前下载的Boost目录,执行bootstrap.bat,没有报错:

windows环境下安装配置dlib(上)

按照它的提示,运行 .\b2 进行编译,这一步要运行10分钟左右,没有报错,编译完成。


4、安装Python:我下载的是32位的Python 2.7.10(试过64位的Python,后面的步骤会出问题),安装完之后记得将安装路径加入到Path中:

windows环境下安装配置dlib(上)

新开一个命令行,在cmd中输入python,出现以下输出说明安装成功了。

windows环境下安装配置dlib(上)


5、按照dlib官网上的步骤,编译dlib的python接口:

windows环境下安装配置dlib(上)

在命令行中进入dlib目录,然后运行python setup.py install
windows环境下安装配置dlib(上)

发现错误,没有安装cmake。去官网上下载一个编译好的二进制cmake:
windows环境下安装配置dlib(上)

注意在安装的时候勾选“自动添加路径到环境变量”,或者安装完之后自己手动添加以下路径到path:
windows环境下安装配置dlib(上)

这样再新开一个cmd(原来的cmd不会及时更新设置,所以要重新打开一个cmd),输入:
windows环境下安装配置dlib(上)

原先cmake的错误就没有了,但是有新的错误:找不到Boost。解决办法可以按照error提示的那样操作:
windows环境下安装配置dlib(上)

首先,添加系统变量 BOOST_ROOT = D:\boost_1_59_0 和 BOOST_LIBRARYDIR = D:\boost_1_59_0\stage\lib。
然后打开cmd,进入到boost目录,输入以下指令编译python library(我的python是32位,因此address-model=32):
windows环境下安装配置dlib(上)

接下来,新开一个cmd,然后进入dlib,运行python setup.py install,就不会报错了,成功编译:
windows环境下安装配置dlib(上)