人脸识别系统分析与实现.docx
- 文档编号:9374630
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:18
- 大小:289.63KB
人脸识别系统分析与实现.docx
《人脸识别系统分析与实现.docx》由会员分享,可在线阅读,更多相关《人脸识别系统分析与实现.docx(18页珍藏版)》请在冰豆网上搜索。
人脸识别系统分析与实现
人脸识别系统分析与实现
指导老师:
****
作者:
****
班级:
*******
学号:
**********
一、引言...........................................................................................................................3
二、图像处理阶段………………………………………………………………………………………………………..4
1,图像去噪…………………………………………………………………………………………………………....4
2,图像增强……………………………………………………………………………………………….……….…..5
三、检测和定位阶段…………………………………………………………………………………………………...7
1,人脸检测………………………………………………………………………………………………………….…7
2,特征点定位…………………………………………………………………………………………….……….….8
四、图像及信息存储阶段………………………………………………………………………………………....9
1,图像处理………………………………………………………………………………………………………….…9
2,信息处理……………………………………………………………………………………………………….……9
五、图像比对阶段…………………………………………………………………………………………………..…..10
六、程序实现简单人脸识别………………………………………………………………………………………..11
1,运行环境……………………………………………………………………………………………………….…..11
2,C代码………………………………………………………………………………………………………………..11
3,程序运行结果…………………………………………………………………………………………………...14
摘要
作为数字图像处理技术的一个重要应用,人脸识别已经成为智能终端、个人电脑以及企业安全的重要保障和措施。
每个人都有着不同的面孔,这使得通过面部特征来一一对应每个人成为了可能。
通常我们所说的人脸识别是基于光学人脸图像的身份识别与验证的简称。
光学人脸图像是外界光源(包括太阳、室内人造光源和其他物体表面反射)的光线照射在人脸上,经人脸表面反射后传播到摄像机传感器的光线强度的度量。
下面将就人脸识别的原理以及人脸识别的应用和发展前景提出一些个人的看法。
识别之前首先要进行图像去噪,然后是灰度处理,增强其对比度,然后提取特征点,最后才能与预先的图像文件进行比对,实现识别功能。
关键词:
数字图像处理,人脸识别,光学人脸图像,去噪
Abstract
Asanimportantapplicationofdigitalimageprocessingtechnology,facerecognitionhasbecomeintelligentterminals,personalcomputers,andenterprisesecurityimportantsafeguardsandmeasures.Everyonehasadifferentface,whichcorrespondstoonebyoneeachpersonthroughfacialfeatureswerepossible.Usuallywearetalkingaboutfacerecognitionbasedonopticalshorttitleoffacialimageidentificationandauthentication.Opticallightsourcefacialimageistheoutsideworld(includingsurfacereflection,indoorartificiallightoftheSunandotherobjects)thelightontheface,transmittedthroughinfectedfacereflectedonthesurfaceofthecamerasensorlightintensitymeasurements.Howwillnowfacerecognitionandfacerecognitionapplicationanddevelopmentprospectofsomepersonalviews.Identifiedpriortoimagedenoising,thengray,enhancedcontrast,andthenextractingfeaturepoints,finalimagefilethantoadvance,achievingrecognition.
Keywords:
Digitalimageprocessing,Facerecognition,Opticalfaceimage,Denoising
一、引言
随着现代科技的发展,数字图像技术显现出了其优越性。
作为计算机一个分支,其作用不仅仅是在图像简单处理领域,他已经突破瓶颈,朝着尖端科技发展。
越来越多的人和企业开始重视文件安全,而简单的密码输入已经不能满足。
这时就需要一种安全性高,用户简单易行的科学方法来解决问题。
高尔顿(Galton)早在1888年和1910年就分别在《Nature》杂志发表了两篇关于利用人脸进行身份识别的文章,对人类自身的人脸识别能力进行了分析,这是人脸识别的开始,从最早的简单背景的人脸识别,到基于多姿态、表情的人脸识别,再到动态跟踪人脸识别和三维人脸识别,人脸识别系统经历了一次又一次的革命性发展。
人脸识别技术的研究范围主要包括以下几个方面:
1.图像处理:
将图像灰度和对比度等进行优化,有利于提取特征点,包括去噪、提高等对比度等等;
2.人脸检测:
识别出人脸所在区域;
3.图像分割:
在特征空间中确定决策分界线,把空间划分若干区域,每个区域代表一个类;
4.人脸的规范化:
校正人脸在尺度、光照和旋转等方面的变化;
5.特征提取:
从人脸图像中映射提取一组能反映人脸特征的数值表示样本;
6.特征匹配:
将待识别人脸与数据库中的已知人脸数据进行比较,得出相关信息。
二、图像处理阶段
1,图像去噪
噪声是最常见的图像退化因素之一,也是图像恢复中重点研究的内容。
噪声的形成有以下原因:
1)热噪声。
热噪声与物体的绝地温度有关。
这种热导致的噪声在从零频率直到很高的频率范围之间分布一致,一般认为它可以产生对不同波长能量相同的频谱(或者在任何地方,相同频率间隔内的能量相同)。
这种噪声也称为高斯噪声或者白噪声。
2)闪烁噪声。
也是由电流运动产生的一种噪声,事实上,电子或者电荷的流动并不是一个连续的完美的过程,它们随机性的会产生一个很难量化和测量的交流成分。
在由炭组成的电阻中,这种随机性会远大于一般的统计所能预料的数值。
这种噪声一般具有反比于频率的频谱,所以也称1/f噪声,一般在1000Hz一下的低频时比较明显。
也有人称其为粉色噪声。
粉色噪声在对数频率间隔给内有相同的能量。
3)发射噪声。
也是由电流非均匀流动的,或者说是电子运动随机性的结果。
有色噪声,是指具有非白色频谱的宽带噪声。
典型的例子如运动的汽车、计算机风扇、电钻等。
那么该如何去除噪声呢?
有以下这些去噪方法:
1)空域噪声滤波器。
主要有均值滤波器、排序统计滤波器和自适应滤波器。
其中均值滤波是最为常见的一种滤波方法。
其原理是:
i)算术均值滤波器:
设在一次测量过程中有n个采样数据x,(l’一1,2,?
n),根据最小二乘原则,若能找到这样一个y,使与各采样值间的偏差的平方和为最小值,则该y为最接近真值的可信数据.根据函数极值原理,命
得
,上式说明,用n个采样数据的算术平均值作为测量值是最佳的,它最接近测量真值。
ii)几何滤波器
几何均值滤波器所达到的平滑度可以与算术均值滤波器相比,但在滤波过程中会丢失更少的图象细节。
2)组合滤波器
i)混合滤波器
ii)选择性滤波器
3)频域周期噪声滤波器
i)带阻滤波器
ii)带通滤波器
iii)陷波滤波器
iiii)交互式恢复
在这些滤波方法中主要用到的是:
线性滤波、中值滤波、维纳滤波以及小波去噪等。
2,图像增强
增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
图像增强可分成两大类:
频率域法和空间域法。
前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。
采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。
具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。
在人脸识别系统中,图像增强是最为关键的,也是最为重要的。
以下简单介绍图像增强的方法:
1)直接灰度变化增强图像
通过用对数形式的交换区先来增强,压缩了动态范围,周围的细节就可以显现清楚了。
2)直方图均衡化
直方图均衡化(histogramequalization)是一种借助直方图变化实现灰度映射从而达到图像增强目的的方法。
其基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。
在灰度直方图均衡化处理中对图像的映射函数可定义为:
g=EQ(f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):
(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。
这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。
(2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。
累积分布函数(cumulativedistributionfunction,CDF)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。
此时的直方图均衡化映射函数为:
gk=EQ(fk)=(ni/n)=pf(fi),
(k=0,1,2,……,L-1)
上述求和区间为0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。
在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出fk到gk的灰度映射关系。
在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对源图像各点像素进行灰度转换,即可完成对源图的直方图均衡化。
3)直方图规定化
直方图规定化(histogramspecification)也是借助直方图变换来增强图像的方法,它通过原始图的直方图转换为期望的直方图,从而达到预先确定的增强效果。
直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图.实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法.直方图规定化增强处理的步骤如下:
令Pr(r)和Pz(z)分别为原始图像和期望图像的灰度概率密度函数。
如果对原始图像和期望图像均作直方图均衡化处理,应有
(1)
(2)
(3)
由于都是进行均衡化处理,处理后的原图像概率密度函数Ps(S)及理想图像概率密度函数PV(V)是相等的。
于是,我们可以用变换后的原始图像灰度级S代替
(2)式中的V。
即
Z=G-1(S)(4)
这时的灰度级Z便是所希望的图像的灰度级。
此外,利用
(1)与(3)式还可得到组合变换函数
Z=G-1[T(r)](5)
对连续图像,重要的是给出逆变换解析式。
对离散图像而言,有
(6)
(7)
(8)
三、检测和定位阶段
1,人脸检测
人脸检测是一个比较浮躁的过程,每个人的脸型、角度以及光纤等等都会给检测带来不和困难,尤其是在一些噪声的影响,比如运动产生的噪声,已经热产生的噪声,并且表情、发型、眼镜等都使人脸检测问题变得复杂。
所以人脸检测需要分步骤进行,降低其难度。
人脸检测有以下几个步骤:
1)颜色分割
彩色图像中皮肤颜色的检测是一个非常流行和实用的人脸检测技术。
许多技术为输入图像中的肤色区域提出了定位报告。
虽然输入的彩色图像通常是RGB格式,这些技术通常在色彩空间中使用这些颜色分量,比如HSV或者YIQ格式。
由于RGB分量会受到了照明条件的干扰,因此,如果照明条件的变化,人脸检测可能会失败。
虽然存在许多色彩空间方案,最常见的是YCbCr的组件,因为它是现有的Matlab函数之一,可以有效的节省计算时间。
在YCbCr色彩空间中,Y分量表示亮度信息;Cb和Cr表示色度信息。
而且,亮度信息可以很容易地被嵌入。
RGB分量转换到YCbCr的计算公式如下:
Y=++
Cb=-+
Cr=--
2)图像分割
图像分割在图像识别中的作用如上图所示。
这一步是把人脸图像分割成独立的区域。
这个过程包括三个步骤:
第一步是边缘检测,边缘一般存在于连个具有不同灰度值的相邻区域之间。
第二步就是轮廓跟踪和图搜索。
实际图像分割中,由于差分算子并行的检测边缘对噪声比较敏感,所以实际中常采用先检测可能的边缘点再串行跟踪并连接边缘点成闭合轮廓的方法。
第三步,就是主体部分,阈值分割,去阈值是最常见的、并行的直接检测区域的分割方法,其他同类方法如像素特征空间分类可看做是取阈值技术的推广。
当然这一步还包括两种方法,即基于变换直方图的阈值和给予过渡区的阈值。
图像分割的最常见算法有:
1)基于阈值的分割-通过阈值对不同物体进行分割
2)基于区域的分割-把各象素划归到各个物体或区域中
3)基于边缘的分割-先确定边缘象素,并把它们连接在一起,以构成所需的边界
2,特征点定位
自动并且准确的人脸特征点定位是很困难的,如果定位的偏差相对较大时,就会引起图像的错误定位。
经典ASM被描述为一维剖面图上在每个标记点和一个线性点分布模型上计算一般距离。
ASM是一种属于基于特征匹配方法的模型,在形状近似复合图像特征时,它和图像交互,把形状弯曲到特征。
ASM首先在手动标记图像集上训练,训练后就能用ASM来搜寻人脸上的特征。
ASM首先需要在手工标记好的图像集中训练,完成训练后就可以用它对人脸进行特征点定位。
ASM方法主要有以下3个步骤:
1)图像训练集标定[9]。
随机选择N幅人脸图像,在边缘手动标记n个点作为训练数据。
这些n个边缘点一般标记在那些可以代表目标区域的地方,像眼睛和嘴巴的最高点和最低点。
标定的点为:
其中(xij,yij)代表了第i幅图像的第j个轮廓点的坐标;n代表了每幅图像标记的点数;N代表训练图像数目;每一幅图像的Si代表一个形状向量。
2)建立模型。
边缘标定是在各自不同的样本图像上进行操作的,在得到图像的形状向量后要对其进行归一化。
采用主成份分析(PCA)的思想对标定点的坐标值进行正交变换,得到主要变化参数。
为了从训练样本中获得平均轮廓向量:
N个形状向量的协方差阵:
计算协方差C的特征值以及特征值对应的特征向量,并且把特征值按照降序排列,选取k个最大特征值λ={λ1,λ2,…,λk},得到对应的特征向量P={P1,P2,…,Pk},P代表主成份。
主成分分析后,任意的人脸形状向量S可以被表示成一个平均形状向量和k个形状向量的一个线性组合s=一s+pb,因为P是正交的,所以b可以被表示成b=pT(s-一s),其中向量b是形状模型的参数,p是特征子空间基,s是目标形状。
不同的b对应不同的形状,并且它们的变换是在一定的范围内。
3)定位模型。
ASM使用了基于轮廓的灰度匹配[10]方法,沿着每个轮廓点的轮廓法线方向进行采样作为一个灰度特征,gij代表了第i幅图像的第j个样本点的灰度特征。
所有图像的第j点的灰度特征平均值为:
而协方差矩阵为:
灰度平均和协方差作为该点的匹配特征。
对每个特征点作相同的采样分析,整个轮廓的统计特征就可以获得。
ASM使用轮廓的灰度特征执行一个迭代过程,在每步的迭代搜索中,调整参数b来改变当前模型的位置,使得模型和物体的实际轮廓逐渐匹配,并且最终获得特征点的位置信息。
四、图像及信息存储阶段
这个阶段主要是为了将已经识别和准确定位的图像信息存储到数据库。
这一步也分两个部分。
1,图像存储
幅图像需要大量的数据来表达,因而存储图像也需要大量的空间。
数据库存储器的特点是要求非常大的容量,但对其上数据的读取不太频繁。
一般常用磁带和光盘作为数据库存储器。
图像数据的存储格式在图像存储中也是非常重要的。
基本上有两种形式,一种是矢量形式另一种是光栅形式。
2,信息存储
信息存储主要是为了将已经提取的特征信息存储在数据库中,以便在需要调用对比的时候使用。
那么这些数据是怎样存储的呢?
一般是以表的形式存储在SQLsever或者oracle等数据库中,因为在普遍情况下,人来能识别信息是非常庞大的,而且被识别的人群数量也同样是巨大的,所以我们需要较为企业化的数据库技术来支持信息的存储。
在我看来,一般可以以这样的形式来存储特征信息:
其中,颜色特征主要是将每个面部区域的每个像素点的颜色RGB模型的值存储,再次比对时,主要是比对是否相似度在一定范围内;
面部特征量化,是指将人的面部特征部位,例如眼睛间距以及嘴巴的宽度进行量化,使之能够存储为数据;
边缘特征,主要是指人的面部轮廓,当然这里用到了边缘检测算法;
消除表情权重,在进行面部数据提取时,我们要消除表情所带来的差异,不能因为受监测者的表情变化而引起识别错误。
五、图像比对阶段
这个阶段主要是为了将已经存储的数据与再次输入的数据进行比对,目的是实现人脸检测,提高使用单位的安全性,例如在进出重要场所是需要进出者提供自己的面部信息,主要是拍照和检测比对。
当然前提是你已经将进者的面部数据存入数据库。
脸部数据比对检测分为两阶段:
阶段一,实现即时的数据输入。
这一阶段主要是为了迅速的将受检测者的面部数据收入和提取,这和之前的人脸检测阶段是相似的,只不过这一阶段不需要输数据存储。
用类似的方法提取特征数据后,就可以和数据库中的数据进行比对了。
阶段二,这一阶段是识别的重要阶段,如何选择将为良好的算法,以及对检测精度的要求都直接影响着识别的结果准确性。
在这里我们可以选择一种叫做KAPPA一致性指数的概念。
KAPPA一致性指数(KAPPAindexofagreement,KIA),是心理学家Cohen于20世纪60年代为了测度教育学和心理学测量与评价中名义变量的一致性而提出的。
后来被Congalton和Mead于1983年应用到遥感影像解释的正确性和一致性的评价分析中。
KIA主要是应用于分析两幅地图或者图像差异性是“偶然”因素还是“必然”因素所引起的。
KIA=(p0-pc)/(1-pc)
其中p0=∑xii/N,pc=∑(xi+*x+i)/N2。
Xi+是第i行总数,x+i是第i列总数。
行和列是指在交叉表中而言的。
将两种数据进行比对,调整比对精度,再将特征数据与重新提取的数据进行比对,如果二者的差异性在一定范围内,意即KAPPA指数以及其他相似性指数在一定范围内,即可判断为检测成功。
六、程序实现简单人脸识别
由于人脸识别系统是个庞大而复杂的系统,所涉及的学科范围包括计算机图形学、数字图像处理、计算机科学以及地图学(KAPPA指数)等等,使得人脸识别系统利用简单的程序来实现是非常困难的,这里,我将运用简单的代码,利用openCV的知识来实现人脸识别的初步构想,以便读者理解。
1,运行环境
集成环境:
,操作系统:
windows7旗舰版,运行环境:
openCV
2,C代码
/*文件完整代码*/
#include""
#include""
#include""
#include<>
staticCvHaarClassifierCascade*cascade=0;
staticCvMemStorage*storage=0;
voiddetect_and_draw(IplImage*image);
constchar*cascade_name="";pg";
IplImage*image=cvLoadImage(filename,1);//加载图像
detect_and_draw(image);//对加载的图像进行检测
cvWaitKey(0);
cvReleaseImage(&image);
cvDestroyWindow("result");
return0;
}
voiddetect_and_draw(IplImage*img)
{
staticCvScalarcolors[]=
{
{{0,0,255}},
{{0,128,255}},
{{0,255,255}},
{{0,255,0}},
{{255,128,0}},
{{255,255,0}},
{{255,0,0}},
{{255,0,255}}
};
doublescale=;
IplImage*gray=cvCreateImage(cvSize(img->width,img->height),8,1);
IplImage*small_img=cvCreateImage(cvSize(cvRound(img->width/scale),
cvRound(img->height/scale)),8,1);
cvCvtColor(img,gray,CV_BGR2GRAY);
cvResize(gray,small_img,CV_INTER_LINEAR);
cvEqualizeHist(small_img,small_img);
cvClearMemStorage(storage);
if(cascade)
{
/*函数cvHaarDetectObjects检测图像中的目标,由OpenCV提供。
*/
CvSeq*faces=cvHaarD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 识别 系统分析 实现