LBF算法的环境配置
转载: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算法的环境配置相关推荐
- LBF算法得到JDA算法的训练数据(杂谈)
1:搭建好人脸对齐的LBF算法的环境,采用数据集训练68个特征点的数据集: 2:用训练好的模型生成人脸框和5个点的文件,得到JDA的训练数据: 3:采用JDA算法进行训练: 4:JDA算法的核心思想就 ...
- 数字图像相关DIC算法,Ubuntu16.04,Ncorr项目C++版本开源环境配置
数字图像相关DIC算法,Ubuntu16.04,NcorrC++版本开源代码环境配置流程. 本文介绍C++版本数字图像相关法DIC环境配置过程,配置了好几天,痛苦踩坑经历. DIC算法.资料.源码.实 ...
- [Deep learning 环境配置之四]YOLO算法之YAD2K配置教程
YOLO算法之YAD2K配置教程 ****总结:遇到缺少文件的问题,通常是因为库之间的版本更新问题,解决办法通常是阅读错误原因,修改源代码(增删改缺失的函数/属性). 配置yad2k是个坑,一定要注意 ...
- Python环境配置保姆教程(Anaconda、Jupyter、GPU环境)!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴永强,东北大学,Datawhale团队成员 1. 写在前面 搞算 ...
- 深度学习环境配置指南:Pytorch、TensorFlow、Keras
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Yukyin@知乎 来源丨https://zhuanlan.z ...
- 深度学习100问-1:深度学习环境配置有哪些坑?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 从今天起,开辟一个新的专栏,名字就叫深度学习100问.选取深度学习 ...
- 一次搞定OpenCV源码及扩展模块的编译与环境配置
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|计算机视觉工坊 版本:VS2017.CMake3.12. ...
- Spring Boot 2.4 对多环境配置的支持更改
在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整.相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些 ...
- python电脑配置苹果笔记本-tensorflow学习笔记1——mac开发环境配置
1. mac电脑推荐配置 内存:8G+ cpu:i5+ 硬盘:SSD 128G+ 本人的电脑配置是cpu:i7, 内存:16G,硬盘:SSD 256G 2. mac开发环境配置 1.1 安装pip 打 ...
最新文章
- 比特币分叉第一案,谁动了我的比特币现金?
- java实现md5加密示例
- Linux内存管理(经典)
- java技术栈有哪些_Java程序员必备的21个核心技术,你都掌握了哪些?
- 清理Mac OSX中安装的nvidia CUDA driver
- .NET Core开发日志——HttpClientFactory
- web监听器监听mysql_JavaWEB开发15——ListenerListener
- 员工出错处罚通知_员工被罚款50元!理由是用了单位公厕的厕纸…
- 每天一个linux命令(10):more命令
- Java编程思想评注者序
- 重读你不知道的JS (上) 第一节五章
- 项目管理面试经验之谈
- 题目推荐—POJ数学题目
- docker 保存 环境持久化_Docker深入浅出系列 | 容器数据持久化
- 未来的量子计算机模型,量子计算机上量子人工生命模型
- 雷蛇zGold与Nexon America建立全球合作伙伴关系
- 论坛社区项目——项目总结
- 抖音跳转微信加好友功能实现解析
- c语言打印日历的程序,简单日历打印(C语言)
- Git配置免密登录及常用操作的详细教程(基于Gitee平台)