Joint Cascade Face Detection and Alignment
ECCV2014
https://github.com/kensun0/Joint_Cascade_Face_Detection_And_Alignment
https://github.com/FaceDetect/jointCascade_py
本文是早期的将人脸检测和对齐相结合的文献,利用人脸特征点的空间位置分布规律作为一个判断人脸有无的辅助信息
2 Alignment Helps Detection: a Post Classifier
这里首先通过后验分类器的方式来验证 人脸对齐 对人脸检测是有帮助的。
这里我们用一个 opencv 低阈值的 Viola-Jones detector 来检测人脸,人脸基本没有遗漏,但是虚警区域也很多。我们使用了一个 SVM 分类器来过滤
这里我们使用了三类特征训练了三个 SVM,三组特征如下:
1) we divide the window into 6*6 non-overlapping cells and extract a SIFT descriptor in each cell.
2)we use a fixed mean face shape with 27 facial points and extract a SIFT descriptor centered on each point.
3)we align the 27 facial points using the alignment algorithm in [21] and extract a SIFT descriptor centered on each point.
上面的结果得出的结论就是 人脸对齐对于人脸检测是有帮助的。但是这种后验分类器的方式不是很好。brute force and too slow
3 A Unified Framework for Cascade Face Detection and Alignment
这里我们的目标是提出一个统一的框架来完成 级联人脸检测和对齐
首先来看看级联检测 Cascade Detection
级联检测使用了若干个弱分类器组合,对于一个测试图像块 X,弱分类器是 sequentially evaluated,如果某一个弱分类器的分类器置信度达不到一定的阈值,则直接拒绝该图像块,也就是该图像块不包含人脸。Therefore, the cascade detection is very fast because most negative image windows are rejected after evaluating only a few weak classifiers.
Cascade Alignment 级联人脸对齐
文献【19】提出一个 pose regression framework,后来用于人脸对齐效果很好。
给定一个初始人脸位置,通过若干个 regression function , It adds an increment to the estimated shape from the previous stage S(t-1) . It is learnt to minimize the shape residual error between the ground truth shape ^S and estimated shape in the current stage
5 Experiments
we detect faces larger than 80 × 80 in a VGA image. Our detector takes 28.6 milliseconds using single thread on a 2.93 GHz CPU
In the runtime, our detector needs only 15MB memory
11