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