《基于子空间的人脸识别》文献笔记

来源:互联网 发布:cms始源勇者王 编辑:程序博客网 时间:2024/05/18 02:57

  前记:本人目前研一,刚刚接触这个这个领域,仅想以这种形式记录自己走过的点点滴滴,欢迎大家批评指正。

  《基于子空间的人脸识别》是程正东,章毓晋编写的,清华大学出版社出版的一本关于人脸识别的书,书中对于基于子空间的各种人脸识别方法的原理以及性能、优缺点做了较为详细的介绍,可以作为模式识别、人脸识别的入门书籍。这里附上电子版的下载地址http://download.csdn.net/download/wereineky/5164838

      本书大概分为四个部分,第一部分是人脸识别的基础知识,研究流程,研究现状;第二部分是人脸的描述,检测与跟踪;第三部分是各种基于子空间的人脸识别方法,诸如PCA、LDA,核方法,张量脸以及他们的推广等等一系列线性或非线性的方法。第四部分是分类器的设计。

1、人脸识别的基础知识

  人脸识别属于图像模式识别的范畴,现在的人脸识别技术基本都是基于生物特征的。这里涉及到人脸识别领域几个相关概念:
  (1)人脸定位:确定单个人脸在图像中的位置,是一个简化了人脸检测问题;
  (2)人脸跟踪:实时的连续的估计人脸在图像序列中的位置;
  (3)脸部特征检测:假设输入图像中只有人脸,检测耳朵,鼻,眼,眉毛存在与否及位置的问题;
  (4)人脸识别:将输入图像与图像库中的图像比较,并在匹配时给出信号;
  (5)人脸验证:验证输入图像中人脸的身份;
  (6)面部表情识别:识别图像中人脸的情感状态。
  人脸识别的大致流程如下:
 
  其中人脸检测即在输入的图像中寻找人脸区域,这个过程受很多因素影响,例如姿态(面对摄像机的角度)、遮挡、光照、脸部表情、脸部结构元的存在与否(如眼镜,胡须等)(这里想到一个问题就是:人变装后是否还能检测出来,目前都是解决一些遮挡问题)等等。之后就是对人脸区域提取特征,即从人脸图像中提取一组表征人脸数据特征的样本,包括几何特征(距离,角度),代数特征(矩阵或特征向量),固定特征模板等。人脸识别是一种典型的高位大数据集模式识别的应用,特征降维就是将高维空间的数据映射到低维的子空间中,减少匹配计算度的同时能够有效完成人脸的鉴别和分类工作。匹配识别是在特征提取和降维的基础,将待识别的人脸与数据库中已知的人脸进行匹配比较,建立它们之间的关系,并输出匹配结果。
人脸识别系统常由两个过程组成:离线学习和在线匹配。离线学习就是提取训练集中的人脸特征,建立训练样本特征子空间;在线匹配即在待检测的图像提取特征,并与特征子空间进行匹配,根据输出结果进行分类。其联系如图:

2、人脸检测,描述和跟踪

(1)人脸检测
  人脸检测即在输入图像中判断是否存在人脸,既要求较高的检出率,又要求较低的误检率。主要分为两类,一是基于知识,即基于特定规则,这些规则来自于关于人脸模式的先验知识;另一类是基于学习,即通过对训练样本的学习,得到分类器。这是目前的主流研究方法,主要的研究成果有基于贝叶斯准则,基于人工神经网络(ANN),基于支持向量机(SVM);基于Adaboost算法等;基于学习的人脸检测的流程如图:
  对于人脸检测的性能评价通常有ROC曲线和RP曲线。ROC曲线以虚警率为横坐标,检测率为纵坐标。曲线越靠近左上角,即虚警率越低,检测率越高,表明性能越好。
  RP曲线以查准率为横坐标,以查全率为纵坐标。同样曲线越靠近左上角性能越好。
  本书中关于人脸检测主要介绍了Adaboost算法,这里不再赘述具体算法,只对关于这种算法的推广作简要介绍。
  1、Haar矩形特征的扩展:这里共有15个矩形特征,能组合成更多特征模板,如:
  在这里选择合适的矩形特征是关键问题,而且特征增加的同时是不是同时也增加了计算量?
  2、将简单的阈值分类器扩展成直方图弱分类器
 
  3.非对称结构的Adaboost算法:即改变了权重的更新方式,增大正面样本的权重,减小负面样本的权重,并且将权重调整需要平均分布在每次迭代上,其公式为
  4、级联结构的扩展:即将上级的强分类器结果作为下一级分类器的第一个弱分类器,强调历史信息的充分利用,代表结构有:Boosting链式结构和嵌入式级联结构。
  (2)人脸跟踪
  人脸跟踪是指给定目标在第一帧中的位置,自动确定其在随后帧中的位置,研究的难点主要有:目标外观的变化、遮挡问题以及目标与背景相似。现有的人脸跟踪方法分为确定性跟踪和随机跟踪。
  在确定性跟踪中以核跟踪为代表。核跟踪重心在于目标的表示与定位,目标用直方图表示,用各向同性的核函数对其进行加权,最大化目标与候选位置的相似度,最广泛应用的是Bhattacharyya系数:
  随机跟踪分为两类,一类是基于动力学系统模型,如卡尔曼滤波,这种算法假设状态向量在空间中符合高斯分布,有很大的局限性;还有就是粒子滤波,它通过非参数化的模型实现贝叶斯递推。其总体框架为用两个概率分布函数分别描述状态向量和观测向量,通过状态空间模型(如假设是一个马尔可夫过程)利用前一个向量推测后一个向量,在这里一个粒子就是一个样本,样本数量越大,性能越好。
  还有一类是基于统计模式的的识别,如支持向量机和Adaboost,实际就是将分类问题与跟踪问题结合起来,通过对图像上的某些单元进行分类,使得图像整体上的前景与背景分离,实现追踪的目的。在后续的每一帧图像上,算法采用通过集成分类器対前一帧的每个像素输出置信度,置信度最大的位置认为是目标所在位置。
(3)人脸描述
  1、ASM(主动形状模型)通过对具有一定代表性的同一目标图像进行统计来建模,从而得到反映目标图像2D形状规律的形状统计模型,以及反映特征点局部灰度变化的局部纹理模型。通常在2D图像中用一系列的坐标描述外观,并通过PCA进行降维运算。
  2、AAM(主动表观模型)在这个模型中,不仅对形状建模,而且建立了反应目标灰度变化的纹理模型,并通过权值江两者联系起来,是一种基于优化算法的搜索机制。在纹理信息的获得方面,采用了Delaway三角剖分算法建立人脸三角网络,并按某一固定顺序生成纹理向量,经过PCA降维,得到
  3、HOG特征及LBP 特征:HOG即梯度方向直方图,能很好的刻画边缘特性,不仅能适用于图像匹配,也能很好地用于物体检测。LBP即局部二值模式,是主要描述变化的而算子。(综合来看,无论是AAM还是HOG特征及LBP 特征,都显示出了整体加局部的思想)。
  4.基于盖伯变换特征的人脸描述,盖伯变换也是一种基于灰度像素的方法,克服了傅里叶变换在非平稳信号方面的不足。1D与2D的盖伯滤波器如下:

3、基于子空间的人脸识别

  在人脸识别中最重要的无非就是特征提取与模式分类的过程,根据特征提取的方式不同,分为了多种不同的方法。
  1、PCA算法:PCA实际上就是通过对输入做特征中心化后,提取协方差矩阵的特征向量作用于原矩阵,进行线性变换,从而实现降维的目的。
  但它只是基于二阶意义上的,将它扩展到高阶,就得到了ICA(独立分量分析),ICA表达式如下,其中S是隐含随机向量,其各分量是相互独立的,X是观测向量,ICA最大程度上降低了数据冗余性,是变换后的各维数据都趋向统计独立,目前大部分ICA算法都是对W进行优化。
  将PCA 扩展到张量(向量和矩阵在高阶上的扩展)空间就得到了2D-PCA,2D-PCA直接利用2D图像矩阵构造图像的协方差矩阵,进而求得图像协方差矩阵的主分量特征向量,然后将2D图像直接投影到图像的最优投影方向获得图像的特征表示。
  使用广义协方差矩阵代替PCA中的协方差矩阵就得到了同意主分量分析UPCA,在UPCA中G是一个带优化的参数,既涉及到分组策略的问题。
  2、LDA算法:LDA即线性鉴别分析,目标是通过选择适当的投影直线找到可能最大限度的区分两类数据点的投影方向,使得类内离散度最小的同时,类间离散度最大。类间离散度和类内离散度分别定义为
  其判别函数为
  针对类内类间度量矩阵的刻画和判别函数的各种变形,得到了多种LDA的推广算法。
  3、CFA:类依赖特征分析,CFA类似于把多类问题看成多个二类问题,即寻找多个投影轴。
  4、核方法:核方法的中心思想是通过一个非线性映射将低维的样本空间映射到高维空间(核空间),再在该向量空间实施某种线性子空间降维。这种非线性映射称为核函数,核函数具有多种,需根据样本具体选择。经过核函数映射后的样本矩阵称为核矩阵。

  将PCA扩展到核空间,就得到了KPCA和K2D-PCA,将PLDA扩展到核空间,就得到了KDA。
  核流形分析:把图像样本嵌入到高维空间的子流形上,提出了多种基于流形的子空间降维方法,包括有核局部保持映射(KLPP)、核图嵌入模型、核局部加权最大间距准则(KLWMMC)
  4、非负矩阵(集)分解(NMF):使分解后的所有向量均为非负值,并同时实现非线性降维。

  4、分类器设计

  1.最近邻法
  2、线性分类器:寻找一个决策面或者说超平面。典型的有支持向量机。                                                                                            
  3、神经网络
  4、Adaboost算法
 (具体的分类器设计这里不再叙述,希望以后可以针对性介绍每一种分类器)

1 0