前言

最近项目涉及到关于face alignment的实现,了解到目前主要的算法有ERT、SDM、LBF等,其中由于dlib开源库实现了ERT算法,效果也很不错,故开始研究dlib的使用。而使用的第一步是dlib的安装与编译,本文针对这一内容展开。网上有很多资料,不过也遇到了很多问题,走了一些弯路,故记录下来。

系统环境

1.系统:win7_x64;

2.VS版本:VS2013;

3.dlib版本:19.1;

实现步骤

1.使用dlib的注意事项;

2.dlib的下载与安装;

3.基于CMake编译dlib;

实现过程

1.使用dlib的注意事项;

1.1dlib的官网here

Dlib是一个跨平台的开源库,可以基于c++和python进行开发,包含了许多机器学习算法,官网上也有帮助文档和代码示例。dlib可以应用在Windows、Linux、Mac、embedded devices、mobile phones等,它的License是Boost Software License 1.0,可以商用。

dlib开源库的编译过程主要是生成dlib静态库,有两种方法,一种是通过Cmake,一种是通过自己创建的一个空的控制台工程,本文主要介绍第一种方法,之后会介绍第二种方法。

1.2版本的一致性;

dlib的版本与系统、编译器、VS版本需要具有一致性,通过实践发现,dlib19.1之后的较新版本适用于VS2015或者newer,同时VS2015只适用于win10或者newer系统,安装VS2015之后新建项目有如下提示:

开源库dlib的安装与编译-CMake-LMLPHP开源库dlib的安装与编译-CMake-LMLPHP

根据现有的资源,选择dlib19.1+VS2013进行实现;

2.dlib的下载与安装;

2.1下载;

dlib官网的下载链接只有最新版本的,但是不适用于现有的资源,故需要下载之前的老版本,这个官网上是没有的,在此提供两种方法。

方法一:davisking的github

方法二:sourceforge网站

这两种方法都有各种版本的压缩包,非常方便,在此就要吐槽一下某度的搜索能力了,但是非常感谢同导师的两位同学提供的帮助;

2.2安装;

安装就非常简单了,直接解压就可以啦。。。

3.基于CMake编译dlib;

3.1CMake的下载安装;

CMake官网here,在download页面就有需要的下载链接,安装即可;

开源库dlib的安装与编译-CMake-LMLPHP

3.2dlib的编译过程;

step1:打开cmake-gui的界面,添加source code和生成文件的路径;

开源库dlib的安装与编译-CMake-LMLPHP

step2:点击configure选择生成器;

开源库dlib的安装与编译-CMake-LMLPHP

step3:点击generate生成项目文件;

最后的界面如下图所示:

开源库dlib的安装与编译-CMake-LMLPHP

生成成功之后的生成文件内容如下图所示:

开源库dlib的安装与编译-CMake-LMLPHP

以上只是将dlib开源库转换成一个VS工程,还需要打开、生成该工程;

step4:使用VS2013打开dlib项目的解决方案,方案平台选择的是x64,分别在Debug和Release模式下生成dlib的静态库文件,

保存在生成文件路径下的debug和release文件夹中;

开源库dlib的安装与编译-CMake-LMLPHP

开源库dlib的安装与编译-CMake-LMLPHP

接下来就是将dlib.lib导入到需要用到的工程中,主要需要修改项目属性,包括添加附加库目录和附加依赖项,关于dlib的使用会在之后做介绍;

注意(20180110):

本人按照以上步骤在笔记本上是可以正常运行生成静态库的,但是在boss的电脑上出现了错误,错误是关于模块计算机和目标计算机不匹配的问题,这类问题很可能就是编译器类型和链接库等类型不匹配。此处step2选择的编译器修改为win64版本的即可,主要在于当前的生成器都是win64的即可;

开源库dlib的安装与编译-CMake-LMLPHP

开源库dlib的安装与编译-CMake-LMLPHP

参考

1.dlib的编译

2.dlib提取特征点的总结

3.编译过程

4.模块计算机和目标计算机的问题解答

05-11 15:21