人脸检测方法总结

1 人脸检测方法分类:对图像或者图像序列进行人脸检测的方法可以大致上分为四类,它们分别是知识规则方法、不变特征方法、模板匹配方法以及统计模型方法


(1)基于知识规则的方法:

基于知识规则的方法是利用人脸规则对输入图像进行人脸检测的方法(如:眼睛、鼻子、嘴巴等的分布)。这类方法主要是利用一些简单的规则来描述人脸面部特征以及这些特征之间的关系;(基于马赛克图人脸检测;镶嵌图法;用神经网络分别检测眼睛、鼻子、嘴;器官分布)


(2)基于特征的方法

基于不变特征的方法主要是通过寻找人脸面部不变的特征来对输入图像进行人脸检测。该类方法认为人脸面部的一些特征(肤色、边缘、纹理等)具有在不同的姿态、视角、表情下都不会发生改变的特性。(基于肤色的人脸检测;基于轮廓


(3)基于模板匹配的方法

基于模板匹配的方法是将人脸的面部特征用一个标准的人脸模板来描述,进行人脸检测的时候,先是计算输入图像子窗口与标准人脸模板之间的相关值,然后再将求得的相关值与事先设定的阂值进行比较,以判别输入图像中是否存在人脸.


以上三种又叫基于特征的检测方法;


(4)基于统计模型的方法

法是将人脸区域看作一类模式,使用大量的人脸数据作样木训练,来学习潜在的规则并构造分类器,通过判别图像中所有可能区域模式属性来实现人脸的检测。从而把人脸检测问题转化为统计模式识别的二分类问题,如基于神经网络的人脸检测【,和基十支撑向量机的方法,等。(haar+Adaboost、基于SVM的人脸检测、神经网络方法、基于贝叶斯估计的人脸检测)

人脸检测方法总结_第1张图片


2 经典人脸检测算法

基于肤色分割的人脸检测、

基于线性子空间的人脸检测、(PCA)            ?

基于贝叶斯估计的人脸检测、                          ?

基于人工神经网络的人脸检测、

基于svm的人脸检测

基于Adaboost算法的人脸检测

隐马尔科夫模型                                              ?



1 基于肤色分割的人脸检测、

1、图像预处理;2、建立肤色模型;3、相似度计算;4、二值化

1、图像预处理:

包括滤除噪声和亮度补偿。滤除噪声中是使用高斯滤波器等方法进行;由于光照影响图像的亮度,这里亮度补偿采用Gary World算法对RGB图像进行快速颜色补偿,即如下公式:

S=av1/av2;f=f1*S;其中av1为标准亮度图像R、G、B的平均值,av2为原输入图像R、G、B的平均值,f1为原输入图像的像素值,f为亮度补偿后输出图像的像素值.

YCbCr其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量

也可以不预处理只用表征颜色的b、r不用Y(这时图像是纯色的);


2、建立肤色模型

人脸检测方法总结_第2张图片

①收集大量人脸图片样本,收集的样本应多样化,包含不同性别,年龄以及种类,并剪切出人脸肤色区域做统计样本;

②在将色彩空间转换到YCbCr色彩空间,统计所有像素的Cb、Cr的数量;

③计算出均值,,同时计算出方差,以及协方差和。


肤色的高斯模型:         


人脸检测方法总结_第3张图片

x是二维向量r、b是两个关于颜色的量,x=m时,P=1;然后递减,可以表示是人脸的概率;

m=(1,1);c=1;的肤色概率模型:z=exp(-(x.^2+y.^2)/2);

人脸检测方法总结_第4张图片



2 基于线性子空间的人脸检测、(PCA)?

3 基于贝叶斯估计的人脸检测

条件概率:

人脸检测方法总结_第5张图片人脸检测方法总结_第6张图片


全概率公式:



贝叶斯公式:

人脸检测方法总结_第7张图片

对一幅图像来说:

算出所有的P(y=yk | x);看看x属于哪一类的概率最大;

人脸检测方法总结_第8张图片


对图片用贝叶斯检测人脸:将人脸分为小块,每块寻找一个高维向量(Gabor特征等),对每个小块用混合高斯建模,训练一个贝叶斯分类器;每个小块的分类器融合的方法:加权求和、相乘等;


贝叶斯的使用:从病人的咳嗽、发烧等判断,病人得病了没?得的什么病?

条件概率、贝叶斯:https://wenku.baidu.com/view/8c42042f2af90242a895e54a.html

4 基于人工神经网络的人脸检测、

5 基于svm的人脸检测

一般是LBP+SVM;

我见过的将svm最全的博客了:http://blog.csdn.net/v_july_v/article/details/7624837#t34

6 基于Adaboost算法的人脸检测

一般是Adaboost+haar/HOG/LBP;

HOG:方向梯度直方图(Histogram of Oriented Gradient, HOG):http://blog.csdn.net/dream_bin123/article/details/78774871


7 隐马尔科夫模型?

马尔可夫模型:t+1时刻的观察序列,有且仅由t时刻的观察序列决定;

隐马尔可夫模型:有两个序列:状态序列,观察序列;;状态序列之间会转移,状态序列决定当前时刻的观察序列;


隐马尔可夫模型是采用概率统计的方法描述时变信号。 HMM原来是应用在语音识别领域的,并取得了相当的成功,但是由于语音信号是一维信号,而图像是二维信号,为了把HMM应用于二维的图像,就要在图像上取一个采样窗口,该窗口的宽度就是图像的宽度,高度可能只有几个像素,然后将在图像上由上至下滑动,相邻窗口之间允许重叠,这样就把人脸垂直分成了五个区域:前额,眼睛,鼻子,嘴巴,下领,然后用一个五状态的HMM模型来表达人脸。基于离散马尔可夫模型和奇异值特征的人脸检测方法.其实质是将奇异值特征转化为向量序列.再利用HMM对其进行识别,这种方法鲁棒性较好,对不同角度和不同光照条件的人脸图像都可以取得较好的识别效果。



奇异值分解+隐马尔可夫:

奇异值分解:

http://blog.csdn.net/zhongkejingwang/article/details/43053513

基于隐马尔可夫模型的人脸识别研究_沈杰.caj

隐马尔可夫:

隐马尔可夫图解:https://wenku.baidu.com/view/a60329ea6edb6f1afe001f2c.html
隐马尔可夫三个问题:
1 计算观察序列的概率:
2 计算观察序列对应的最可能的状态系列(预测):
https://wenku.baidu.com/view/f1ed2b325b8102d276a20029bd64783e09127ddc.html
人脸检测方法总结_第9张图片
3 参数学习之Baum-Welch算法详解(无监督的没看懂):
隐马尔可夫模型的学习,就是求A(状态转移矩阵)、B(状态到观察)可以统计来做啊,根据训练数据是包括观测序列和对应的状态序列还是只有观测序列,可以分别由监督学习与非监督学习实现。本节首先介绍监督学习算法,而后介绍非监督学习算法——Baum-Welch算法(也就是EM算法)
http://blog.csdn.net/u014688145/article/details/53046765?locationNum=7&fps=1









你可能感兴趣的:(人脸检测)