face alignment by 3000 fps系列学习总结
我们主要讲一讲Github上给出的matlab开源代码《jwyang/face-alignment》的配置。
首先声明:本人第一次配置的时候也是参考了csdn一个作者和github给出的说明配置成功的。其实后来想想很简单的,但是可能对于初学者,还是有一定的困难。为此,本人将自己的一些心得列出来,以供参考。
另外,本人对代码做了详尽的注释,代码下载地址:http://pan.baidu.com/s/1nu58xx3
- 下载源代码:https://github.com/jwyang/face-alignment
- 环境:windows64位+matlab2014a
- 下载数据库,本人给出自己收集的一个数据集。见百度网盘(密码:in)。注意:我们这里训练的是68个特征点的,我那个数据集还有29个点和194个点的。
- 为代码中的训练样本函数的依赖库liblinear做配置,从http://www.csie.ntu.edu.tw/~cjlin/liblinear/,可以直接下载liblinear库,然后如果你的系统是windows64位的就直接从里面的windows文件夹中将里面的文件全部拷贝到matlab的工程文件夹中(我就是这样干的,当然你也可以自己编译,参考文献:http://blog.sina.com.cn/s/blog_5bd2cb260100ev25.html)。(本人也上传了一个下好的liblinear库)
- 准备数据,建立一个文件夹叫datasets,里面可以放你下好的数据,包括图片和shape txt.
- 因为train_model.m文件中
for i = 1:length(dbnames)% load training samples (including training images, and groundtruth shapes)if strcmp(dbnames{i},'lfpw')==1imgpathlistfile = strcat('./datasets/', dbnames{i}, '/trainset/Path_Images.txt');elseimgpathlistfile = strcat('./datasets/', dbnames{i}, '/Path_Images.txt');endtr_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:Nshapes=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 by 3000 fps系列学习总结(三)
训练 我们主要以3000fps matlab实现为叙述主体. 总体目标 我们需要为68个特征点的每一个特征点训练5棵随机树,每棵树4层深,即为所谓的随机森林. 开始训练 分配样本 事实上,对于每个特征 ...
- Face Alignment by 3000 FPS系列学习总结(一)
广播: 如今的opencv已经提供了LBF的训练和测试代码,推荐阅读 <使用OpenCV实现人脸关键点检测> face alignment 流程图 train阶段 测试阶段 预处理 裁剪图 ...
- face alignment by 3000 fps系列学习总结(二)
准备初始数据 mean_shape mean_shape就是训练图片所有ground_truth points的平均值.那么具体怎么做呢?是不是直接将特征点相加求平均值呢? 显然这样做是仓促和不准确的 ...
- 人脸对齐--Face Alignment at 3000 FPS via Regressing Local Binary Features
Face Alignment at 3000 FPS via Regressing Local Binary Features CVPR2014 https://github.com/yulequan ...
- Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass) 这篇文章还是通过训练形 ...
- Face alignment at 3000 FPS via Regressing Local Binary Features
最近在网上找了三个程序,一个程序是buding 找到给我的,是face alignment 的程序,网址是: http://www.csc.kth.se/~vahidk/face_ert.html 这 ...
- 论文《Face Alignment at 3000 FPS via Regressing Local Binary Features》笔记
论文:Face Alignment at 3000 FPS via Regressing Local Binary Features.pdf 实现:https://github.com/luoyetx ...
- 《Face alignment at 3000 FPS via Regressing Local Binary Features》阅读笔记
文章目录 一.前言 二.基于形状回归的人脸对齐算法 三.previous work 四.算法的具体实现 4.1 $\phi^{t}$ 的训练 4.2 全局线性回归矩阵 $W^{t}$ 的训练 五.局部 ...
- 人脸识别技术大总结——Face Detection Alignment
作者:sciencefans 搞了一年人脸识别,寻思着记录点什么,于是想写这么个系列,介绍人脸识别的四大块:Face detection, alignment, verification and id ...
最新文章
- 云计算如何重塑和简化大规模IT资产
- React、Vue、Angular对比 ---- 介绍及优缺点
- 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | e^jωn 的傅里叶变换 )
- 43、Power Query-函数综合应用
- 经典C语言程序100例之五零
- Taro+react开发(76):taro安装
- 大年初一,磊哥给大家发大红包啦!
- Dubbo之Filter链原理
- python3 web界面_python3 web更新和web查看日志的功能
- 图解PostgreSQL进程结构和内存结构
- java基础语法的书_第一章--Java基础语法
- (筆記) Continuous Assignment的幾個特色 (SOC) (Verilog)
- office 高效办公智慧树_精品网课office,让工作学习更轻松
- 【跟着我们学Golang】基础结构
- 【转载】关于大型asp.net应用系统的架构-架构的选择
- Thread.Sleep太久,界面卡死
- python爬虫框架论文开题报告范文_基于Web爬虫系统设计开题报告
- 360奇酷手机显示Log
- WEB--3D立体魔方小游戏 (附源码)
- markdown编辑器——文字颜色、大小、字体、背景色、图片大小与居中对齐的设置方法