前沿科技
数码世界 P .7
基于MATLAB 的人脸识别系统研究
刘思佳    华南师范大学计算机学院
摘要:过去几十年中,科技迅速发展,随之而来的人脸识别技术也迎来了热潮,但因为很多客观存在的因素,人脸识别的落实应用存在很多困难。本文结合近年来各类国内外的相关论文和研究报告进行了系统的学习和分析,总结出一种识别简单并且准确率高的人脸识别方法,即利用MATLAB 进行图像处理来支撑人脸识别的进程,但这种方法也存在不可避免的缺点,后台运行时的计算量大,当有多个人员进行识别时,速度回慢,甚至有时候没办法实现。
MATLAB 的存在让人脸图像预处理仿真系统的存在成为了可能,集合了多种预处理方法,在进行图像预处理时把该系统作为处理的一个模块进行嵌入,人脸图像的识别判定要利用灰度图像的直方图对比进行实现。
关键词:人脸识别 MATLAB 模式识别
引言本文介绍了人脸图像识别中所应用MATLAB 对图像进行预处理,应用该工具箱对图像进行经典图像处理,通过实例来应用matlab 图像处理功能,对某一特定的人脸图像处理,进而应用到人脸识别系统。本文在总结分析人脸识别系统中几种常用的图像预处理方法基础上,利用MATLAB 实现了一个集多种预处理方法一体的通用的人脸图像预处理仿真系统,将该系统作为图像预处理模块可嵌入在人脸识别系统中,并利用灰度图像的直方图比对来实现人脸图像的识别判定。
1系统结构
人脸识别是一个复杂的过程,一个计算机人脸识别的流程如图所示。它包括几个步骤:首先对图像进行采集,利用采集到的图像对人脸进行检测,判定图像中是否出现了人脸,紧接着对人脸进行定位,确定人脸的位置并且进行提取,如果进行定位成功则可以进行图像的处理,处理无误则可以迅速对人脸进行识别,识别成功则显示识别的结果,如果在定位、图像处理或者人脸识别阶段有一处出现错误则该过程直接结束。
2系统算法
在本次系统的设计中,实现了以上所提的全部预处理方法,并且对滤波去噪、灰度变换、边缘检测这三种常用的预处理方法进行了实现,从而提供多种不同的具体算法让用户可以将结果进行比较之后再做选择。
2.1滤波去噪
在预处理过程中为了减少噪声带来的降质和失真,在人脸识别过程中必须要用滤波的方式进行噪声的去除。常用的滤波的方法很多种,如各种平滑滤波、各种锐化滤波等。在人脸图像预处理的过程中,平滑滤波是使用最多的一种方法,而平滑滤波方法可分为以下三类:线性滤波、中值滤波、自适应滤波。
2.2边缘检测
直方图均衡化方法对人脸进行检测,如可以在人脸识别系统上对人脸进行粗定位,并且对主要器官(鼻子、眼睛、嘴巴)进行定位时,可以先对图像进行预处理,这个时候就用到了边缘检测。在该系统上,为满足用户的不同需求,我们在不同的灰度阈值、不同方向下canny、sobel、log、prewitt 这四张算子的边沿检测算法,用户可以根据结果进行比较和选择。在图像格式转换(TIF 、JPG 转换为BMP 格式)及彩到灰度图像转换的实现方面我们采用了MATLAB 中提供的各种图像类型转换函数。对图像二值化,采用了graythresh 函数来自动选择阈值的二值化方法;图片吗股股票迪欧尺寸归一化采用的算法是对人脸图像进行剪裁和尺寸缩放,实现去除大部分头发、服饰和背景的干扰并将人脸图像大小统一。
2.3识别理论
用灰度直方图增强图像对比度是基于图像灰度值统计的一种重要方法,它以概率论为基础的,常用的实现算法主要是直方图均衡化和直方图规定化。
为了增强动态范围较小的图像反差,我们需要把原始图的直方图变换成均匀分布,增强整个图像对比度,这就需要用到直方图均衡化,从而增强像素灰度值得动态范围。虽然直方图均衡化帮我们解决了图像对比度的问题,并且是自动实现的,但因为不能控制增强效果,对于局部的均衡化不能很好的平衡。实际中有为了局部平衡化,可以让我们选择使图像灰度值的分布满足特定要求,并且有选择地增强某个灰度值范围内的对比度,通常要将直方图变换成某个需要的形状。这时可以采用比较灵活的直方图规定化方法。
3
系统研究结果
图2 识别结果4结论
在MATLAB 的基础上建立的数字图像处理与识别系统的应用范围很大,本文只针对性的研究了几种自然语言基础上的研究。对于“人脸识别”来说是通过图像直方图差值进行实现的,因为相对于其他方法,这种方法的识别率较准确,但同时对图像的要求更高。因为目前条件下标准人脸库比较单一,仅仅采用Orl 的标准进行测试,这就使得识别率较高。真正落实到现实条件下,因为多种因素的影响,人脸识别检测的识别率会有一定程度的降低。只有进一步的综合其他算法,如神经网络、PCA 等才能进一步提高使用范围和识别率。
参考文献
[1]祝磊,朱善安.人脸识别的一种新的特征提取方法[J].计算机学报,2007,34(6):122-1251
[2]何东风,凌捷.人脸识别技术综述[J].计算机学报,2003,13(12)75-78