基于LBP的人脸识别算法研究.docx
基于LBP的人脸识别算法研究基于LBP的人脸识别算法研究 一、应用背景 随着社会的发展以及技术的进步,人们对快速、高效的自动身份验证的要求日益迫切,生物识别技术在科研领域得到了极大的重视和发展。在人与人的接触中,人脸所包含的视觉信息占据了重要地位,它无疑是区分人与人之间差异的最重要特征之一。相对于指纹、虹膜、掌纹、步态、笔迹、声纹等生物特征,利用人脸来识别具有不可比拟的优势:操作隐蔽,特别适用于安全、监控、和抓逃工作;非接触式采集,无侵犯性,容易接受;方便、快捷、强大的实时追踪能力;符合人类识别习惯,交互性强;应用摄像头即可完成图像采集,设备成本较低。人脸识别属于计算机科研领域的一项热门技术,它是一种基于生物特征的识别技术,利用计算机从图像或图像序列中检测出人脸,并判断其身份。 人脸识别目前主要运用在如下三个方面: 第一,刑侦破案方面。例如,公安部门获得案犯的照片之后,可以利用人脸识别技术在存储罪犯照片的数据库中找出最相像的人,即嫌疑犯。 第二,证件验证方面。如身份证、驾驶执照以及其他很多证件上都有照片,现在这些证件多是人工验证的,如果应用人脸识别技术,这项任务就可以交给机器去完成,从而实现自动化智能管理。 第三,人口控制方面。此应用范围很广,例如可以设在楼宇单位或者私人住宅入口的安全检查,也可以是计算机系统或者情报系统等的入口检查。 世界上很多国家都在积极地开展对人脸识别技术的相关研究,不同的研究机构或研究人员按照不同的划分标准,对人脸识别的研究内容的分类不尽相同。在此处按其所研究得具体技术的范围可以大致将人脸识别分为如下四个方面的内容来进行阐述: 人脸检测,主要的方法有:基于轮廓信息人脸检测方法,基于 Adaboost算法人脸检测方法,基于支持向量机人脸检测方法以及基于神经网络的人脸检测方法等; 人脸特征描述与提取即特征提取,主要方法:基于局部二值模式纹理特征提取方法,基于人脸几何特征的特征提取方法,还有基于主成分特征特征提取方法,基于独立元特征的特征提取算法, 如 Gabor等,还有 2D 和 3D 形变模型方法等; 人脸特征降维,主要方法:线性降维方法如主成分分析 PCA和 LDA (Linear Discriminate Analysis) 等发展到非线性降维方法如局部线性嵌入(LLE) 、等距嵌入1 (ISOMAP)、拉普拉斯特征映射(LE)、局部切空间调整(LTSA)、基于黎曼法坐标的快速流形学习(FMLBRNC)等; 人脸属性特征分类与人脸识别,主要的技术方法包括:最近邻和 K 近邻分类,线性判别方法,核线性判别方法,支持向量机方法,人工神经网络法,隐马尔可夫模型方法等; 人脸识别算法的选择深受人脸识别系统具体应用的环境的影响,同时不同的应用场景对人脸识别系统也有着不同的要求,因此不可能存在通用的人脸识别算法,而是需要综合所有的情况选择最适合的人脸识别算法。 二、理论依据 2.1 基于几何特征的人脸识别方法 基于几何特征的人脸识别方法是最早出现的人脸识别方法之一,主要是利用人脸的五官的形状以及器官间的几何位置的关系,如嘴巴、鼻子、眼睛等人脸器官的局部形状特征以及其几何位置关系特征进行识别。几何特征的人脸识别方法主要是采用人脸器官的结构的先验知识来提取以器官形状以及器官间的空间位置关系为基础的特征,构成人脸特征向量,此类方法的实质就是提取出的几何特征向量间的匹配。基于几何特征的人脸识别方法原理比较简单,只是用到人脸器官的形状特征和器官间几何特征,算法思想也容易理解,但是识别效果不理想同时鲁棒性也较差。原因有二:第一,只是简单的采用人脸器官的形状特征和器官间几何特征,人脸图像中保留的信息量过少,根本就不利于后期的人脸识别工作的展开;第二,由于人脸容易受环境因素的影响如光照、物体遮挡、姿态等,大部分情况下是很难进行五官特征的精确分割和提取工作。 2.2 基于统计特征的人脸识别方法 由于人脸图像容易受到环境因素的影响如光照、障碍物遮挡、姿态变化和表情变化等,另外人脸图像中富含丰富的特征信息,如采用像基于几何特征的方法很难去准确的描述人脸图像信息。而近年来比较流行的基于统计特征的人脸识别方法,可以得到不错的识别效果。基于统计特征的人脸识别方法通常是采用某种映射方法将原图像空间中的像素点映射到另一个投影空间中去,而原空间向量称之为空间域向量,被映射 到的投影子空间的那个向量被称之为变换域向量,此方法的目的也显而易见,便是寻找一种两个空间域变换的最优表示,可以把这个经过空间域变换后的优化的那个向量称之为特征图像,经过空间域的变换使得每 类样本在变换后的分布更加具有规律可循,当然对于进行人脸识别也更加有利。基于统计特2 征的人脸识别的方法具有代表性的有主成分分析方法(PCA)、独立分量分析(ICA)以及线性鉴别分析方法(LDA)。 主成分分析方法 主成分分析(简称 PCA)是一种常用的基于变量协方差矩阵对信息进行处理、压缩和抽提的有效方法。我们从数学角度来进行定义解释 PCA 算法:假设给定 N 个点,X=x1,x2,xN ,each xiÎRD,然后将这些高维空间(D维)里的点被映射到低维空间(d维)后对应的点为Y=y,y,12映射到d维空间。 ,yN,eachyiÎRD,此处d<<D,此时从将向量从D维空间PCA 算法核心思想是通过寻找一组最优的单位正交子空间,而用来表征此单位正交子空间的单位正交向量则称之为 PCA 的主成分,让原样本空间的向量通过主成分的线性组合转换到此正交空间中来,使得新的样本和原样本之间满足 PCA 模型定义的优化标准,比如最小化重构误差、距离保持和最大化方差保留等,而最常用的优化标准是最小化重构误差。PCA 方法最大的优势就是可以将图像的特征进行降维,降维后进行识别,可以大大的加快人脸识别的速度。 PCA 方法的缺点也很明显,它要求人脸图像都是正面人脸,不这样的话,PCA 算法的人脸识别效果就会大不如人意,这也是该算法的最大不足之处。 独立分量分析 独立主元分析法 (Independent Component Analysis,ICA)主要应用于信号分离技术中,采用 ICA 方法可以得到信号中的二阶和高阶的统计信息,而对于人脸图像来讲,许多重要局部纹理信息包含在高阶统计信息中,所以 ICA 被尝试着用来描述人脸图像中的高阶局部纹理信息。 独立分量分析计算量比较大且计算复杂,因此该算法实时性不足;同时对于独立分量的选择,由于目前还没有一个较好的算法来对其进行选择,一般都是依据经验来选取,这也一定程度上限制了 ICA 算法在人脸识别领域的应用。 线性鉴别分析方法 基于线性鉴别分析的人脸识别方法的基本思想是寻找一个适当的Fisher函数,使得原样本空间在该Fisher函数的方向上的投影后的样本空间达到最优,即在投影后达到使得样本的类间离散度最大和类内离散度最小的目的。 LDA方法的目标是通过在高维特征空间中去寻找最优的低维特征,所选择最优的低维3 特征需满足样本类间离散度和样本类内离散度的比值达到最大。LDA 算法应用于人脸识别领域时,仍然存在图像列向量维数过高的问题,这使得很难甚至是无法求解 LDA 的特征方程。 2.3 基于机器学习的人脸识别方法 基于机器学习的人脸识别算法中,用于分类和识别的人脸的特征是通过机器学习算法从预先建立好的人脸样本特征库中学习而来,当然这些训练学习得到的人脸特征的分布规律和特征的判别函数会随着所选择的学习算法的不同会有所不同。下面将主要介绍基于人工神经网络的人脸识别学习算法和基于支持向量机的人脸识别学习算法。 基于人工神经网络的人脸识别学习算法 人工神经网络(artificial neural network,ANN)的人脸识别方法首先将人脸灰度化处理得到人脸的灰度图,然后充分利用了神经网络在表现人脸图像中细微的形状信息方面的优势来描述人脸特征,同这样避免了一般人脸识别方法中需要采取复杂的特征提取工作。ANN 方法很少用在人脸特征提取方面,同时如果样本的类别过大还会出现过拟合和过学习等问题。但是其在人脸图像中细微的形状信息方面的优势,使得 ANN 算法对于特征分类和识别方面有着自己得天独厚的优势。 基于支持向量机的人脸识别学习算法 支持向量机(support vector machine,SVM)的人脸识别学习算法,是目前最热门的机器学习算法之一,基本的算法的思想是基于结构风险最小化原理寻找最优分类面,该分类面是能够将不同类的样本在样本空间分隔的超平面。SVM是由线性可分的两类分类问题的最优分类面发展而来,对于多类的分类问题,也可以转化为多个二类问题,它的基本思想可以用下图 2-1 的二维情况所示。 图 2-1 最大间隔分类超平面 4 在二维线性空间中,线性判别函数的一般形式为:g(x)=w×x+b,其中,最优 分类线 的方程的规范化形式为:w×x+b=0。上图 2-1 中黑空心圆和白空心圆分别代表着不同的两类样本,L是用来划分两类样本的直线,称其为分类线,L1和L2分别为过黑白两类样本的同时离分类线L最近且平行与L的直线,L1和L2两直线间的距离称之为两类样本的分类间隔。而最大间隔分类线是,不但能正确分开不同类的样本,同时分类间隔达到最大值。由直线间的数学定理可证得:L1和L2之间的距离为:2w,即分类间隔为 2w。 SVM 具有非常好的分类效果,但是如果直接使用 SVM 进行人脸识别,会遇到很大的计算困难,首先遇到的问题便是在训练 SVM 的时候,需要去求解二次规划的问题,该二次规划的问题的求解计算复杂度极高,就目前而言对于二次规划的求解并没有什么很好的方法;其次是当训练样本个数较大时,会得到的大量的支持向量,使分类器计算量过高。 2.4 基于局部模式的人脸识别方法 在比较理想的外界环境中,上述所提出的倾向于整体的人脸图像识别算法可以达到不错 的效果,但是真实的环境中,人脸图像需要受到环境的干扰,比如图像曝光问题、光照问题、 人脸表情多变问题以及遮挡问题等,这些都严重的影响着人脸识别算法的识别准确率和识别 效率。而人脸局部特征信息如人脸局部的纹理特征、人脸局部灰度特征、人脸局部轮廓特征 等对光照、人脸表情变化以及遮挡具有着良好鲁棒性。 LBP 特征是描述一个局部区域的纹理特征非常好的方法,本质上来讲,LBP 也是一种统计特征,所以稳定行好,通用性强。它能很好的描述一个局部区域的纹理特征,由于它采用的是统计的方式,所以,有一定的抗旋转能力,能承受一定的光照影响。该特征提取方法, 有着良好的效果且它具有旋转不变性和灰度不变性等显著的优点,所以很适合用于人脸识别 领域。基于 LBP 算法的人脸识别,可以非常好的对人脸的局部区域的纹理特征进行描述,但是对人脸的整体特征的描述力不足。 三、人脸识别算法设计方案 3.1算法总体设计 此算法的核心是采用 LBP 算法对人脸区域对纹理特征进行提取然后进行特征分类识别,不过因为人脸区域有显著特征和非显著特征之分,比如人眼、鼻子、嘴唇和眉毛这四大 区域所产生的特征占有着整个人脸图像中有利于人脸分类识别的特征的 80%以上,但是这 5 四大区域在人脸图像中所占有的面积却不到 50%,而 LBP 算法本身并无法做到对不同特征区域采用不同的 LBP 算子进行编码。算法首先对人脸区域进行分块,区分出重要特征区域和非重要特征区域然后采用不同模式的 LBP 算子进行特征提取的策略,最后对特征进行降维和分类识别。主要步骤为: 第一步:人脸区域划分,从人脸图像中划分出重要区域矩形包括人眼、鼻子、嘴唇和眉毛四大区域矩形,其他的区域归为非重要区域; 第二步:分类LBP特征提取,对重要区域采用对纹理信息描述力更强的 LBP 算子进行纹理特征提取,而对非重要区域采用对纹理信息描述力一般的 LBP 算子进行纹理特征提取; 第三步:PCA特征降维,对上一步中提取的 LBP 纹理特征进行降维; 第四步:SVM分类识别,对降维后的特征进行纹理分类。 3.2算法实现 3.2.1 人脸区域划分 主要是训练采用不同的正负样本库和 Adaboost 算法训练出人眼、鼻子、嘴唇和眉毛四个最优分类器,然后对输入的人脸图像就行检测,检测出对应的区域矩形,然后将这四类特征矩形的坐标输入到第二模块进行 LBP特征提取。 3.2.2 分类 LBP 特征提取 分类 LBP 特征提取模块除了根据上步中提供的人脸重要区域和非重要区域矩形分别采 用不同的 LBP 算子外,对于 LBP 特征提取本身 ALPS 算法拟采用基于 uniform模式的 LBP 的空间增强直方图算法。 图像局部的纹理特征由局部像素灰度值之间的关系来表现,首先,计算图像中每个像素与其局部邻域点在灰度上的二值关系;其次,对二值关系按一定规则加权形成局部二值模式;最后,采用多区域直方图序列作为图像的特征。这种局部纹理特征可由下面T算子进行描述: T»t(f(g0-gc),f(g1-gc),ì1f(x)=íî0将二进制,f(gp-1-gc) ,x>0,x£0f(gp-gcp 乘以相应的权值2,然后累加求和就可以得到以点g为中心,)cR为半径邻域的纹理特征T描述: 6 T»t(LBPP,R(xc,yc)LBPP,R(xc,yc)=å0p-1f(gp-gc)2p接下来将求解该特征描述的直方图。将人脸图像设为,将其分解成不同的若干 个区域 ,则该图像的直方图定义如下: Hi,j=åx,yIh(x,y)=iI(x,y)ÎRj, i=0,1,其中 ,n-1,j=0,1,D-1n 为LBP的统计模式Hi,j表示从图像划分的区域 Rj中属于第i个 bin 的个数,特征个数,D为图像划分的区域的个数。 图 4-1人脸经统一模式 LBP 编码图 LBP直方图描述的整体统计纹理信息,可以用直方图去分别统计每个局部区域或重要特征区域的直方图信息,然后利用原先人脸图像的位置信息,拼接各个直方图信息,最后描述整幅人脸图像的纹理信息。整个分块uniform模式的LBP的空间增强直方图算法的效果如图 4-1 所示。人脸图像经uniform模式的LBP的空间增强直方图编码后人脸的眼镜、眉毛、鼻子、嘴巴等特征比较明显,而其他地方则大部分信息被滤除。 3.2.3 PCA特征降维 假设此时共有n幅样本人脸图片参与特征提取工作,将图像的LBP模式直方图H看i,j做一向量,并把所有H合并为一矩阵H,那么H就是D×n的矩阵。现在就是要采用 PCA i,j算法对D×n的矩阵H进行降维,降维后的矩阵称之为H,使得H的矩阵规模远小于矩阵H的规模。令H=(W×H),其中 称之为投影变换矩阵。根据PCA降维理论,求解投影变换矩阵W需要以下步骤: 步骤1:计算散布矩阵S 步骤 2:计算散布矩阵S的本征值和本征向量 7 步骤 3:按本征值的大小,从大到小对其对应的本征向量进行排序。 步骤 4:选择其中最大的d个本征值对应的本征向量,并将其作为投影向量,构成D×d投影矩阵W。 经过上面的四个步骤LBP提取的特征矩阵H的D维向量,降维d维的特征矩阵为H,其中d<<D。 图原始人脸 图经分块 uniform 模式 LBP 的空 图PCA 特征 间增强直方图算法提取后的特征图像 图 4-2 基于 PCA 降维和分块 LBP 特征提取人脸效果图 实验结果如上图所示,图是原始人脸图像,图是采用分块 uniform 模式的 LBP图像的空间增强直方图算法就行特征提取的人脸图像,图是经过 PCA 降维的特征图像。可以看出经过 PCA 降维的人脸的眼、鼻和嘴等重要部位特征依然被保留在图像中,而图像中的总体的信息量已明显减少,说明经 PCA 降维的特征提取取得了良好的效果。 3.2.4 SVM 分类识别模块 由PCA特征降维可知,人脸图像特征矩阵H的D维向量,降维d维的特征矩阵为H。对于特征矩阵H的 n 类样本分类求解问题,可以把这n类分类划分为多个两类分类问题,每类分类问题可以构建一个最小支持向量机,那么对于 n 类分类问题需要构建N=n(n-1)/2个最小支持向量机。在构造任意两类样本的最小支持向量机分类器时如p 和q类,可以选取将属于第p类的训练样本数据标记记为+1,将属于第q类的训练样本数据标记为-1,这样就可以训练出这两类样本数据的最小支持向量机用于人脸分类。 8 当人脸待测样本经过N=n(n-1)/2个这样的两类最小支持向量机分类之后,便可确定其所属人脸样本库的最终类别,即达到人脸分类识别的目的。 四、实验结果及分析 为了从整体角度去考察上述人脸识别算法所实现的人脸识别的性能和准确率,依次完成人脸特征库的建立、特征训练和特征分类识别,输出识别结果和统计结果。本文还将是否采用 PCA 算法进行降维,进行了对比测试。此处我们选用ORL人脸库提供的40×10幅图片,分别从这40个人的人脸库中选出6张作为训练人脸样本,剩下的4张作为待识别人脸样本,如下图 4-1 所示。 图 4-1 人脸样本图 采用如上方法对该算法进行测试,并对测试的结果进行统计,结果如下表 4-2 所示。 表 4-2 人脸识别系统的性能测试结果9 从表 4-2 可以看到该智能人脸识别算法的平均识别速度大概在 0.332s 左右,识别率为 93.13%。1)如果不采用 PCA 算法进行降维,由于此时人脸特征信息冗余度比较大,当然包含的人脸信息业较丰富,虽然人脸识别率可以较采用 PCA 算法进行降维的方法提高了 1.5 个百分点,但是每幅图片所用的识别时间提高了将近一倍;2)如果不采用 Adaboost 算法进行人脸重要特征区域的提取,而是直接采用LBP8对人脸进行提取纹理信息之后再进行 1PCA降维,虽然每幅图片的评价检测速度有所提升,但是识别的准确率下降了 7 个百分点,因此本识别算法既拥有着良好的识别率同时识别速度也较快。 五、改进 人脸识别技术发展至今,已有几十年的历史,取得了很多卓越的成绩,已经成功运用于 多个领域和行业。本文虽通过虽然通过对现有技术进行了研究,提出和实现了一种基于 adaboost 人脸检测、LBP 特征提取、PCA 特征降维和 SVM 特征分类等人脸识别方案,并达到了一定的准确率、执行速度以及对人脸姿态的鲁棒性,但是经过长期的对人脸识别技术的研究,发现仍然可以从以下几个方面有所突破和改进: Adaboost 人脸检测:在训练分类器的时候,基本上都是采用现有的 MIT 或者 CMU 公布的人脸检测训练样本集,如果想要提高分类器的分类性能,可以从训练样本集上进行考虑; 特征提取:由于 LBP 算法更主要的是关注图像的局部纹理信息,虽然引入了 LBP 直方图,使其具有了一定的总体的特性,但是应该是有一定的缺陷的,后期可以尝试和图像的整体信息的特征提取技术相结合进行特征提取; 数据降维:本文主要采用的是 PCA 方法,然而 PCA 方法只能对线性数据进行降维,非线性数据是无法达到降维的目的,而我们知道一幅图像中既包含线性数据也包含非线性数据,所以可以考虑采用线性降维和非线性降维相结合的技术,比如 PCA 算法和拉普拉斯特征映射方法相结合进行数据降维,应该可以得到更加准确的人脸描述特征。 10