Face Alignment at 3000FPS(C++版)工程配置
源地址:http://blog.csdn.net/sunshine_in_moon/article/details/49838245/
3000FPS是人脸对齐算法,特点是速度快!我利用的是thinkface上一位大牛提供的代码http://www.thinkface.cn/thread-3136-1-1.html这里面提供了C++版代码,人脸数据库及大牛训练好的模型的连接,大家可以自行下载。下面介绍具体的配置过程以及遇到的问题和其解决方法。
安装分为4个步骤:
1.下载人脸数据库,获取Path_Images.txt。
AFW人脸数据库:http://www.thinkface.cn/thread-1029-1-1.html
LFPW人脸数据库:http://www.thinkface.cn/thread-1032-1-1.html
Helen人脸数据库:http://www.thinkface.cn/thread-1030-1-1.html
IBUG人脸数据库:http://www.thinkface.cn/thread-1031-1-1.html
我使用的是lfpw库,里面已经提供了Path_iamges.txt文件,如果你下载的库没有提供这个.txt文件,可以用下面的方法生成。比如我现在将AFW与LFPW作为训练样本的集合,那么先解压然后保存到D:\Projects_Face_Detection\Datasets文件夹中,这是因为工程中train_model.m文件下第40行中定义的,也可以自己做修改.因为train_model.m文件中40行表示读入训练样本的数据的文件是Path_Images.txt,所以进入控制台先转到目录D:\Projects_Face_Detection\Datasets\afw,然后输入命令dir /b/s/p/w *.jpg>Path_Images.txt,这是将所有jpg的文件的文件名都输入到Path_Images.txt文件中,同样转到目录D:\Projects_Face_Detection\Datasets\lfpw文件夹中输入命令dir /b/s/p/w *.png>Path_Images.txt,因为lfpw的数据都是png文件。
其中数据库要根据你自己的数据库以及数据库的位置进行调整。
2、
下载liblinear库,编译获取blas库(liblinear/blas/blas.a)。你需要将你的blas.a替代build目录下的blas.a。
注意:新版本的程序这个步骤可以省略,作者已经把其整合到了工程里。
新版本链接:https://github.com/yulequan/face-alignment-in-3000fps
不过你用的是老版本,那首先是下载liblinear,我的百度链接:http://pan.baidu.com/s/1gdruGuf
liblinear库的安装与使用可参考http://blog.csdn.net/zouxy09/article/details/10947323/
本人在此声明,我没有编译成功,如果有编译成功的朋友,麻烦留言,简单讲述下方法,在此感谢!
3、进入build文件夹,编译该程序。
cmake make
说明:我用的是CMake界面版,在编译时出现里个问题,提示要不到opencv库,错误提示为:
CMake Error at CMakeLists.txt:6 (find_package):
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenCV", but
CMake did not find one
出现这个问题是因为CMake配置OpenCV时出错,解决方法很简单添加一个环境变量就好具体步骤:我的电脑右击->属性->高级系统设置->环境变量->新建,变量名:OpenCV_DIR(注意大小写,不能出错)变量值:D:\Program Files\opencv\build重新启动电脑(很重要!!)再用CMake进行configure和generate,然后打开解决方案***.sln,进入VS,编译,运行。这个问题的具体原因及解决方案请参考:http://m.blog.csdn.net/blog/ZHUQIBING/17184939
4、模型的训练:在LBF.cpp文件中设置全局参数,在TrainDemo.cpp中设置数据库。采用“LBF.out TrainModel”进行编译。
具体设置:1)LBF.cpp文件修改、
modelPath:训练模型保存的路径,也是test阶段模型加载的路径
dataPath:数据库图片加载数据路径,这里要注意,还记得第一步中的Path_images.txt文件吗,这个文件里保存的就是图片路径,这个文件里的路径就是D:/Projects_Face_Detection/Datasets/,如果你没有自己生成Path_images.txt文件,而是使用官方提供的文件,那你的数据库文件夹就要放在这个路径下,也就是说你要在D盘下新建这个文件,否则你就好修改dataPath(不推荐,太麻烦,而且容易出错)
cascadeName:这个参数不用修改,但是要把这个文件放到工程下如:
下面是选择使用训练数据库:
选择要训练模型使用的库,把不用的库,直接注释掉就可以了
下面是选择测试数据库:
与上面一样,选择你的数据库即可,我这里是个错误,测试时的数据库不应该与训练数据库相同。
2)TrainModel.cpp文件修改:
首先,把第一步生成的Path_Images.txt文件放到trainset文件下(很重要,我在废了很长时间,才找到是这的问题)
3)TestModel.cpp文件修改
由于照片不能正常上传,需要注意的地方与TrainModel,cpp一样把Path_Image.txt放到testset文件下,否则找不到照片,就无法进行人脸检测函数LoadOpencvBbxData(path, test_images, test_ground_truth_shapes, test_bounding_boxs);报错!!!
5、编译工程,编译时提示错误:无法启动程序 无法找到文件e:\projects_pcl\pcl_filters\bilateral_filter\build\x64\Debug\ALL_BUILD
这是因为用CMake生成工程文件是包含了ALL_BUILD、ZERO_CHECK两个工程文件,直接把它们移除就OK!
具体请参考:http://blog.csdn.net/david_xtd/article/details/38381787
6、编译成功后,就可以执行程序了。在数据库上进行测试:在TestDemo.cpp文件中设置测试数据库,使用“LBF.out TestModel”进行编译。这是在命令行下执行的。如果你不想使用这种方式,我们可以使用下面的方法:
工程文件右击->属性->通用属性->调试->命令参数(TrainModel:训练模型,TestModel:测试)
如果想用我编译好的工程可以给我留言!
参考链接:
http://blog.csdn.net/wangjian8006/article/details/42004717
http://www.thinkface.cn/thread-3136-1-1.html
http://blog.csdn.net/zouxy09/article/details/10947323/
http://m.blog.csdn.net/blog/ZHUQIBING/17184939
http://blog.csdn.net/david_xtd/article/details/38381787
Face Alignment at 3000FPS(C++版)工程配置的更多相关文章
- 为eclipse EE(汉化版) 配置Tomcat服务器
为eclipse EE(汉化版) 配置Tomcat服务器 很多小朋友在初次使用eclipse进行web开发的时候,很是蒙蔽.以前都是文本编辑器写好,做好目录结构,往tomcat下一扔,重启,搞定. ...
- 【一】工程配置与电机控制part1
前言 学校发的无刷电机: 我们准备的有刷电机: 带霍尔编码器! 电机参数: 名称:驰名电机(直流减速电机) 型号:JGA25-370 电压:12V 转数:1360r/min 做云台,核心是使用PID控 ...
- 解压版Tomcat配置
解压版Tomcat配置(本例Tomcat6): 一 配置Tomcat 1 下载Tomcat Zip压缩包,解压. 如果增加tomcat的用户名和密码,则修改/conf/tomcat-us ...
- ios 工程配置统一增加类的前缀(知识点也只能算知识点)
在前边的代码规范中提及:团队开发或者个人开发为了打包或者自己工程中避免创建新的类核第三方系统的重复增加类的统一前缀!!又很多人问我这种开发小技巧.下面我就普及一下: 1.首先选中你的工程配置 2.然后 ...
- 细聊 Cocoapods 与 Xcode 工程配置
前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分. 既然是谈 Cocoapods,那首先要搞明白它出现的背景.有经验的开 ...
- pcl1.7.2_vs2013_x64工程配置
pcl1.7.2_vs2013_x64工程配置 C:\Program Files\PCL 1.7.2\include\pcl-1.7;C:\Program Files\PCL 1.7.2\3rdPar ...
- Windows 8.1下 MySQL绿色版安装配置与使用
原文:Windows 8.1下 MySQL绿色版安装配置与使用 Mysql-5.6.17-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址:http://downloads.my ...
- MySql-5.7.17-20解压缩版安装配置
MySql-5.7.XXX解压缩版安装配置 1.mysql-5.7.20是解压版免安装的,版本下载地址:http://dev.mysql.com/downloads/mysql/ 如下图 2.解压 ...
- MySQLMySql免安装版安装配置
MySql免安装版安装配置,附MySQL服务无法启动解决方案 mysql 5.6.17 绿色版(免安装)安装配置教程 [mysql] # 设置mysql客户端默认字符集 default-charact ...
- vs如何将工程配置,保存到属性表
上次讲到新建一个opencv工程的配置过程,整个流程下来还是非常麻烦的.每次新建一个工程都要走这个流程的话就要疯了! 现在介绍一种将工程配置,保存到属性表的方法,那么下次新建工程时,只要添加这个属性表 ...
随机推荐
- [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)
原文链接:http://www.jbxue.com/LINUXjishu/10735.html 在linux中监控系统资源.进程.内存占用等信息,可以使用top命令.查看网络状态可以使用netstat ...
- Hadoop 配置文件简介
1.core-site.xml文件 这是一个描述集群中NameNode结点的URI-统一资源标识符(包括协议,主机名称,端口号),集群里面的每一台机器都需要知道 NameNode的地址.DataNod ...
- 再写KMP算法
#include<iostream> #include<string> using namespace std; void getNext(char const*T,int l ...
- Ubuntu下ssh免password登录安装
1.首先在本机安装openssh-server和openssh-client. 命令:sudo apt-get install openssh-server openssh-client 2.在检查当 ...
- Notepad++中如何设置自动换行以及行宽
view-->word wrap; setting->preference-->vertical edge settings; Notepad++中如何设置自动换行以及行宽 http ...
- Java进阶01 String类
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...
- NSThread的一些细节
1.NSThread创建方式(一个NSThread对象就代表一条线程)1.1>创建\启动线程(1)线程一启动,就会在thread中执行self的run方法NSTread *thread = [[ ...
- javascript每日一练(二)——javascript(函数,数组)
一.函数 什么是函数 function show(){}//不带参数 function show(){return 123;}//不带参数,有返回值 function show(arg1, arg2, ...
- 用 Asterisk 搭建自己的免费 VoIP 服务器
原文 http://www.yaoblog.info/?p=5021 1. 这里以 Debian 为例子,安装 Asterisk apt-get update apt-get install aste ...
- 开始着手Oracle中Scott用户的管理系统
准备好长时间,一直想把最近所学用于实践,正好想到Oracle的Scott用户的表设计还算合理,且自己也很熟悉,现将整个系统的架构设定如下: 1.数据库不用说,Oracle 11g 的 Scott 用户 ...