APP下载

局部二值模式分类器耦合特征脸的人脸识别算法

2016-09-10樊颖军

计算机与数字工程 2016年8期
关键词:二值考勤人脸

樊颖军

(陕西工业职业技术学院 咸阳 712000)



局部二值模式分类器耦合特征脸的人脸识别算法

樊颖军

(陕西工业职业技术学院咸阳712000)

为了解决当前人脸识别考勤系统在面对表情、眼镜、头发干扰时,其识别稳定性差的不足,论文设计了基于局部二值模式分类器(LBP Classifier)与特征脸(Eigen Faces)的人脸识别算法。首先,通过优化高维特征,提取低维特征,设计了基于LBP Classifier的人脸检测算子,标识出人脸区域;然后提取特征数据,结合人机交互输入,进行监督式学习,设计了基于EigenFaces的人脸识别算子,完成对人脸特征的识别。实验数据显示:与当前人脸识别算法相比,在面对表情、眼镜、头发干扰较大时,论文算法拥有更高稳定性与识别率。

人脸识别; 局部二值模式分类器; 特征脸; 低维特征; 监督式学习

Class NumberTP391

1 引言

近年来,人脸识别技术不断发展,已经广泛地应用于金融安全、军事侦察、教育教学等领域,是图像处理与模式识别领域的重要分支和方向[1~2]。人脸识别集成了人工智能、机器识别、机器学习、模型理论、专家系统、视频图像处理等多种专业技术,同时需结合中间值处理的理论与实现,是生物特征识别的最新应用[3~4]。本文主要研究是将人脸识别技术应用于学生考勤系统,提高教学效率与质量。

对此,国内专家学者设计了诸多用于考勤系统的人脸识别算法,如储久良[5]针对现有人脸识别系统对模糊人脸图像的识别无法达到理想的效果,提出一种基于局部相位量化和进行模糊人脸识别,该算法增强了提取模糊人脸纹理信息的有效性,使训练数据量大幅度降低,达到了快速人脸识别考勤的目的。如赵鹏飞[6]设计了基于人脸识别的煤矿职工考勤系统,由视频摄像头获取原始图像,然后对其进行预处理,接下来对于得到的图像针对双眼,鼻尖和嘴巴等特征进行定位,最后通过定位后的特征信息实现整体面部区域的识别功能。

虽然以上方法可以实现普通情况下的基于人脸识别的考勤,但是当测试样本数量大,且存在如眼镜、头发的干扰时,往往出现人脸检测错误或识别错误的问题。

对此,本文提出了局部二值模式分类器耦合特征脸的人脸识别考勤系统。首先,深入研究了二值模式分类器(即LBP Classifier)、特征脸(即EigenFaces)两种算法,并编程实现,进行反复实验验证,形成两者相结合的人脸识别系统。最后,从算法的检测精度与识别精度两方面验证了本文算法的性能。

2 本文人脸识别算法设计

本文目的是对带有眼镜、头发干扰(头发遮耳)的人脸进行检测、特征训练、监督式学习、识别。本文硬件系统为一台普通PC、网络摄像头,在PC端开发人脸识别考勤系统软件。

本文人脸识别算法流程见图1,其主要分为四部分:首先,采集实时人脸图像;然后,开始对图像进行直方图均衡化,利用基于LBP Classifier的人脸检测算子,定位人脸区域;通过提取人脸特征,进行监督式学习,建立特征识别库;最后,构建基于EigenFaces的人脸识别算子,完成人脸识别考勤工作。

图1 本文机制架构

为了避免眼镜、头发的干扰,本文采用基于局部二值特征,来标识人脸特征。LBP的基本思想是对图像的像素和它局部周围像素进行对比后的结果进行求和,把这个像素作为中心,对相邻像素进行阈值比较[7]。如果中心像素的亮度大于等于它的相邻像素,把他标记为1,否则标记为0,采用二进制数字来表示每个像素,因此,由于周围相邻8个像素,最终可能获取28个可能组合,被称为局部二值模式,有时被称为LBP码[8]。

LBP的操作可以表示为

(1)

式中x,y为中心点像素,i为该点亮度,ip为相邻像素的亮度。采用此种方法,可以很好地捕捉到图像中的细节,在纹理分类上得到最先进的水平。对于给定点(Xc,Yc),它的近邻点(Xp,Yp)可以表示为

Xp=Xc+Rcos(2πp)

(2)

Yp=Yc-Rsin(2πp)

(3)

式中R为领域半径,P为样本点个数。采用本文算法先采用直方图均衡化处理图像,使人脸角点更加突出,同时达到光照均匀的目的。采用局部二值特征的方法来寻找人脸角点,可以有效排除光照、外饰物的干扰。如图2所示,有眼镜干扰,先进行均衡化处理,去除光照不均,突出人脸,如图3所示,然后采用LBP的人脸检测算子寻找并表示出人脸,如图4所示。可见本文的人脸检测算子有效地排除眼镜干扰,检测出人脸。

图2 原图

图3 直方图均衡化

图4 人脸检测效果图

部分关键代码:

double scale=1.2;

cvCvtColor(img,gray, CV_BGR2GRAY);

cvResize(gray, small_img, CV_INTER_LINEAR);

cvEqualizeHist(small_img,small_img);

m_CvvImage.CopyOf(small_img,1);

m_CvvImage.DrawToHDC(hDC, &rect);

cvClearMemStorage(storage);

CvSeq*objects=cvHaarDetectObjects(small_img,cascade,storage,1.1,10,0,cvSize(120,120));

for(int i=0;i<(objects? objects->total:0);++i) {

CvRect* r=(CvRect*)cvGetSeqElem(objects,i);

for( int i = 0; i < (objects? objects->total : 0); i++ ) {

CvRect* r = (CvRect*)cvGetSeqElem( objects, i );

CvPoint center;

int radius;

center.x = cvRound((r->x + r->width*0.5)*scale);

center.y = cvRound((r->y + r->height*0.5)*scale);

radius = cvRound((r->width + r->height)*0.25*scale);

cvCircle( img, center, radius, colors[3], 20, 8, 0 ); }

cvReleaseMemStorage(&storage);

cvReleaseImage(&gray);

cvReleaseImage(&small_img);

3 基于EigenFaces与图像特征的人脸识别

完成人脸检测后,提取人脸特征,绑定学生信息,存入数据库,完成监督学习。测试样本时,将人脸特征与数据库匹配,完成人脸识别。

EigenFaces表示的高维问题,二维灰度图像p*q大小,是一个m=q*p维的向量空间,所以一个100*100像素大小的图像就是10,000维的图像空间[9]。一个高维数据集经常被相关变量表示,因此只有一些的维上数据才是有意义的,包含最多的信息。EigenFaces方法寻找数据特征有:均值向量、协方差矩阵[10~11]。首先定义随机人脸随机特征点如下所示:

X={X1,X2,…,Xn}

(4)

式中X为随机特征点向量。在此基础上计算均值向量如下:

(5)

式中n为特征点个数,u为均值向量。接着计算协方差矩阵:

(6)

式中s是协方差矩阵,由随机特征点的均值向量、协方差向量,构成EigenFaces的特征向量,作为人脸识别的依据,在结合人员信息输入的监督学习,建立识别机制,先对图2进行检测,提取EigenFaces的特征向量,同时输入人员信息,一并存入数据库,如图5所示。然后再对图2进行识别,提取EigenFaces的特征向量,与数据库中特征进行匹配,匹配成功则自动提取人员信息,如图6所示。

图5 基于监督学习的分类库训练

图6 人脸识别效果

关键代码:

int sum = width * height *4;

memcpy(tempPixel, pixel, sum);

int r = 0, g = 0, b = 0;

for(int i = 0; i < height-1; i++) {

for (int j = 0; j < (width-1)*4; j+=4) {

b=abs(tempPixel[i*width*4+j]-tempPixel[(i+1)*width*4+j+4]+128);

g=abs(tempPixel[i*width*4+j+1]-tempPixel[(i+1)*width*4+j+5]+128);

r=abs(tempPixel[i*width*4+j+2]-tempPixel[(i+1)*width*4+j+6]+128);

if (r>255)r=255;

if (g>255) g=255;

if (b>255) b=255;

tempPixel[i*width*4 + j]= b;

bluetempPixel[i*width*4 + j + 1]= g;

tempPixel[i*width*4 + j + 2]= r;}}

for (int k = width * 4 * (height-1); k < width*4*height; k += 4) {

tempPixel[k]=128;

tempPixel[k+1]=128;

tempPixel[k+2]=128;}

for (k=1;k<=16;k++) {

HT->minor_code[k] = (WORD)code;

for (j=1;j<=HT->Length[k];j++) code++;

HT->major_code[k]=(WORD)(code-1);

code*=2;

if (HT->Length[k]==0) {

HT->minor_code[k]=0xFFFF;

HT->major_code[k]=0;}}

4 实验与讨论

利用C++语言编程,实现了学生人脸识别考勤系统,软件入口界面如图7所示,该开发软件具有“人员信息等级”、“签到”等功能。打开视频,如图8、9所示,即识别的原图,包含头发遮耳、眼镜的干扰。

同时,为了体现本文人脸识别算法的优势,将当前人脸识别性能较好的算法视为对照组:文献[5]。利用本文算法与文献[5]技术对图8、9进行人脸检测、识别。依图10、图11可知,本文算法性能较好,准确地检测出人脸位置,并有效地识别出人脸信息,并在软件中实时显示;而文献[5]技术依赖SURF和双向FLANN特征,而这些特征易受饰物、光照影响,往往出现检测错误和识别的问题,如图12、13所示,对人脸的位置检测都存在错误,导致最后识别失败。

图7 软件初始界面

图8 待识别目标(长发干扰)

图9 待识别目标(眼镜干扰)

图10 本文算法的检测、识别结果

图11 本文算法的检测、识别结果

图12 文献[5]技术的检测、识别结果

图13 文献[5]技术的检测、识别结果

5 结语

为了解决当前人脸识别算法在样本变化量大,且眼镜、头发遮耳的情况下的识别精度较低的问题,本文提出了一个基于局部二值模式分类器耦合特征脸的人脸识别考勤系统,并编程实现。首先建立基于局部二值特征的人脸检测算子,精确捕捉人脸位置。然后提取人脸特征,进行监督学习,设计基于特征脸的识别算子,完成目标定位。测试数据显示:与当前人脸识别技术相比,本文算法拥有更良好的精度与稳定性。

[1] Waled Hussein Al-Arashi, Haidi Ibrahim, Shahrel Azmin Suandi. Optimizing principal component analysis performance for face recognition using genetic algorithm[J]. Neurocomputing,2013,128(27):415-420.

[2] Ningbo Zhu, Shengtao Li. A Kernel-based sparse representation method for face recognition[J]. Neural Computing and Applications,2014,24(4):845-852.

[3] YueLong Li, Li Meng, JuFu Feng. Down sampling sparse representation and discriminate information aided occluded face recognition[J]. Science China Information Sciences,2014,57(3):1-8.

[4] 陆振宇.基于判别式字典的正则化稀疏表示人脸识别算法[J].南京信息工程大学学报(自然科学版),2015,14(6):127-133.

LU Zhenyu. Face recognition algorithm based on discriminative dictionary for sparse representation[J]. Journal of Nanjing University of Information Science and Technology(Natural Science Edition),2015,14(6):127-133.

[5] 储久良,袁宝华,任明武.基于LPQ和Fisherfaces的模糊人脸识别[J].河南理工大学学报(自然科学版),2015,34(6):826-830.

CHUN Jiuliang, YUAN Baohua, REN Mingwu. Fuzzy face recognition based on LPQ and Fisherfaces[J]. Journal of Henan Polytechnic University(Natural Science Edition),2015,34(6):826-830.

[6] 赵鹏飞.基于人脸识别的煤矿职工考勤系统设计[J].煤炭技术,2015,21(17):196-199.

ZHAO Pengfei. Design of coal mine employee attendance system based on face recognition[J]. Coal Technology,2015,21(17):196-199.

[7] Jiayu Gu, Chengjun Liu. Feature local binary patterns with application to eye detection[J]. Neurocomputing,2013,113(10):138-152.

[8] Zhiping Dan, Yanfei Chen, Zhi Yang. An improved local binary pattern for texture classification[J]. Optik-International Journal for Light and Electron Optics,2014,125(20):6320-6324.

[9] Wangxin Yu, Zhizhong Wang, Weiting Chen. Selecting discriminate eigenfaces by using binary feature selection[J]. Neural Computing and Applications,2010,19(6):911-918.

[10] 于本成.人脸识别与指纹识别系统接口的设计与实现[J].微电子学与计算机,2015,34(7):26-29.

YU Benlong. Design and implementation of the interface between face recognition and fingerprint identification system[J]. Microelectronics and Computer,2015,34(7):26-29.

Face Recognition Algorithm Based on Local Binary Patterns Classifier and EigenFaces

FAN Yingjun

(Shaanxi Industrial Vocational College, Xianyang712000)

In order to solve poor stability of its recognition of the current face recognition system of check on work attendance in the face of facial expression, glasses, hair interference, this paper designed face recognition system of check on work attendance based on LBP Classifier (local binary pattern Classifier with the EigenFaces (face). First of all, through the optimization of high-dimensional feature, low dimensional characteristics is refined, the face detection is designed based on LBP Classifier operator, face region is identified. And then the feature data is extracted, human-machine interactive input is combined for supervised learning, design the face recognition is decigned based on EigenFaces operator. Finally, the recognition of face charcteristics is finished. Experimental data shows that compared with the current face recognition algorithm, in the face of the large interference of the expressions, glasses, hair this algorithm has higher stability and recognition rate.

face recognition, local binary pattern classifier, feature face, low dimensional feature, supervised learning

2016年2月7日,

2016年3月24日

樊颖军,男,硕士,讲师,研究方向:图像处理、计算机应用。

TP391

10.3969/j.issn.1672-9722.2016.08.038

猜你喜欢

二值考勤人脸
有特点的人脸
一起学画人脸
基于人脸识别技术的考勤应用研究
智能人脸识别考勤系统
浅谈电子考勤的优势及简介
基于二值形态学算子的轨道图像分割新算法
三国漫——人脸解锁
面向网络边缘应用的新一代神经网络
基于稀疏表示的二值图像超分辨率重建算法
便携式指纹考勤信息管理系统设计