环境依赖:
opencv2413opencv安装和配置:参考之前发表的一篇文章: opencv安装和配置 http://blog.csdn.net/SalterDucky/article/details/77819410
开始:
1 准备数据库(参见工程文件中的LBF.cpp)//trainDataName.push_back("afw");下载这四个数据库(地址:https://ibug.doc.ic.ac.uk/resources/facial-point-annotations/)到某个目录下,各自解压到自己的目录(如:./datasets/afw/*.jpg等)
//trainDataName.push_back("helen");
//trainDataName.push_back("lfpw");
//testDataName.push_back("ibug");
四个数据库下载完毕以后,当前目录应该是
./datasets/afw/*然后返回桌面,按win+R,输入 cmd 打开控制台,改变当前工作目录为datasets所在文件夹,假设是d盘,则步骤为:
./datasets/helen/*
./datasets/lfpw/*
./datasets/ibug/*
D: <点击回车>
cd D:/你/的/datasets/所/在/的/文/件/夹/ <点击回车>
<开始生成这四个文件夹下的所有文件路径到当前数据集的 Path_Images.txt 下>
cd afw <点击回车>
dir /b/s/p/w *.jpg>Path_Images.txt <点击回车>
cd ../lfpw/testset <点击回车>
dir /b/s/p/w *.png>Path_Images.txt <点击回车>
cd ../trainset <点击回车>
dir /b/s/p/w *.png>Path_Images.txt <点击回车>
注意:以上这些命令只是生成了afw数据库和lfpw数据集的必备的路径文件,如果你需要用到其他的数据集(helen、ibug等)就需要自己生成相应的Path_Images.txt并在LBF.cpp中标出其位置。由于我仅用了这两个数据集,其他的没有使用。
2 配置vs2013环境
2.1 下载vs2013工程文件(http://pan.baidu.com/s/1o8OFU0E),放到某个盘下并解压,待用2.2 配置opencv的环境
打开工程文件的sln,(如出现加载工程失败的情况,请自己查看错误原因是有几项配置打不开,此时打开工程配置文件3000_test.vcxproj,找到并删除打不开的那几项并重新加载即可),右击工程名称,选择当前工程设置,配置opencv(参见我之前发表的 指导文章 http://blog.csdn.net/SalterDucky/article/details/77819410 ,重复操作一遍opencv配置的步骤2.4即可)
2.3 修改工程中的LBF.cpp文件
2.3.1 修改调试参数:打开工程设置(<右击>项目 -> 属性)找到 通用属性-> 调试,里面有个命令参数的输入框,输入命令参数即可。
解释:类似于控制台运行的时候,输入的参数,如果输入的是:<空格>TrainModel 则相当于在控制台中输入:test_3000.exe TrainModel
2.3.2 修改视频帧数
这个我已经修改好了,参数为Demo的时候可以直接实时显示脸部的配准情况
3 运行
运行的参数共有三个,训练、测试和Demo我现在进行在这个阶段,目前并没有发现速度有多块,效果有多好,正在进一步测试和修改,欢迎交流
4 注意
参考了大量的资料、文献,少数记不清楚到底在哪了,我尽量将所有都用过的资料全部放在这里参考资料:
论文原文:Face Alignment at 3000 FPS via Regressing Local Binary Features
http://7xrqgw.com1.z0.glb.clouddn.com/3000fps.pdf
资源综合:
3000fps face alignment资源汇总
http://blog.wangcaiyong.com/2016/03/19/face-alignment/
原理解析:
C++实现和解读Face Alignment at 3000fps via Local Binary Feature
https://freesouls.github.io/2015/06/07/face-alignment-local-binary-feature/#4-__u6548_u679C_u5982_u56FE_uFF1A_u8FD8_u662F_u5F88_u4E0D_u9519_u7684
Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
http://blog.h5min.cn/real_myth/article/details/52188444
论文阅读“Face Alignment at 3000 FPS via Regressing Local Binary Features”
http://blog.csdn.net/ubunfans/article/details/51475603
代码运行:
源代码:face-alignment-at-3000fps
https://github.com/luoyetx/face-alignment-at-3000fps
配置选项:Face Alignment at 3000FPS(C++版)工程配置(非Cmake)
http://blog.csdn.net/duan19920101/article/details/50582249
将人脸数据库生成为.txt文件
http://blog.csdn.net/duan19920101/article/details/50585454