基于图像处理的人脸识别系统*
2017-12-20乔志敏杨慧刚
乔志敏,杨慧刚
(1.太原工业学院自动化系,山西 太原 030008;2.菏泽学院蒋震机电工程学院,山东 菏泽 274015)
基于图像处理的人脸识别系统*
乔志敏1,杨慧刚2
(1.太原工业学院自动化系,山西 太原 030008;2.菏泽学院蒋震机电工程学院,山东 菏泽 274015)
针对目前人脸识别技术中存在的不足之处,本课题在Linux开发平台上使用了Qt5开发环境,依托计算机视觉常用软件Open CV中的相关图像处理算法以及主成分分析法(PCA),设计了基于图像处理的人脸识别系统;其主要包括主机人机互动界面、人面部信息数据库、人脸图像获取、图像滤波、提取面部特征、人脸匹配识别等一系列软件系统内部逻辑模块。本课题随机选择了100位测试对象,系统识别准确率达到97%。测试结果表明,该系统有理想的实际应用价值。
图像处理;人脸识别;主成分分析;计算机视觉;特征提取
人脸识别技术简单、方便、识别准确并且易于操作,使用者不会有心理抵触,用户容易接受,从而在多领域得到了广泛的应用[1],但由于人体面部特征的特殊性,要令该技术完全成熟并能够应用到生产生活中,还有很多需要亟待解决的问题,因此,人脸识别研究具有很大的挑战性,一直是模式识别领域的研究热点[2]。
针对目前常用面部识别技术中的不足之处,本课题依托Linux为开发平台,使用Qt5开发环境,采用计算机图像处理软件Open CV的相关图像处理算法和主成分分析(PCA)算法[3],设计了基于图像处理的人脸识别系统。其核心技术是面部图像的获取、图像预处理、图像特征值提取以及图像匹配和识别。面部识别技术是图像处理及分析应用最广泛的技术之一,因其在社会安保、银行系统、刑侦执法以及高校研究等多种领域有着各种应用,极大方便了人们的工作生活。
1 系统设计
系统根据功能不同,可以划分为面部图像获取模块,噪声处理模块,面部检测提取模块,算法实现模块,面部数据库模块,面部图像对比识别模块和个人信息输出模块。系统结构如图1所示。
图1 系统结构
从图1中可以看出系统在运行时,首先获取到图像,然后通过图像预处理算法对图像进行光照补偿,椒盐滤波[4]等处理,接下来通过面部识别算法对图像的关注区域进行面部提取及面部特征值提取,然后获取单位面部的特征图像,接下来使用面部匹配算法使获取到的面部特征图像和存储在数据库中的单位特征脸图像对比,获取到匹配的面部图像,如果没有匹配到将继续获取图像进行对比,直到匹配成功,最后在人机界面显示被成功识别人的个人信息。
2 图像预处理算法的设计
图像的预处理可以用来消除在图像获取时带入的一种或多种无关噪声,使有用的图像信息得到部分恢复,并加强目标区域信息的敏感性以简化图像数据只保留感兴趣的信息,这样使后续图像分割、面部特征值获取的准确性大大提高。
从图2可以看出,获取面部图像的预处理主要包括光线补偿,图像灰度化,图像平滑,噪声滤除、直方图均衡处理,图像对比度处理等等。
图2 图像预处理流程图
3 PCA人脸识别算法
基于PCA算法的面部识别主要由图像训练和图像识别这两个阶段组成。在图像训练中,根据获取图像把获取的人脸X映射到系统特征脸组成的多维子空间集上,获得多维向量Yi(i=1,2,…,N)。距离阈值定义如式(1)所示。
(1)
进而在面部识别阶段,第一步把获取的图像映射到数据库的特征脸的多维空间集,得出向量P及其与每个人脸集的距离ei(i=1,2,3,…,N),再采用欧式几何距离进行面部识别,分类规则为:
1) 若ei>θc,则输入图像不是人脸图像;2) 若ei=θc则输入图像包含未知人脸;3) 若ei<θc,e=min{θc},则输入图像为库中第k个人的人脸。
4 软件功能的设计
软件的功能包括:面部图像获取,面部识别功能,面部信息数据库功能,系统日志功能,系统常用设置功能以及关于系统功能。其中人脸识别人机交互界面是软件的核心界面模块,其他如人脸信息数据库显示界面模块,系统日志记录界面模块,系统设置界面模块,关于系统界面模块等都是服从或服务于该功能模块或者说是该功能界面模块。
图3 人脸识别人机交互界面
由图3可以看出,人脸识别界面由人脸图像模块,图片信息模块,个人基本信息模块,数据库操作模块,基本设置模块等组成。
5 系统实现
系统的实现包括系统启动过程,系统的运行,系统操作功能的实现和特征提取算法以及识别算法的实现。
图4 系统实现基本流程图
从图4可以看出系统在运行时,首先从视频文件或摄像头获取到图像,然后通过图像预处理算法对图像进行光照补偿,椒盐滤波等处理,接下来通过面部识别算法对图像的有效区域进行面部提取和面部特征值提取。获取到单位面部的特征图像(单位面部特征值图像可以保存在面部匹配数据库中),接着使用面部对比算法使获取到的面部特征值和数据库中所存储的图像面部特征值进行对比识别,获取到与数据库匹配的图像。
6 结论
通过对该系统反复调试,本课题设计的人脸图像识别系统通过采用OpenCV中的图像处理算法以及主成分分析(PCA),大大提高了面部图像识别的准确度和速度,完全能够应用于各种需要人脸图像识别技术的场合。
[1] 王映辉.人脸识别原理,方法与技术[M].北京:科学出版社,2010.
[2] 石东海.人脸检测和定位方法研究[D].长沙:国防科学技术大学,2002.
[3] 刘党辉,沈兰荪,Kin-Man Lam.人脸检测研究进展[J].计算机工程与应用,2011(4):40-43.
[4] 覃南鑫.基于OpenCV的人脸识别系统的研究[D].武汉:武汉纺织大学,2012.
FaceRecognitionSystemBasedonImageProcessing
Qiao Zhimin1, Yang Huigang2
(1.DepartmentofAutomation,TaiyuanInstituteofTechnology,TaiyuanShanxi030008,China; 2.JiangzhenElectricalEngineeringInstitute,HezeUniversity,HezeShandong274015,China)
In view of the shortcomings of the commonly used face recognition methods, this paper uses the Qt5 development environment on the Linux development platform, and the face recognition system based on image processing is designed according to the related image processing algorithms and principal component analysis (PCA) in open CV, a common computer vision software. It mainly includes a series of software system internal logic modules such as host man-machine interaction interface, human face information database, face image acquisition, image filtering, facial feature extraction and face matching recognition. In this paper, 100 test subjects are randomly selected, and the accuracy of system identification is 97%. The test results show that the system has the ideal practical value.
image preprocessing; face recognition; principal component analysis; computer vision library; feature extraction
2017-10-26
国家自然科学基金资助项目(60905044)
乔志敏(1988- ),男,山西太原人,助教,硕士,研究方向模式识别,路径优化。
1674- 4578(2017)06- 0050- 03
TP391.41
A