基于Matlab的人脸识别系统设计

2018-11-19 10:58寇毛蕊
软件导刊 2018年11期
关键词:身份验证人脸识别人脸

寇毛蕊

(广西大学 公共管理学院,广西 南宁 530004)

0 引言

虽然科技进步给人们带来了诸多便利,然而同时带来的信息安全问题也愈发令人担忧。解决信息安全问题最主要的手段之一就是身份验证。现代身份验证的方式有很多,如指纹识别、密码验证、IC卡验证与语音识别等,但这些识别方式也存在严重的安全隐患。人类脸部特征是人类与生俱来的一种生物特征,人脸特征与指纹特征一样,具有唯一性与稳定性。因此,可利用该特征研究一种新的身份验证系统——人脸识别系统,这种新的身份验证技术主要具有以下特点:①非接触性。用户不需要接触验证设备;②非强制性。被识别的人脸可由验证设备主动捕获;③并发性。在实际应用中可进行多个人脸的分拣、判断及识别。因此,与其它身份验证方式相比,人脸识别系统具有更高的识别率,能够更有效地保障人们的信息安全。

20世纪90年代之前,研究技术手段的落后导致人脸识别技术的发展处于停滞不前的状态[1]。之后,随着人脸检测与视频解码技术的发展与广泛应用,促进了人脸识别技术的成熟与完善。国外如卡内基梅隆大学、麻省理工学院、卡内基梅隆机器人实验室等已对相关技术进行了大量研究,并取得了一定成果,国内也成立了专门的实验室针对人脸识别技术进行研究。虽然目前国内外在人脸识别技术方面已取得不少进展,然而由于人体面部的特殊性,研究中还有诸多问题亟待解决[2]。此外,已有研究对人脸特征的有效提取方面并未进行深入探讨。

Matlab语言语法限制不严格,程序设计自由度高,具有很强的逻辑性,还推出了功能强大的适用于图像处理与分析的工具箱,如小波分析工具箱、图像处理工具箱及数字信号处理工具箱[3]。 图像是信息的一种特殊表达方式,不同图像承载了不同的信息内容。图像特征是人们接收、传递并处理信息的重要依据[4]。本设计在Matlab环境下,利用图像处理工具对图像进行特征提取,将采集到的图像特征与预先存放在人脸数据库内的人脸特征进行对比匹配,得出识别结果。同时,本文对人脸特征的有效提取方面进行了深入探讨,以期为今后的研究提供参考。

1 系统概要设计

1.1 系统设计框架

人脸识别过程是一个相对复杂的过程,人脸识别系统也是一个复杂的系统。人脸识别系统基本组成框架如图1所示。

图1 人脸识别系统框架

人脸识别系统构建步骤如下:①建立人脸图像特征数据库。通过计算机摄像头采集大量人脸照片,然后对人脸图像进行一系列预处理,提取人脸特征存入人脸特征数据库,并训练BP神经网络,训练好的人工神经网络即为人脸分类器;②打开人脸识别系统,点击人脸采集,系统即会调用计算机摄像头采集人脸图像;③采集到的人脸图像需经过肤色检测、图像预处理、特征提取,再送到人脸图像分类器中进行识别,处理结束后得到预识别的人脸图像特征;④将该特征与建立好的人脸特征数据库中的特征进行对比匹配,人脸图像分类器输出匹配结果,即得到最后的人脸图像识别结果。

1.2 图像获取模块

人脸图像是通过计算机摄像头采集的。在获取图像时,可以是真人或真人图片,也可以直接调用计算机内事先保存的图片。本设计选择调用摄像头采集图像。由于系统的局限性,在调用摄像头采集图像时,需注意如下几点:①保持光线良好且不变化[6];②采集目标与摄像头之间距离变化不大;③摄像背景不复杂;④保持单人正面;⑤人物正常坐姿,脸部表情自然等。

1.3 人脸区域获取模块

获取图像后,需要进行人脸区域图像提取。人脸区域提取是通过肤色的非线性分段色彩变换加以实现的[7]。通过该方法得到的肤色模型属于色彩空间中的聚类模型。建立该肤色模型的前提是选取一个适合的色彩空间,本设计使用的是YCbCr色彩空间[8]。寻找到肤色区域后,通过一系列形态学处理操作将采集到的人脸区域部分提取出来。

1.4 图像预处理模块

由于外界因素的干扰,需要通过图像预处理消除图像带来的干扰信息,并保持图像的原有数据特征。图像预处理效果将直接影响系统后期的人脸识别过程,因此图像预处理是系统设计中的关键之一。图像预处理包括除噪处理、抗干扰处理等,通常采用的图像预处理方法有:图像平滑[9]、图像锐化[10]、图像边缘增强等。通过图像预处理,可使图像本身具有的特征能够更好地体现出来。图像预处理模块包括光线补偿、图像类型转换、高斯平滑处理与小波增强4个子模块。

1.5 特征提取模块

在图像完成预处理后,进行人脸特征提取,本设计采用Gabor小波特征提取算法。Gabor小波对变化具有非敏感性,且具有很好的光照变化适应性等特性,可以解决光照不稳定问题。同时,Gabor小波在图像特征提取的局部空间与频域信息方面具有良好特征。对预处理后的人脸区域进行小波变换,在大部分基于Gabor特征的人脸识别算法中,特征提取模块仅提取人脸的Gabor幅值特征,然后将提取到的特征值转存到人脸特征数据库。

1.6 图像识别模块

计算机利用欧氏距离计算方法,计算待识别人脸特征到事先建立数据库中人脸特征模板的距离,提取计算出的所有最小值,对其进行对比分析,找到最佳匹配对象,并通过输出模块输出该人脸模板[11],从而实现对人脸的有效监测,得到最终识别结果。

2 系统详细设计

2.1 GUI界面设计

GUI界面是人机交互的工具与方法[12],其是包含图形对象的用户界面,同时图形对象又包括窗口、图标、文本等。用户以一定方式激活或选择这些图形对象时,计算机则对应执行相应操作,例如实现图像保存、图像处理等[13]。其中最简单的激活方式是用鼠标控制计算机桌面上鼠标指针的像素移动。一个好的GUI界面可以让操作者对设计目的与系统功能一目了然,并很直观地告诉操作者怎样操作系统。GUI界面设计步骤如图2所示。

图2 GUI设计步骤

在Matlab中设计GUI界面主要涉及以下几方面内容:组件添加、菜单编辑、属性与回调函数设置[14]。本设计采用触控按钮直接实现相应操作,系统GUI界面如图3所示。

图3 系统GUI界面

2.2 运行结果

计算机利用欧式距离计算方法[15]计算采集到的人脸图像数据特征到人脸数据库模板特征之间的距离,并提取出计算数值当中的最小值。对最小值进行自动分析对比,找到人脸库中的最佳匹配人脸模板,并输出该人脸图像进行身份验证,实现人脸识别功能。具体实现步骤如下:编写计算距离的函数function mdis=mdist(a,b) ;使用函数dis(u)mdist(data2,data1)计算待测人脸到人脸模板距离;调用函数[s insdex]=sort(dis)对上述距离按升序排序,提取出最邻近距离。对某人脸图像识别结果如图4所示。

图4 人脸识别结果

3 结语

人脸识别技术是当今科学研究中运用的重要技术。在系统采集人脸图像时,由于外界条件例如光照、表情、姿态等方面存在不确定性,以及设备不健全、系统不稳定等问题的存在,对采集到的图像影响非常大。在整个系统操作步骤中,人脸特征提取是其中最重要的一步,特征提取质量直接影响到最终识别率。目前,人脸特征提取方法有多种,本文使用基于Gabor的人脸特征提取算法,并对图像各处理阶段作了相应阐述。本研究的不足之处在于:由于系统受到很多外界因素影响导致图片质量受损,所以需要进一步完善各步骤的图像处理手段,提高图像识别率。另外,本系统目前只能识别出待识别人身份,而无法识别出待识别人的个人信息,后续也将针对该问题进行改进,使系统具有更高的安全性。

猜你喜欢
身份验证人脸识别人脸
人脸识别 等
有特点的人脸
揭开人脸识别的神秘面纱
三国漫——人脸解锁
基于类独立核稀疏表示的鲁棒人脸识别
马面部与人脸相似度惊人
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
基于K-L变换和平均近邻法的人脸识别
身份验证中基于主动外观模型的手形匹配
ASP.NET中的Forms身份验证的研究