face alignment by 3000 fps系列学习总结

标签: alignment
3318人阅读 评论(3) 收藏 举报
分类:

我们主要讲一讲Github上给出的matlab开源代码《jwyang/face-alignment》的配置。
首先声明:本人第一次配置的时候也是参考了csdn一个作者和github给出的说明配置成功的。其实后来想想很简单的,但是可能对于初学者,还是有一定的困难。为此,本人将自己的一些心得列出来,以供参考。
另外,本人对代码做了详尽的注释,代码下载地址:http://pan.baidu.com/s/1nu58xx3

  1. 下载源代码:https://github.com/jwyang/face-alignment
  2. 环境:windows64位+matlab2014a
  3. 下载数据库,本人给出自己收集的一个数据集。见百度网盘(密码:in)。注意:我们这里训练的是68个特征点的,我那个数据集还有29个点和194个点的。
  4. 为代码中的训练样本函数的依赖库liblinear做配置,从http://www.csie.ntu.edu.tw/~cjlin/liblinear/,可以直接下载liblinear库,然后如果你的系统是windows64位的就直接从里面的windows文件夹中将里面的文件全部拷贝到matlab的工程文件夹中(我就是这样干的,当然你也可以自己编译,参考文献:http://blog.sina.com.cn/s/blog_5bd2cb260100ev25.html)。(本人也上传了一个下好的liblinear库
  5. 准备数据,建立一个文件夹叫datasets,里面可以放你下好的数据,包括图片和shape txt.
  6. 因为train_model.m文件中
 for i = 1:length(dbnames)
    % load training samples (including training images, and groundtruth shapes)
    if strcmp(dbnames{i},'lfpw')==1
        imgpathlistfile = strcat('./datasets/', dbnames{i}, '/trainset/Path_Images.txt');
    else
        imgpathlistfile = strcat('./datasets/', dbnames{i}, '/Path_Images.txt');
    end
    tr_data = loadsamples(imgpathlistfile, 2);
    Tr_Data = [Tr_Data; tr_data];
end

表示读入训练样本的数据的文件是Path_Images.txt,所以进入控制台(cmd)先转到目录../datasets/afw,然后输入命令dir /b/s/p/w .jpg>Path_Images.txt,这是将所有jpg的文件的文件名都输入到Path_Images.txt文件中,同样转到目录../datasets/lfpw/trainset文件夹中输入命令dir /b/s/p/w .png>Path_Images.txt,因为lfpw的数据都是png文件。注意train数据集和test数据集都要做一遍。

注意:afw,ibug都是只有一个数据集,而lfpw分为两个,一个训练集,一个测试集。
7. 然后我们开始训练样本,在matlab文件夹下新建一个m文件,例如我这里建的是:train_start.m,然后里面输入一下代码:

filepath_model='./models/LBFRegModel.mat';

LBFRegModel=train_model({'lfpw'});

save(filepath_model,'LBFRegModel');

和《Face Alignment at 3000FPS工程配置》略有不同,其实本质一样。都是为了保存训练好的数据。只不过他分开保存,我一块而保存而已。

然后执行,训练样本的时间可能会过长。目的是将训练后的结果导入LBFRegModel.mat文件夹中.当训练完毕后,可以在./models文件夹下看到LBFRegModel.mat。
8. 观看结果。在matlab文件夹下新建一个m文件,例如我这里建的是:test_start.m,在里面输入下面代码:

filepath_model='./models/LBFRegModel.mat';
m=load(filepath_model,'LBFRegModel');
t=m.LBFRegModel;
[predshapes,Data]=test_model({'lfpw'},t);
[X,Y,N]=size(predshapes);
for i=1:N
   shapes=predshapes(:,:,i);
   img=Data{i}.img_gray;
   drawshapes(img, [shapes,Data{i}.shape_gt]);
   rectangle('Position',  Data{i}.bbox_facedet, 'EdgeColor', 'b');
   hold off;
   pause;
end

就可以看到结果了。
PS: Github上有作者自己训练的一个模型。使用时只需放在models里面,并将test_start.m中改为filepath_model=’./models/LBFRegModel_best.mat’;再将./src/config_te.m打开,将models/config_te_best.txt的内容复制进来即可。

另外:关于3000fps方法,网上也有许多好的资料,这里给出两个链接:
http://blog.luoyetx.com/2015/08/face-alignment-at-3000fps/#
http://freesouls.github.io/2015/06/07/face-alignment-local-binary-feature/(中间求特征树有一点问题,可以参考文中后面的答复).

后面,我会详细讲解这个matlab代码的原理,重点是预处理和训练,测试基本和训练相同。

查看评论

Face Alignment by 3000 FPS系列学习总结(一)

face alignment 流程图train阶段测试阶段预处理裁剪图片 tr_data = loadsamples(imgpathlistfile, 2); 说明: 本函数用于将原始图片取grou...
  • xiamentingtao
  • xiamentingtao
  • 2016-03-07 21:14:19
  • 4173

Face Alignment at 3000 FPS 学习理解和具体实现

这篇论文主要讲:Face Alignment 问题,即给人脸确定位置68个标点 (landmark)。 而这些标点位置肯定是最能区别不同人的位置。 Face Alignment 是很重要的,是人脸...
  • xp215774576
  • xp215774576
  • 2015-04-14 10:47:37
  • 8333

Face Alignment at 3000FPS工程配置

根据Face Alignment at 3000 FPS via Regressing Local Binary Features这篇文章的源代码的配置 1. 源代码地址:https://gith...
  • wangjian8006
  • wangjian8006
  • 2014-12-18 14:03:55
  • 9286

Face Alignment at 3000FPS(C++版)工程配置

3000FPS是人脸对齐算法,特点是速度快!我利用的是thinkface上一位大牛提供的代码http://www.thinkface.cn/thread-3136-1-1.html这里面提供了C++版...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2015-11-14 21:11:20
  • 6119

Face alignment in 3000 FPS 代码的运行

网上对论文 face alignment at 3000 fps via regressing local binary features 代码解析很少,希望能给读者代码详细的解析.这能论文下载地址 ...
  • xp215774576
  • xp215774576
  • 2015-04-15 12:47:53
  • 4580

3000fps和ESR正确率对比

3K算法 训练数据集:afw(图像337),helen(trainset图像2000),lfpw(图像811)。 模型:Regressor.model(79MB),LBF.model(5.91MB...
  • stf1065716904
  • stf1065716904
  • 2018-01-23 14:36:57
  • 112

C++版 Face Alignment at 3000FPS(三)Demo运行

C++版 Face Alignment at 3000FPS(三)Demo运行 显示人脸特征点
  • rongrongyaofeiqi
  • rongrongyaofeiqi
  • 2016-11-03 15:35:08
  • 801

人脸关键点定位3000fps的LBF方法

人脸对齐不错的论文理解
  • wfei101
  • wfei101
  • 2017-06-07 21:49:49
  • 1783

同时完成“训练和测试”(3000fps)

同时完成“训练和测试” 图像集训练 图像数据的测试
  • duan19920101
  • duan19920101
  • 2016-03-30 14:42:45
  • 611
    个人资料
    持之以恒
    等级:
    访问量: 35万+
    积分: 4776
    排名: 7586
    个人网站
    最新评论