最近一个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。
但是双击打开后,却提示找不到安装位置:
我的VS2013安装的是64位的,安装位置在C:\Program Files\Microsoft Visual Studio 12.0,但是系统变量中的VS120COMNTOOLS值是:
而64位的Common7目录下并没有Tools的文件夹
所以即使将系统变量中的VS120COMNTOOLS的值改为Program Files路径下,仍然找不到Tools,所以我直接把Program Files (x86)目录下的Common 7中的Tools文件夹拷到了Program Files目录下的Common 7中,然后再打开VS2013开发人员命令提示就不会报错了:
然后在这个cmd界面中进入之前下载的Boost目录,执行bootstrap.bat,没有报错:
按照它的提示,运行 .\b2 进行编译,这一步要运行10分钟左右,没有报错,编译完成。
4、安装Python:我下载的是32位的Python 2.7.10(试过64位的Python,后面的步骤会出问题),安装完之后记得将安装路径加入到Path中:
新开一个命令行,在cmd中输入python,出现以下输出说明安装成功了。
5、按照dlib官网上的步骤,编译dlib的python接口: