基于图像处理的人脸识别算法实现

2015-09-09 09:48谢子琼周璟瑜林凡强
电脑知识与技术 2015年16期
关键词:图像处理人脸识别

谢子琼 周璟瑜 林凡强

摘要:现有的基于BP神经网络或LBP人脸识别算法过于复杂,因而有实现困难、对硬件平台要求高等的问题,该文从图像处理的角度出发,提出了对24位彩图进行人脸识别的算法,主要用到的图像处理技术有光线补偿、高斯平滑、相似度计算和二值化。在进行光线补偿的同时采用高斯平滑来消除图像的噪声,采用二值化对局部区域取阈值方法,通过垂直直方图与水平直方图标记人脸区域,根据眼睛的对称性判断人脸,从而进行定位、提取特征值和识别等操作。经测试,基于图像处理的人脸识别可以达到较好的效果。

关键词:图像处理,光线补偿,高斯平滑,相似度计算,人脸识别

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2015)03-0207-02

当代社会下个人隐私的信息安全急于得到有效的保护,人们期望一种更加安全、更加方便的保护措施。诸如钥匙和密码等传统的措施存在很大的漏洞,因而越来越多的人意识到这样的保护方法并不是非常安全。这些年来,人脸识别技术的研究一直在持续中的进步,这项技术正在由实验室迈向实际生活,并且在门禁考勤和视频监控等通关系统中发挥着作用。相比于语音识别、虹膜识别等其他生物识别技术,人脸识别的好处是不易被仿造、不需皮肤碰触,以及采集设备低廉。但是基于BP神经网络或PCA 技术的人脸识别系统由于算法复杂,导致成本贵、体积大、功耗高,这些缺点使这项技术的应用平台受到了极大的限制。

所以我们考虑从图像处理角度入手,从摄像头中获取人脸图像然后进行处理,以便提高定位和识别的准确率。本系统的图像预处理模块扮演着重要的角色,图像处理的手段直接影响定位和识别。

1 人脸识别技术及相关算法

首先我们要知道什么是人脸识别。总体上看人脸识别的功能应分为两类:人脸检测以及人脸识别。人脸检测是指检测一幅静态图像或者视频一帧,从中判断是否包含人脸,确定包含则计算人脸的位置和大小;人脸识别是指识别或判断检测出的对象。目前这两部分技术的算法都有各自的优缺点,可大致分为下面几个方法: 1)人脸检测方面,主要是基于 Adaboost算法人脸检测算法,基于支持向量机(SVM)人脸检测算法以及基于神经网络的人脸检测算法;2)对人脸特征进行判断与提取的主要方法是基于人脸几何特征的特征提取方法,以及基于主成分特征(PCA)特征提取方法,还有2D和3D形变模型方法等;3)线性降维方法有PCA和LDA(Linear Discriminate Analysis) 等。针对人脸识别,国内外的专家学者们已进行了长久的探索,但在实际应用过程中算法深受应用环境的影响,因此可以广泛通用的人脸识别算法并不存在。

2 常用图像处理技术

常用的图像处理方法有光线补偿、高斯平滑、相似度计算和边缘检测法等,可以利用这些图像处理的算法实现人脸识别。

1)光线补偿:不同光线的会影响摄像头采集到的图像,我们只需要对亮度进行适度调整,这就是对图像进行光线补偿。

2)高斯平滑:由于在保存图像时不能完整的保存图像的全部内容,存储时会导致数据的缺失,为了解决这个问题,我们通过高斯平滑来消除噪声,保证了图像的完整性。

3)相似度计算:图像相似度主要对于两幅图像进行评估,看他们的是不是有某些地方相似。比如有图像A和图像B,分别计算两幅图像的直方图,然后计算两个直方图的归一化相关系数(巴氏距离,直方图相交距离)等。根据数学上计算向量之间的差异来估计图像相似程度,这就是图像的均衡直方图,其能够很好地归一化。那么两幅分辨率不同的图像可以直接通过计算直方图来计算相似度很方便,计算量也是比较小的。

4)二值化:图像的二值化就是将像素点的灰度值根据阙值设置为0或255,也就是将整个图像呈现出明显的黑和白的视觉效果。

5)边缘检测:目的是标识数字图像中亮度变化明显的点。通过显著变化反映图像中的图形变化。

3 图像处理在人脸识别算法中的应用

根据人的器官构造出来的生物面部特征、再根据面部特征灰度分布的峰谷和频率特性粗略估计出面部特征中最为明显的特征,比如眼睛、鼻子、嘴巴,通过这些明显的面部特征,将人脸大致的位置得以确定。以此为基础给出初始参数,从而大幅提高算法的速度和精度。然后将处理后的图片进行人脸定位,首先把明显的面部特征如眼睛、鼻子、嘴巴标记出来,以便进行跟其他图片作对比。最后将从图片中提取不同的特征值和后台数据库中的值一一作比较,知道得到识别结果。

1)光线补偿 :将整个图像中的所有像素的亮度从高到低进行排列,取前5%的像素,然后线性放大,使这些像素的平均亮度达到255。实际上就是调整图片像素的RGB值。

2)图像灰度化:图像灰度化将有颜色的图片经过彩色转换成灰度、灰度比例变换、灰度线性变换、灰度线性截断、灰度取反一系列算法后变成灰色。

3)高斯平滑:由于不规则的随机噪声会影响图像的质量,因此将图像进行高斯平滑来消除噪声。

4)相似度计算:相似度计算是一种维度剥削,计算集合间的相似程度,简单说就是把图像切割分区。然后通过图像的直方图表示图片的曝光程度,垂直直方图从上到下代表图片从上到下的黑白程度,水平直方图类似。

5)二值化:是将采集的图像首先进行多层次灰度图像处理后变成二值图像,再通过将图像上的像素点的灰度值根据阙值设置为0或255,将整个图像呈现出明显的黑和白的视觉效果。

4 系统总体设计

应用程序的总体结构设计流程图如图1所示:

图1 系统设计图

人脸定位是将典型的脸部特征(眼睛,鼻尖,嘴等)标记出来,眼睛是面部特征中最为明显的一个特征,其具有对称性,鼻子是在两只眼睛正中间的下方,而嘴巴又在鼻子下面,所以我们只需要把眼睛标记好,鼻子和嘴巴也就比较好标记了。

5 软件结构设计

CFaceDetectView :该类是在编程的过程中自动生成的。菜单项中的事件处理程序都是在该类对应的CFaceDetectView.h文件和CFaceDetectView.cpp文件中声明和实现的。

光线补偿功能实质上是用上段代码中的LightingCompensate()函数来进行实现。函数LightingCompensate()是类DIB的一个成员函数。

编辑菜单IDR_MAINFRAM,先在其中添加一菜单项,将其命名为”图像灰度化”,并将其ID号设为ID_READY_SCALE, 对应文件FaceDetectView.Cpp中的函数ReadyLightingconpensate()实现。其中lpData是图片数据区,loffset是图片像素的偏移,gray 是图像的灰度值。

6 测试

用几张24位的彩图逐一测试,看处理后可否达达到效果,对图像做光线补偿,检测所测图片的亮度是否变强。首先对图像做高斯平滑,检测高斯平滑得到的效果和预期的效果差别是不是很大,检测含有人脸的图片看人脸面部特征显现的是否明显,如果差距太大我们则选用其他的模板参数,再进行检测,直到效果理想。

达到测试要求之后,再将图片通过光线补偿、图像灰度化、高斯平滑等的算法,先对图片整体的像素点的亮度进行调整,再将图片转化为灰色照片,最后消除噪声提高图像质量,以便更明显地把人的面部特征显现出来

7 总结

在人脸识别中,眼睛是人面部特征中最为关键的部分,首先通过眼睛的定位,判断是否是存在人脸,所以眼睛的定位是人脸识别的关键。利用现有的区域增长的眼睛定位技术,根据眼睛在面部特征的关键性进行人脸定位,首先由于眼睛在人脸上是对称的,所以我们利用眼睛在面部上的这一特点,利用不同的灰度谷区来确定两只眼睛的位置,确定人脸的大致框架,再利用区域增长的搜索策略,在通过人脸眼睛定位出来的人脸框架中寻找鼻子的位置,因为鼻子就在两只眼睛的正下方,所以比较好定位,然后再定义两个初始搜索矩形,分别向左右两眼所处的大致位置生长。经过多次试验证明,本算法无论对脸大脸小,还是对光照的变化,都有较强的分辨识别能力,但是缺点是在光线很暗的情况下,导致眼睛和面部出现的灰度差不是很大的情况下,会出现定位不准,照片上的人脸太过于侧面也会不准确。

参考文献:

[1] 刘平英,蔡程飞.基于PLC的电子时钟设计与制作[J].中国科技信息,2014(14).

[2] 万军华,瑞通.基于VHDL的多功能数字闹钟设计[J].湖南理工学院学报,2011(24).

[3] 尤晓明.基于ZigBee的智能家居系统的研究[D].西安: 西安电子科技大学,2014.

[4] 王智飞.低分辨率人脸识别算法研究[D]. 北京:北京交通大学,2013.

[5] 陈江峰.线性图嵌入算法及其应用[D]. 北京:北京交通大学,2012.

[6] 安高云.复杂条件人脸识别中若干关键问题的研究[D].北京:北京交通大学,2009.

[7] 山世光.人脸识别中若干关键问题的研究[D]. 北京:中国科学院研究生院,2004.

[8] 严云洋,郭志波,陈伏兵,等.融合多尺度多特征的人脸识别方法[J].南京理工大学学报:自然科学版,2009(1).

[9] 方蔚涛,马鹏,成正斌,等.二维投影非负矩阵分解算法及其在人脸识别中的应用[J].自动化学报,2012(9).

[10] 胡正平,宋淑芬.基于类别相关近邻子空间的最大似然稀疏表示鲁棒图像识别算法[J].自动化学报,2012(9).

[11] 耿艳香,孙云山,谢靖鹏,等.混沌蚁群算法在图像边缘检测中的应用[J].计算机工程与应用,2015(12).

[12] 黄飞,谭守标.基于改进主动表观模型算法的人脸特征定位[J].计算机工程与应用,2014(5).

[13] 祝秀萍,吴学毅,刘文峰.人脸识别综述与展望[J].计算机与信息技术,2008(4),

[14] 李耀东,崔霞,肖柏华, 等.自动人脸识别技术综述[J].计算机科学,2002(12).

[15] 蔡体健,樊晓平,刘遵雄.基于稀疏表示的高噪声人脸识别及算法优化[J].计算机应用,2012(8).

猜你喜欢
图像处理人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
基于(2D)2PCA-LBP 的人脸识别方法的研究
改进压缩感知算法的图像处理仿真研究
人脸识别在高校安全防范中的应用
基于图像处理的定位器坡度计算
基于类独立核稀疏表示的鲁棒人脸识别