谈人脸识别系统的构建
2017-04-11楚展奇
楚展奇
【摘 要】人脸识别是模式识别和人工智能领域内的一个研究热点,在生物识别方法中有很特殊的优势,广泛地应用在安全、民用等方面。论文介绍了人脸识别系统的设计流程和流行应用算法。
【Abstract】The face recognition is a research focus in the field of pattern recognition and artificial intelligence. It has a special advantage in the field of biometric recognition, and be widely used in the field of safety and civilian use. This paper introduces the system of the face recognition
design process and popular application algorithm.
【關键词】人脸识别;模式识别;设计流程;应用算法
【Keywords】face recognition; pattern recognition; design flow; application algorithm
【中图分类号】TB472 【文献标志码】A 【文章编号】1673-1069(2017)03-0099-02
1 引言
人脸识别技术是一种非接触式、友好的生物识别方式,它是当前模式识别和人工智能领域的一个研究热点,其开始于20世纪60年代,到20世纪90年代随着图像处理、模式识别、认知科学等理论的发展取得了突破性进展,广泛地应用在自动身份认证与识别、民用、安检等方面。
2 技术流程
人脸识别系统主要包括四个组成部分,分别为:人脸图像采集及检测、图像预处理、特征提取以及匹配与识别。
2.1 图像采集及检测
人脸检测是人脸识别过程中的关键技术。对任意给定的一个或一组图像进行识别,人脸检测的目的在于判断图像中是否存在人脸,并准确标定出人脸的位置、大小和姿态的过程。具体算法有以下几种类型:
2.1.1 基于直方图粗分割和奇异值特征的人脸检测
这种方法是用平滑的直方图对图像进行粗分割,再根据一定的灰度区间对人眼进行定位,进而确定出人脸区域。这种算法检测率较高,但耗时较长,而且当脸部光照变化较大或脸部有较大阴影时,图像很难被检测到。
2.1.2 基于二进制小波变换的人脸检测
给定一幅原图像,在垂直方向上应用低通分析滤波器得到垂直方向的低频分量和水平方向上的高频分量,水平方向应用高通分析滤波器得到水平方向的低频分量与垂直方向的高频分量,再经过一系列的变换,得到角度相似函数和自由参数,这样选择人脸部位的任意一点(n,m),学习得到自由参数,应用这些不等长的参数,可以有效地获取人脸部位的特征。
但该方法对原始图像的要求较高,当图像的背景相对复杂,比如从侧面拍摄人脸时,水平方向和垂直方向的高低频分量很难获取,这将直接影响到自由参数的准确性,从而很大程度上影响人脸检测的检准率。
2.1.3 基于AdaBoost算法的人脸检测
2010年Viola和 Jones引入积分图概念,提出了基于Harr-like特征、级联结构的AdaBoost算法,成功应用于模式识别领域,实现了实时人脸检测,使人脸检测技术取得了突破性进展。该算法是挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器,再将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,有效地提高分类器的检测速度。
2.2 人脸图像预处理
预处理是人脸识别过程中的一个重要环节。输入图像在采集、传输、变换过程中,由于多种原因,往往会造成图像与原始人物之间产生某些差异。这些质量的退化会对下一步的特征提取造成很大的影响,因此有必要对分割出来的图像进行适当的处理,使其有利于计算机的运算,这种处理就是图像的预处理[1]。
通常图像的预处理有滤波法、基于数学形态的预处理方法等。滤波法常用基于空间域的均值滤波、高斯滤波、中值滤波、边缘保持滤波和基于频率域滤波的低通、高通、带阻滤波等[2];基于数学形态的预处理方法有灰度腐蚀、灰度膨胀、灰度开运算、灰度闭运算等方法。论文简单介绍了滤波法的计算原理。
均值滤波是用像素邻域内的各像素灰度平均值代表原来的灰度值,此法能有效地去除噪声,但容易使边缘模糊。
高斯平滑滤波器是根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对去除服从正态分布的噪声是很有效的,在边缘检测之前要对图像进行平滑滤波,往往采用高斯滤波器。
中值滤波是用局部的中值代替局部均值。在灰度图像 f 中以像素(x,y)为中心的 N×N 屏蔽窗口(N= 3, 5, 7, …)内, 首先把这 N×N 个像素点的灰度值按大小进行排序,然后选取值的大小处于中间位置的灰度值α, 使 f ( x , y)α。这样 , 把被处理点的某一邻域中像素灰度中值作为该点灰度的估计。
2.3 人脸识别常用算法
2.3.1 基于主成分分析的人脸识别算法
主成分分析法(Principal Component Analysis,PCA)是最早、研究最广泛的人脸识别方法。该方法识别人脸时,将单张人脸图像投影到此低维空间,用所得投影坐标系数与目标样本集中的投影系数进行比对,以确定最佳特征脸。其步骤如下:
①利用滤波或膨胀、腐蚀等方法对人脸图像进行预处理。
②读入特定人脸数据库,形成人脸样本的特征空间。
③将训练样本图像和测试人脸图像进行正交变换、投影等。
④选择合适分类方法判断训练样本和测试人脸是否同类。
2.3.2 基于神经网络的识别方法
心理学家McCulloch和数学家Pitts 合作提出了形式神经元的数学模型, 成为人工神经网络的开端。神经网络把模型的统计特征隐含在神经网络的结构和参数中,对于人脸这类复雜的、难以显示描述的模型,基于神经网络的方法具有独特优势。神经网络的鲁棒性比较好,但是训练慢,并可能陷入局部最优。
2.3.3 基于隐马尔科夫模型的人脸识别算法
隐马尔可夫模型(HMM)的基本理论发起于20世纪六七十年代,Samaria等人最早提出关于人脸的隐马尔可夫模型,使用人脸图像中的额头、眼睛、鼻子、嘴巴和下巴5个特征参数,隐含5个形态,将人脸用矩形从上到下分成若干区域,将窗口内的像素点数据排成列向量,用每个区块的像素值作为观察序列来进行人脸识别。
除以上方法外,还有很多不同的算法,如基于三维的人脸识别、基于主动近红外图像的多光源人脸识别技术、基于皮肤特征的人脸识别都取得了很好的应用效果。
3 系统的构建
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,利用其对待识别人脸图像的预处理、判断待识别图像是否在人脸库中、对选取不同训练样本个数下识别效率进行比较。
3.1 ORL人脸库
英国剑桥大学的ORL人脸库包含40个人,每人10幅图像,每幅图像大小为92×112,图像是在不同时间、光线轻微变化的条件下摄制的,其中包括姿态、光照和表情的差别。
3.2 图像预处理
通过几何归一化对输入的图像加工,使其与人脸库的图像一致,然后将彩色图像转换为灰度图像,通过灰度拉伸,直方图均衡化等方法完成对图像的处理。
3.3 人脸识别
根据具体情况选择不同的核心算法,以HMM算法为例,对人脸库中的图像进行训练,得出人脸库的HMM值。
在建立完人脸库后,用与训练相同的方法提取待识别人脸的HMM值,并与原人脸库中存在的HMM值进行比较,求出各项的相似概率,对这些概率进行排序,输出相似概率最大项。
【参考文献】
【1】刘新业.基于人脸识别的人脸图像预处理研究[J].电子测试,2008 (2) :27-30.
【2】贾云得.机器视觉[M].北京:科学出版社,2000.