转载: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,编译,运行。这个问题的具体原因及解决方案请参考:

也可以直接配置OPENCV的路径,指到build目录就可以了!在cmake中设置opencv的路径例如:在addEntry添加OPENCV_DIR

d:\\opencv\\opencv2.4.9\\build

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:测试)

LBF算法的环境配置相关推荐

  1. LBF算法得到JDA算法的训练数据(杂谈)

    1:搭建好人脸对齐的LBF算法的环境,采用数据集训练68个特征点的数据集: 2:用训练好的模型生成人脸框和5个点的文件,得到JDA的训练数据: 3:采用JDA算法进行训练: 4:JDA算法的核心思想就 ...

  2. 数字图像相关DIC算法,Ubuntu16.04,Ncorr项目C++版本开源环境配置

    数字图像相关DIC算法,Ubuntu16.04,NcorrC++版本开源代码环境配置流程. 本文介绍C++版本数字图像相关法DIC环境配置过程,配置了好几天,痛苦踩坑经历. DIC算法.资料.源码.实 ...

  3. [Deep learning 环境配置之四]YOLO算法之YAD2K配置教程

    YOLO算法之YAD2K配置教程 ****总结:遇到缺少文件的问题,通常是因为库之间的版本更新问题,解决办法通常是阅读错误原因,修改源代码(增删改缺失的函数/属性). 配置yad2k是个坑,一定要注意 ...

  4. Python环境配置保姆教程(Anaconda、Jupyter、GPU环境)!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴永强,东北大学,Datawhale团队成员 1. 写在前面 搞算 ...

  5. 深度学习环境配置指南:Pytorch、TensorFlow、Keras

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Yukyin@知乎 来源丨https://zhuanlan.z ...

  6. 深度学习100问-1:深度学习环境配置有哪些坑?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 从今天起,开辟一个新的专栏,名字就叫深度学习100问.选取深度学习 ...

  7. 一次搞定OpenCV源码及扩展模块的编译与环境配置

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|计算机视觉工坊 版本:VS2017.CMake3.12. ...

  8. Spring Boot 2.4 对多环境配置的支持更改

    在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整.相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些 ...

  9. python电脑配置苹果笔记本-tensorflow学习笔记1——mac开发环境配置

    1. mac电脑推荐配置 内存:8G+ cpu:i5+ 硬盘:SSD 128G+ 本人的电脑配置是cpu:i7, 内存:16G,硬盘:SSD 256G 2. mac开发环境配置 1.1 安装pip 打 ...

最新文章

  1. 比特币分叉第一案,谁动了我的比特币现金?
  2. java实现md5加密示例
  3. Linux内存管理(经典)
  4. java技术栈有哪些_Java程序员必备的21个核心技术,你都掌握了哪些?
  5. 清理Mac OSX中安装的nvidia CUDA driver
  6. .NET Core开发日志——HttpClientFactory
  7. web监听器监听mysql_JavaWEB开发15——ListenerListener
  8. 员工出错处罚通知_员工被罚款50元!理由是用了单位公厕的厕纸…
  9. 每天一个linux命令(10):more命令
  10. Java编程思想评注者序
  11. 重读你不知道的JS (上) 第一节五章
  12. 项目管理面试经验之谈
  13. 题目推荐—POJ数学题目
  14. docker 保存 环境持久化_Docker深入浅出系列 | 容器数据持久化
  15. 未来的量子计算机模型,量子计算机上量子人工生命模型
  16. 雷蛇zGold与Nexon America建立全球合作伙伴关系
  17. 论坛社区项目——项目总结
  18. 抖音跳转微信加好友功能实现解析
  19. c语言打印日历的程序,简单日历打印(C语言)
  20. Git配置免密登录及常用操作的详细教程(基于Gitee平台)

热门文章

  1. JS 调用 麦克风 检测实时音量
  2. LINUX 构建PXE一键装机平台
  3. Linux玩阴阳师桌面版本
  4. keil mdk 编译过程中出现的Could not open file .\core_cm3.0 问题
  5. 关于vRA 6.2.1(vCAC)公网端口映射
  6. 以客户为中心的CRM系统
  7. aqnu2073超级宝贝 水题
  8. ABP .net core2.0 Json 日期格式 和 驼峰设置
  9. 将汉字转换为Unicode编码vb.net源码
  10. 英语论文文献翻译小窍门