matlab提取人脸图像的 LBP 特征,基于MB_LBP与改进Fast PCA算法的人脸特征提取

摘  要: 针对MB_LBP算法对人脸特征提取维数较高,使用PCA方法会造成图像原始空间结构破坏和维数变得过大等问题,提出一种基于多块LBP(Multi-scale Block Local Binary Patterns, MB_LBP),结合改进的Fast PCA算法进行人脸特征提取的方案。首先用MB_LBP算法提取人脸图像的特征,接着用本文所改进Fast PCA方法加速计算矩阵S非零本征值所对应的本征向量,对人脸特征进行降维,最后在ORL人脸库进行验证。实验表明,该方法对后期人脸特征提取效果优于改进前的效果,很大程度上降低了提取时间,效果明显。

关键词: MB_LBP算法;改进Fast PCA;人脸特征;维灾

0 引言

特征提取在人脸识别中应用十分广泛,如何更好地将图像的特征提取应用于人脸识别是当前模式识别和人工智能领域的一个研究热点,它涉及到计算机视觉、图像处理、生理学等多个学科的知识背景。这种技术具有广泛的应用前景,如身份识别、视频监控、国家安全、信息安全等领域。

人脸特征提取和分析是人脸识别中的重要过程。局部二进制模式(Local Binary Patterns,LBP)[1-2]的方法自从被Ahonen等人引入人脸识别后一直受到广泛关注,它是最早作为一种有效纹理描述算子提出的,尤其对图像局部纹理特征的卓越描述能力而获得广泛的应用。前述的LBP可以很精细地描述图像的局部纹理信息,然而,也正是由于这种特征的局部化特点,使其易受噪声的影响而不够健壮,缺乏对图像整体信息的粗粒度把握,因此MB_LBP代替LBP来提取图像的特征。尽管MB_LBP算法可以很好地对图像特征进行提取,但是此算法在提取图像纹理特征时维数过高,对后期人脸识别计算量有所影响,会造成计算过程的复杂化。因此,在图像特征提取时需要对其降维。PCA在特征降维中是一个经典的重要方法。在参考文献[3]中所涉及的LBP和PCA结合的特征提取算法,从一定程度上提高了识别率,但是PCA原理是将图像展开成高维的行向量和列向量,然后通过训练样本来计算样本协方差矩阵,并由协方差矩阵组成的投影矩阵把原始训练样本中的高维向量投影成低维矩阵。但是这样会造成图像原始空间结构破坏和维数变得过大。因此,本文提出改进Fast PCA可加速计算矩阵S非零本征值所对应的本征向量,降低提取时间。将其与MB_LBP算法结合,在ORL人脸库上进行实验,效果有一定的优越性。

1 MB_LBP算法

局部二进制模式(LBP)[4]是最早作为有效的纹理描述算子提出的,由于最初的LBP算法的映射过程相对简单,仅仅提取到所给范围内特征信息,对于类内的图像识别具有一定的效果,但对于类间图像的识别效果很难令人满意。LBP算法只提取图像特征,并没有实现先验信息的运用。LBP算法是直接在灰度图像上实现特征提取,通过比较中心像素和邻域像素之间的灰度值来实现二值化。一般采用固定大小(如3×3)的矩形方块,对应窗口的局部纹理的分布则可以假设是局部区域内像素的联合分布密度,以图像的某个像素为中心点gc,对周围的8个像素点g0,g1,…,g7的纹理T的分布定义如下:

T~(g0-gc,…,g7-gc)(1)

然后令中心点gc的灰度值作为参考,对邻域8个像素点进行二值化处理,方法为:

T≈t(s(g0-gc),…,s(g7-gc))(2)

f8328c5feba1d7bc024c48de0b0a6753.png

图1给出一个基本LBP算子,图中的3×3区域中心点以其灰度值88作为阈值对其8邻域进行二值化,并且从左上点开始按照顺时针方向将二值化结果组成一个二进制数10001011,即十进制139,作为中心的响应。在整个逐行扫描过程结束后,会得到一个LBP响应图像,称为LBP统计直方图,也称为LBP特征。

由于LBP的映射过程太简单,并且易受噪声干扰,稳定性不强,所以利用MB_LBP[5-6]算法。该算法是在LBP算法的基础上提出来的,把LBP算法中一个中心像素的应用开展到含有众多像素的矩形区域,把该矩形区域的灰度平均值作为其阈值。用MBs_LBP表示像素块大小为S×S的LBP算法。图2为MB_LBP算法特征的图像表示。

1e23a89614433a9bce76b73681407504.png

MB_LBP算法公式:

c601ae8f7b87f713116c3635f15856e7.png

式中,gc表示图像某个像素的中心点,gi表示周围8个像素点。

f2b6d073c257fa29a7d46524205abf76.png

由图3可以看出,随着像素块大小S的增加,响应图像中纹理增粗,并趋于稳定,说明较大的像素块有利于图像中的粗粒度信息的把握。

2 Fast PCA算法

前面已讲过单方面用MB_LBP算法提取的人脸特征维数较高,如果直接计算,计算量会很大,复杂度也很大。为了提高这一特性,本文将改进后的Fast PCA运用到特征提取过程中,提高识别效果。

特征提取过程包括了两个方面[7]:训练和识别。在训练过程中,系统需要识别到样品数据,并将这些样品创建成一个特征矩阵,把图像空间里的样本转换成特征空间里的点。把这些图像样本作为灰度图像,并通过保持列向量的连续性,将样本图像从二维矩阵转变成N2×1列向量一维矩阵。最后把这n幅图像的列向量排列成维数为N2×n的图像组X。

令m为矩阵X中数据向量的均值向量,定义如下:

61355bf89735629bb370181b9600b2eb.png

通过X矩阵的所有列向量减去均值向量m,将数据矩阵的列向量视为中心,经过以上操作,从而得到协方差矩阵ST。定义为:

8bec4fee1e615e42df8bdb8b902f6a86.png

对其进行特征值分解,如下:

c87b828fbe5e23a316f7216974ab5e54.png

公式中V是与特征值?撰相关的特征向量组,根据从高到低对应的特征值设定特征矩阵的顺序。其中特征向量的矩阵就是特征空间V,数据矩阵X被投影到特征空间,从而获取由n列组成的P:

P=VTX(7)

在识别阶段,正如上面说的,图像S将被转换成一维向量并形成J,然后都在映射到特征空间获得Z。

Z=XTJ(8)

其中有个欧式距离d,它是Z和P中所有的投射样品的距离。d用L2来计算,L2是图像A和B的规范的欧氏距离:

e03f92fa4b3557b66822630e70a6a1fc.png

最后把投射测试图像与每个投影训练图像作比较,发现训练图像更加接近被用来识别的训练图像的测试图像。

3 一种Fast PCA改进方法

3.1 预处理

本文针对Fast PCA[8-9]提出的改进方法是在训练和识别阶段中同时加进预处理这一过程。对于此方法,通过直方图均值化过程进行结果比较,从而通过增加局部比较来调整图像。这一过程对输入图像的灰度值进行了再分配,从而输出图像拥有了统一的灰度值分布。并且通过式(10),降低图像灰度值变化和光不对称效果的影响,将图像进行归一化:

a158fb0d116ed06a3d0c5e6c451e32a4.png

式中:std和m分别表示标准差和输入图像灰度值的均值,ustd和um分别表示所期望的标准差和均值。

3.2 改进后算法流程

这一改进算法包括下面几个步骤:

第一步:运用直方图均值化和归一化过程,对数据组训练图像进行预处理。

第二步:运用第2节中所提的MB_LBP进行特征提取,并在特征矩阵中存储期望的值。

第三步:在特征矩阵中,根据不同特征的分类将其训练图像放到不同子集中,然后把这些值存储到特征向量的一个列向量中。

第四步:输入测试图像。

第五步:像上面第二步和第三步一样,将测试图像进行特征提取和分类。

第六步:在同一组的训练图像作为测试图像装载到图像组中。

第七步:在已有的图像组中,运用Fast PCA去识别这些测试图。

4 实验及结果分析

本次实验是在ORL人脸库中进行的,旨在将MB_LBP与改进后的Fast PCA结合的方式在人脸特征提取方面的性能与其他传统方式进行比较。该试验方法是在MATLAB上选取30个不同人的灰度图像完成的。原始图像如图4,30个训练样本图像如图5。

62046bfcfb0b5c66d9f4c2f03b0b6af6.png

811fda8cc6b8921f72f58137d80ac610.png

使用MB_LBP对如图5的灰度图像进行处理,用于对其提取特征,MB_LBP对于特征提取比以往的方法更加健壮,且对整体把握度更好,并且它的计算量不是很大。本文提出的针对于人脸识别的算法,在时间和维数上都有很好的效果。一张人脸包含了很多特征信息,例如眼睛、鼻子和嘴等,而且每个特征都有相应的一些值和权重。本次实验中选用鼻子和嘴处纹理信息,在本次改进算法中,在训练样本数据中,根据这些特征的权重对人脸进行预分类,每个人脸将与一个特征子集相匹配[10]。

518de0d7c76b5755f4b7a6478e0bf887.png

最后的比较结果如图6和图7所示。计算量在实际人脸识别应用中是相当重要的因素。从图6可以看出,原来的Fast PCA的计算量比改进后的要大得多,时间随着训练集中的图像数的增加比改进后的快得多,这里的时间是指消耗在训练数据和识别上的总时间。在图7中也可以看出,改进后算法的特征空间的维数很低,变化趋于稳定,而改进前的维数随着训练图像数的增加越来越大。

为了说明Proposed Fast PCA的优越型,本文做了Fast PCA特征的人脸识别与Proposed Fast PCA特征的人脸识别比较试验。结果如表1所示。

e3e9cecdb06edb7f9ce9d2a6f2e26496.png

由表1可以看出,在ORL人脸库上进行实验,本文所提改进算法识别率最高,但由于实验方法是MB_LBP算法与Proposed Fast PCA算法的结合,识别时间有些变长,但是可以发现,运用本文算法可以避免维数灾难性增长的发生,人脸识别率明显提高。后期随着实验平台的提升,所提算法的人脸识别时间会有所减少,可见,本文算法具有一定的实用价值。

5 总结

通过实验结果可以看出本文算法在计算量和特征空间维数方面有很好的效果。所改进的方法比较简单,更重要的是对于特征提取进行了降维,识别率提升效果明显。此方法更好地避免了维数灾难,更有利于后面的人脸识别的进行。在以后的工作中将对算法进行进一步改进,以达到更好效果。

参考文献

[1] 李良,高娜.基于LBP层次特征的表情识别算法[J].河南理工学报,2013,32(6):732-735.

[2] 欧阳琰,桑农.基于面部动作组合特征的表情识别[J].中国体视学与图像分析,2011,16(1):38-43.

[3] LI W M, LI Y F, WU Y. A mode based method for overall well focused catadioptric image acquisition with multi-focal images[C]. proc of ICCAIP, 2009:648-653.

[4] 郭艳荣,蒋建国,郭世杰,等.基于LBP文理特征的随机游走图像分割[J].电路与系统学报,2013,18(1):357-364.

[5] 卢桂馥,林忠,金忠,等.基于最大差值的二维边界Fisher的人脸识别[J].计算机科学,2010,37(5):251-253.

[6] FANG Y C, LUO J, LOU C S. Fusion of multi-driectional rotation invariant unform LBP features for face recognition[C]. Proceedings of the 3rd International Conference on Intelligent Information Technology Application, NJ, USA, 2009:332-335.

[7] SAJID I, AHMED M M, TAJ I. Design and implementation of a face recognition system using Fast PCA[J]. IEEE Translation on Computer Society, 2008,16(8):126-130.

[8] TUCK M, PENTLAND A. Eigenfaces for Recognition[J].Cognitive Neuroscience, 1999,3(1):71-86.

[9] 褚玉,李妮妮,刘军清,等.基于均值滤波分频的直方图均衡方法[J].中山大学学报:自然科学版,2013,52(4):71-75,85.

[10] 张铮,王艳平,薛桂香.数字图像处理与机器视觉[M].北京:人民邮电出版社,2010.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值