人脸对齐--One Millisecond Face Alignment with an Ensemble of Regression Trees

One Millisecond Face Alignment with an Ensemble of Regression Trees
CVPR2014
http://www.csc.kth.se/~vahidk/face_ert.html
https://github.com/suzuichi/OneMillisecondFaceAlignment

本文也是使用级联回归器来做人脸特征对齐的。速度快,效果不错,Dlib 实现了代码,可以测试

站在巨人的肩膀上可以看得更远。这里我们借鉴了前人的两个思路:
1)The first revolves around the indexing of pixel intensities relative to the current estimate of the shape
这里我们使用了一个相对位置的像素差值作为特征,为什么如此选择了? 在图像中我们使用一个 向量的形式来表示人脸的 shape,因为 一些变化因素如: shape deformation and nuisance factors such as changes in illumination conditions,导致了 这个基于向量表示形式的特征变化的幅度很大,基于这个特征来做精确的 shape estimation 就比较难。这里面有一个鸡和蛋的问题: 可靠的特征和精度的 shape estimation 是相互依赖的。
The dilemma is that we need reliable features to accurately predict the shape, and on the other hand we need an accurate estimate of the shape to extract reliable features. 对于这种问题一般都是采用 iterative approach (the cascade) 来解决的。这里我们没有基于图像的 global coordinate system 来提取特征,而是基于当前估计的shape 的 normalized coordinate system 来提取特征。基于这个特征我们预测一个 update vector,一般迭代几个步骤就收敛了。

2) The second considers how to combat the difficulty of the inference/prediction problem。在测试阶段,基于向量的人脸特征点 shape 优化是一个 non-convex with many local optima。 an alignment algorithm has to estimate the shape, a high dimensional vector, that best agrees with the image data and our model of shape. 后来研究指出 基于 linear subspace 可以快速减少搜索空间并有助于 avoid local optima。
我们的高效回归函数学习的方法融合了上述的两个思想。

2 Method
2.1. The cascade of regressors
多个回归器的级联,每个回归器的预测基于图像和前一次的预测

initial shape can simply be chosen as the mean shape of the training data centered and scaled according to the bounding box output of a generic face detector

2.2. Learning each regressor in the cascade
首先介绍了 regression function r0 的 学习,初始化完成之后,就可以开始迭代

2.3. Tree based regressor

这里主要介绍了训练每个 regression tree 的一些主要实现问题
1)Shape invariant split tests
2)Choosing the node splits
3)Feature selection:exponential prior

2.4. Handling missing labels
这里介绍了怎么处理一部分特征点没有标记的问题

3 Experiments

原文链接:https://blog.csdn.net/zhangjunhit/article/details/79000831

原文地址:https://www.cnblogs.com/Ph-one/p/12687852.html

时间: 2024-10-11 05:12:05

人脸对齐--One Millisecond Face Alignment with an Ensemble of Regression Trees的相关文章

人脸对齐SDM原理----Supervised Descent Method and its Applications to Face Alignment

最近组里研究了SDM算法在人脸对齐中的应用,是CMU的论文<Supervised Descent Method and its Applications to Face Alignment>.因为思路简洁巧妙有效,两年下来引用率就有283+了,以后估计1k+,这么有影响力的文章是要学习学习.网上有了相关的原理介绍,例如:http://www.thinkface.cn/thread-2913-1-1.html,自己看了有所了解,但不能真正理解原理思路,还是直接看论文为妥. 1.问题 最小二乘问题

人脸检测与人脸对齐指标

人脸检测指标: 召回率(Recall):正确检测到的人脸数量与测试数据集所有人脸数量之比.反映了检测器可以正确找到多少人脸. 精确度(Precision):在所有输出的人脸中,正确的人脸所占的比例.反映了检测器结果的可靠程度. 稳定度(Stability):当人脸在图片中的位置和大小发生变化时,输出的人脸位置和大小也需要相对于真实人脸保持不变,一般用标注的位置和检测到的位置的重合度来衡量. 人脸对齐指标: 平均相对误差(Mean Squared Error):各个检测到的基准点与实际基准的距离的

人脸对齐

方案一:利用2个眼睛的中心位置辅助人脸对齐和归一化 (1)人脸检测 – Adaboost (2)人眼检测 –Adaboost (3)人眼中心位置确定,角度归一(即旋转人脸至水平位置)(旋转)        2眼之间的距离固定到某一个数值(缩放)        计算源图像中两眼之间的水平间距d1,已知要固定的两眼之间水平间距值d2,放缩比率ratio=d2/d1;根据ratio放缩图像. (4)人脸裁剪和尺度归一         三庭五眼准则        这个方案的缺点是眼睛检测存在误检,误检的

caffe 多标签 人脸对齐训练

1. 数据处理,包括数据增强.人脸区域裁剪以及归一化 2.caffe 多标签配置 更改D:\caffe-master\src\caffe\proto 里 caffe.proto 文件 message Datum { optional int32 channels = 1; optional int32 height = 2; optional int32 width = 3; // the actual image data, in bytes optional bytes data = 4;

Python利用Dlib库进行人脸识别

0.引言 自己在下载dlib官网给的example代码时,一开始不知道怎么使用,在一番摸索之后弄明白怎么使用了: 现分享下 face_detector.py 和 face_landmark_detection.py 这两个py的使用方法: 1.开发环境 python: 3.6.3 dlib: 19.7 2.py文件功能介绍 face_detector.py : 识别出图片文件中一张或多张人脸,并用矩形框框出标识出人脸: face_landmark_detection.py : 在face_det

用200行Python代码“换脸”

介绍 本文将介绍如何编写一个只有200行的Python脚本,为两张肖像照上人物的“换脸”. 这个过程可分为四步: 检测面部标记. 旋转.缩放和转换第二张图像,使之与第一张图像相适应. 调整第二张图像的色彩平衡,使之与第一个相匹配. 把第二张图像的特性混合在第一张图像中. 完整的源代码可以从这里下载: https://github.com/matthewearl/faceswap/blob/master/faceswap.py 1.使用dlib提取面部标记 该脚本使用dlib的Python绑定来提

从硬件到语言,详解C++的内存对齐(memory alignment)

转载请保留以下声明 作者:赵宗晟 出处:https://www.cnblogs.com/zhao-zongsheng/p/9099603.html 很多写C/C++的人都知道"内存对齐"的概念以及规则,但不一定对他有很深入的了解.这篇文章试着从硬件到C++语言.更彻底地讲一下C++的内存对齐. 什么是内存对齐(memory alignment) 首先,什么是内存对齐(memory alignment)?这个是从硬件层面出现的概念.大家都知道,可执行程序是由一系列CPU指令构成的.CPU

人脸特征点定位与检测

前两周研究了一点关于人脸表情识别的文章,很多方法都是基于在提取人脸特征点的基础上完成的,然后利用网格模型或者形变模型对特征点进行分析和检测以及分类的方法实现对人脸表情的识别,可以看出人脸关键点(特征点)的提取与定位在人脸表情识别占有很重要的地位,决定画1-2周时间研读一些人脸关键点提取的文章,本周主要调研了人脸特征点检测.定位和人脸校准的算法: 人脸特征点检测的方法主要看了ASM(Active Shape Model)算法,是基于点分布模型PDM的算法,在近几年的CVPR很多文章有介绍,主要也是

人脸对其和应用

原文: http://www.thinkface.cn/thread-4354-1-1.html http://www.thinkface.cn/thread-4488-1-1.html 人脸对齐任务即根据输入的人脸图像,自动定位出面部关键特征点,如眼睛.鼻尖.嘴角点.眉毛以及人脸各部件轮廓点等,如下图所示. 这项技术的应用很广泛,比如自动人脸识别,表情识别以及人脸动画自动合成等.由于不同的姿态.表情.光照以及遮挡等因素的影响,准确地定位出各个关键特征点看似很困难.我们简单地分析一下这个问题,不