SDM可以用于人脸训练、检测、跟踪。相关的cmake配置与论文在网上都有。
论文:点击打开链接
github网址:点击打开链接
为了获得它的源代码,我们需要使用cmake配置,利用3rd party 完成编译生成。
下面是配置的流程:
1、cmake软件下载安装。
2、打开cmake软件
source code 加上从github下载的文件存放的路径、binary的路径为编译生成的文件存放的路径。
然后点击configure,选择需要的生成器,点击finish.
3、配置过程中出现下面的错误,原因是,没有找到第三方库的路径opencv2.4.3,所以需要下载OpenCV,选择x86文件夹,接着configure。
4、然后又出现错误,这次是没有Eigen3库,版本:(Required is at least version "2.91.0"),与配置opencv同样的方法配置它。添加完路径后,点击configure.
5、这次出现的错误是没有找到相应的boost。Boost的配置相较于opencv与eigen3麻烦一些,这里重点讲一下。
Boost的配置过程:
首先从官网中下载最新的BOOST版本,我的是BOOST_1_59_0,选择需要的版本,建议x86(只要几个库一致且VS编译生成器一致即可),然后安装在A路径下。
然后因为使用的是VS2013,所以需要在VS2013中编译与安装BOOST,打开Visual Studio Tools目录下的Visual Studio 2008 Command Prompt。有快捷方式,按照下图打来shortcuts。
以管理员身份运行x86的那一个,进入。
主意一定要用管理员身份....然后是在dos界面中进入你下载安装的BOOST_1_59_0路径,
我是从cmd直接进入的用管理元的身份进入,之后就可以进入到boost目录中。
然后输入以下命令:
bootstrap --prefix="C:\Program Files\boost_1_59_0"
上面的路径即为生成的头文件与lib文件的路径。运行完之后输入以下命令:
b2 --build-type=complete --toolset=msvc-12.0 --layout=versioned --prefix="C:\Program Files\boost_1_59_0" --without-mpiaddress-model=64 install
具体的参数介绍略过,需要了解的转: 点击打开链接
本文的BOOST安装也是参照此博客,感谢博主分享,编译成X64的库,默认是编译成x86的。
接下来需要等安装了,大概需要30——50分钟的时间。安装完成后,显示如下图:
生成两个文件夹:
6、接下来转到cmake中去,界面中有“add entry”按钮,点击新建BOOST_ROOT(路径即为上图生成的两个文件夹路径) 和BOOST_NO_SYSTEM_PATHS(BOOL值)value勾选上。如下图:
点击configure,boost就配置成功了,没有错误。
7、点击generate 生成.sln文件,出现Generating done。配置完成。
8、用VS2013打开生成的.sln文件,build一下,没有错误,到此结束。
9、我在打开.sln文件,build的时候是有错误的,错误为error link 1112.这种错误就是编译的平台到底是x86还是x64的问题了。需要把下载的第三方库与编译的平台统一。即如果平台是x86,而第三方库生成的.lib文件是用x64生成的,就会出现这样的错误,反之亦然。
参考网址:
http://blog.csdn.NET/qtyl1988/article/details/44751071
https://github.com/patrikhuber/superviseddescent
http://blog.csdn.net/chengzhongxuyou/article/details/50131221