江 琨 郑 禄 帖 军
(中南民族大学 武汉 430070)
基于LBP和PCA算法的智能人脸识别*
江琨郑禄帖军
(中南民族大学武汉430070)
论文通过提取LBP算子的特征,将人脸分成子区域,通过连接这些子区域的LBP直方图生成人脸特征向量。由于生成的特征向量的维数过高,通过PCA算法降维压缩,用欧式距离分类器完成测试样本和训练样本的人脸识别。最终结合这些算法,开发出了一套智能人脸检测系统。该智能人脸识别检测系统包括人脸图像的采集、图像的预处理和智能识别三个功能模块。
人脸识别; 局部二值模式; 主成分分析法; OpenCV; C++
Class NumberTP301.6
人脸识别是在图像或视频流中进行人脸的检测和定位,其中包括人脸在图像或视频流中的所在位置、大小、形态、个数等信息,近年来由于计算机运算速度的飞速发展使得图像处理技术在许多领域得到了广泛应用如今在许多公司或研究所已经作为一门独立的课题来研究探索。
本文针对人脸识别技术从理论的阐述到论证并完成了智能人脸识别检测系统。该智能人脸识别检测系统包括人脸图像的采集、图像的预处理和智能识别三个阶段。人脸图像的采集阶段通过 DirectShow对摄像头的图像采集,图像的预处理阶段通过直方图均衡化对图像增强,AdaBoost阶段创建训练样本,分为正样本和负样本,来对人脸样本图像进行训练,得到训练的分类器并对人脸进行检测,Camshift 阶段提出了基于 HSV色彩空间对人脸肤色聚类分析的方法[1],并建立了模型。针对单人脸和多人脸做了一些改进型的研究[2]。PCA 阶段将样本图像投影在特征空间获得平均脸和主成分脸等,开发中针对处理的每个阶段做出了适当理论论证和试验结果,并在算法方面做了适当改进。
2.1基于LBP的人脸识别算法及改进
局部二值模式(Local Binary Pattern,LBP)的基本思想是对图像的像素和它局部周围像素进行对比后的结果进行求和[3]。把这个像素作为中心,对相邻像素进行阈值比较。如果中心像素的亮度大于等于它的相邻像素,把它标记为1,否则标记为0。用二进制数字来表示每个像素,比如11001111。因此,由于周围相邻8个像素,最终可能获取28个可能组合,被称为局部二值模式,有时被称为LBP码。LBP操作可以被定义为
(1)
其中(xC,yC)是中心元素,亮度是ic;而in则是相邻像素的亮度。s是一个符号函数:
(2)
这种定义方法能够较好地捕捉到图像中的细节。
2.1.1LBP算法的改进
旋转不变的LBP算法:为了降低LBP的编码模式,对同一编码模式经旋转(循环位移,按位旋转)后产生的编码结果编码为同一值,即这些旋转结果中的最小值。
LBP均匀模式(uniform LBP):均匀模式就是一个二进制序列从0到1或是从1到0的变过不超过2次(这个二进制序列首尾相连)。比如:10100000的变化次数为3次所以不是一个uniform pattern。所有的8位二进制数中共有58个uniform pattern。
2.1.2对LBP特征向量进行提取的步骤
首先将检测窗口划分为16×16的小区域(cell);对于每个cell中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点的LBP值;然后计算每个cell的直方图,即每个数字(假定是十进制数LBP值)出现的频率;然后对该直方图进行归一化处理;最后将得到的每个cell的统计直方图进行连接成为一个特征向量,也就是整幅图的LBP纹理特征向量。
2.2基于PCA的人脸识别方法
主成份分析法(principal Component Analysis,PCA),也叫做主分量分析法[4]。主成分分析(PCA)的原理就是将一个高维向量x,通过一个特殊的特征向量矩阵U,投影到一个低维的向量空间中,表征为一个低维向量y,并且仅仅损失了一些次要信息。也就是说,通过低维表征的向量和特征向量矩阵,可以基本重构出所对应的原始高维向量[5]。
2.2.1对PCA算法的改进
本文主要在光照、角度和人脸尺寸等外在因素方面做了改进。外在因素带来的图像差异和人脸本身带来的差异是无法区分的,特征脸在很大程度上反映了光照等因素的差异。实验表明,特征脸方法随着光照、角度和人脸尺寸等因素的引入,识别率急剧下降。可以通过采用同一个人的训练样本的平均来计算类间散布矩阵,但也只能在一定程度上纠正这个缺点。主分量的方法使得变换后表达能力最佳,次分量的方法则考虑了高频的人脸区分能力;由于外在因素带来的图象差异和人脸本身带来的差异是不加任何区分的,因此,不管如何选择正交基,也不能根本解决问题;其改善的一个思路是针对干扰所在,对输入图象作规范化处理,其中包括将输入图的均值方差归一化、人脸尺寸归一化、掩模等;另一种改进是考虑到局部人脸图象受外在干扰相对较小,在进行人脸识别时,除计算特征脸之外,还可利用 K-L变换计算出特征眼睛、特征嘴巴等;然后将局部特征向量加权进行匹配,就能够得到一些好的效果。对用 K-L 变换和fisher准则分别求出来的一些特征脸进行比较后得出如下结论,即认为特征脸很大程度上反映了光照等的差异,而fisher脸则能压制图象之间的与识别信息无关的差异。
2.2.2特征向量的选取
在人脸识别中,特征向量矩阵U称为特征脸(eigenface)空间,因此其中的特征向量ui进行量化后可以看出人脸轮廓,在下面的实验中可以看出。
以人脸识别为例,来说明PCA的应用。设有N个人脸训练样本,每个样本由其像素灰度值组成一个向量xi,则样本图像的像素点数即为xi的维数,M=width*height,由向量构成的训练样本集为{X1,X2,…Xn}。
该样本集的平均向量(平均向量又叫平均脸)为
(3)
样本集的协方差矩阵为
(4)
求出协方差矩阵的特征向量ui和对应的特征值λi,这些特征向量组成的矩阵U就是人脸空间的正交基底,用它们的线性组合可以重构出样本中任意的人脸图像,并且图像信息集中在特征值大的特征向量中,即使丢弃特征值小的向量也不会影响图像质量。将协方差矩阵的特征值按大到小排序:λ1≥λ2≥…≥λd≥λd+1≥…。由大于λd的λi对应的特征向量构成主成分,主成分构成的变换矩阵为
U=(U1,U2,…,Ud)
(5)
这样每一幅人脸图像都可以投影到U=(U1,U2,…,Ud)构成的特征脸子空间中,U的维数为M×d。有了这样一个降维的子空间,任何一幅人脸图像都可以向其作投影y=UTx,即并获得一组坐标系数,即低维向量y,维数d×1,为称为KL分解系数。这组系数表明了图像在子空间的位置,从而可以作为人脸识别的依据。
总结一下:
(6)
2) 根据式(6),可以得出:
(7)
这里的x就是根据投影系数向量y重构出的人脸图像,丢失了部分图像信息,但不会影响图像质量。
2.2.3距离函数的选择
一旦图像被投影到特征空间中,剩下的任务就是如何判别这些图像的相似性。通常有两种方法来判别图像间的相似性:一种是计算在Z维空间中图像间的距离,另一种方式是测量图像间的相似性。当测量距离时,希望距离尽可能的小,一般选择距离测试图像最近的训练图像作为它所属的类别。而测量相似性的时候,则希望图像尽可能地相似,也就是说具有最大相似性地训练图像类别被认为是测试图像所属地类别。有许多种计算方法[6],下面将介绍四种:
小鼠RAW264.7细胞用含10% FBS的DMEM培养液于37 ℃、5% CO2培养箱中常规培养。细胞按1×105/mL、200 μL/孔接种于96孔板中,置于37 ℃、5% CO2细胞培养箱中贴壁24 h后,随机分为对照组(L-NAME)和给药组(化合物1~7,50 μg/mL),各组加入终质量浓度为1 μg/mL的LPS,每组设3个复孔。继续培养24 h,离心,取上清液按照Griess法测定上清液中NO的含量,操作步骤见试剂盒说明书(碧云天NO检测试剂盒S0021)。
1)L1范式:L1范式也称为和范式,它将像素间的绝对值的差值相加,L1范式距离公式为
(8)
2)L2范式(最近邻法):L2范式也称欧氏距离(欧几里德距离)或者是欧氏距离的平方根,它将像素的平方差异相加,L2范式距离公式为
(9)
3) 最小距离(Min):首先计算各类训练样本的平均值,然后距离比较和上面L2范式完全相同,这样分类时每类只需比较一次,减少计算量,样本X与第i类的距离公式如下:
(10)
4) 角度(余弦):角度测量也就是协方差,它计算两个规一化以后的向量间的角度。图像A和图像B之间的协方差为
(11)
本文选择的是欧几里德距离,通过LBP计算图像特征,将人脸直方图均衡化,用PCA降低直方图向量维数,欧式距离作分类器进行的人脸识别。
首先运用直方图均值化和归一化过程[7],对图像进行预处理,然后通过LBP算子的特征提取[8],然后通过连接这些子区域的LBP直方图生成人脸特征向量,由于生成的特征向量的维数过高,通过PCA算法降维压缩,最后用欧式距离[9]分类器完成测试样本和训练样本的人脸识别[10]。
改进后的算法流程:
第一步:运用直方图均值化和归一化过程,对数据组训练图像进行预处理。
第二步:运用LBP算法进行特征提取,并在特征矩阵中存储期望的值。
第三步:在特征矩阵中,根据不同特征的分类将其训练图像放到不同子集中,然后把这些值存储到特征向量的一个列向量中。
第四步:输入测试图像。
第五步:像上面第二步和第三步一样,将测试图像进行特征提取和分类。
第六步:在同一组的训练图像作为测试图像装载到图像组中。
第七步:在已有的图像组中,运用PCA去识别这些测试图。
第八步:显示识别结果。
本文将算法改进前后运行的时间做了比较,实验结果如图1所示。
实验表明,该方法对后期人脸特征提取效果优于改进前的效果,很大程度上降低了提取时间,提高了人脸识别的速度,效果明显。
图1 测试图像运行时间比较
通过算法的研究,又结合OpenCV库,最终使用MFC开发出了一套人脸识别系统。该系统主要分为两三部分:人脸图像的采集、图像的预处理和智能识别。
首先,介绍一下开发平台和开发时使用的库。该人脸识别系统采用了MFC框架来开发。微软基础类库(Microsoft Foundation Classes,MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
开发中使用了OpenCV(Open Source Computer Vision Library)库中的一些API。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、Matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
图2 人脸识别界面
下面将介绍一下人脸识别过程,人脸识别过程可以通过已有的图片,也可以通过摄像头来获取图片来识别。本系统可以通过获取已有的图片中的人脸信息,将其与数据库中的人脸信息进行对比,识别出用户的身份。通过摄像头来捕获人脸信息就是:把视频流中的人脸信息分离出来,与数据库中的人脸信息进行对比,识别出用户的身份。系统的识别界面如图2所示。
近年来,随着人们生活水平的逐渐提高,整个社会对于安全防范、视频监控的需求正呈现快速增长趋势。本文利用OpenCV的平台使用PCA和LBP算法,开发出了本套智能人脸检测系统。基于 PCA 的人脸识别算法它主要用于图像压缩中图像的特征提取;基于 LBP 特征的人脸识别算法能够在图像的局部的层级通过对图像纹理特征的描绘达到描述图像的目的,在图像的检索、识别以及分析方面有很好的效果。
[1] 陈胜勇,刘盛.基于 OpenCV 的计算机视觉技术实现[D].北京:科学出版社,2008:20-25.
CHEN Shengyong, LIU Sheng. The Computer Vision Technology based on OpenCV[D]. Beijing: Science Press,2008:20-25.
[2] 史东承.人脸图像信息处理与识别技术[M].北京:电子工业出版社,2010:38-42.
SHI Dongcheng. Face Image Information Processing and Recognition Technology[M]. Beijing: Electronic Industry Press,2010:38-42.
[3] 王宇,林成德.非局部二值模式人脸表示与识别方法[J].厦门大学学报(自然科学版),2009(2):28-34.
WANG Yu, Lin Chengde. The Local Binary Pattern Face Representation and Recognition Method[J]. Journal of Xiamen University (Natural Science Edition),2009(2):28-34.
[4] 王莉莉,杨跃东,高玉健.基于多子空间KL变换的纹理图像自监督分割方法[J].中国图象图形学报,2007(9):103-108.
WANG Lili, YANG Yuedong, GAO Yujian. Based on Many Children Space KL Transform Texture Image Segmentation Method Since the Supervision[J]. Journal of Image and Graphics,2007(9):103-108.
[5] 张晓华,山世光,曹波,等.CAS-PEAL大规模中国人脸图像数据库及其基本评测介绍[J].计算机辅助设计与图形学学报,2005(1):323-325.
ZHANG Xiaohua, SHAN Shiguang, CAO Bo, et al. CAS-PEALLarge-Scale Face Image Database and its Basic Evaluation Introduction[J]. Journal of Computer Aided Design and Graphics,2005(1):323-325.
[6] 王玮,黄非非,李见为,等.采用LBP金字塔的人脸描述与识别[J].计算机辅助设计与图形学学报,2009(1):301-304.WANG Wei, HUANG Feifei, LI Jianwei, et al. The LBP Pyramid Face Description and Recognition[J]. Journal of Computer Aided Design and Graphics,2009(1):301-304.
[7] 徐少平,刘小平,李春泉,等.基于LBP值对空间统计特征的纹理描述符[J].模式识别与人工智能,2013(8):49-52.
XU Shaoping, LIU Xiaoping, LI Chunquan, et al. Based on LBP Values of the Statistical Characteristics of Spatial Texture Descriptor[J]. Pattern Recognition and Artificial Intelligence,2013(08):49-52.
[8] 彭辉,张长水,荣钢,等.基于K-L变换的人脸自动识别方法[J].清华大学学报(自然科学版),1997(3):39-44.
PENG Hui, ZHANG Changshui, RONG Gang, et al. Face Automatic Identification Method based on K - L Transform[J]. Journal of Tsinghua University(JCR Science Edition),1997(3):39-44.
[9] 解聪,雷辉,徐星,等.基于并行欧式距离变换的三维障碍距离场计算[J].浙江大学学报(工学版),2014(2):83-84.
XIE Cong, LEI Hui, XU Xing. Based on Parallel 3d Euclidean Distance Transform Obstacle Distance Field[J]. Journal of ZheJiang University(Engineering Science),2014(2):83-84.
[10] 党力,孔凡让.独立子空间下的草图人脸合成与识别[J].中国科学技术大学学报,2012(1):83-84.
DANG Li, KONG Fanrang. Under the Independent Subspace of Sketch Face Synthesis and Recognition[J]. Journal of University of Science and Technology of China,2012(1):83-84.
Intelligent Face Recognition Based on LBP and PCA Algorithm
JIANG KunZHENG LuTIE Jun
(South-Central University for Nationality, Wuhan430070)
In this paper,by extracting characteristics of LBP operator,face is divided into sub regions,and then by connecting these sub regions of LBP histogram face feature vector is generated. Due to the dimensions of the feature vector is exorbitant,dimension is reduced and compressed by PCA algorithm,finally the test sample is completed with Euclidean distance classifier and the training sample of face recognition.Finally,combined with the research,a smart face detection system which includes face image acquisition,image preprocessing and intelligent recognition is developed.
face recognition, LBP, PAC, OpenCV, C++
2016年4月10日,
2016年5月29日
中南民族大学大学生创新创业训练计划项目(编号:XCX15032);中南民族大学中央高校基本科研业务费专项资金项目(编号:CZZ15002)资助。
江琨,男,研究方向:数字图像处理。郑禄,男,硕士,助理实验师,研究方向:物联网、数字图像处理等。帖军,男,博士,副教授,研究方向:图像处理、模式匹配等。
TP301.6
10.3969/j.issn.1672-9722.2016.10.039