基于matlab程序实现人脸识别完整资料.docx
- 文档编号:6278011
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:54
- 大小:1.98MB
基于matlab程序实现人脸识别完整资料.docx
《基于matlab程序实现人脸识别完整资料.docx》由会员分享,可在线阅读,更多相关《基于matlab程序实现人脸识别完整资料.docx(54页珍藏版)》请在冰豆网上搜索。
基于matlab程序实现人脸识别完整资料
基于matlab程序实现人脸识别
1.人脸识别流程
1.1.1基本原理
基于YCbCr颜色空间的肤色模型进行肤色分割.在YCbCr色彩空间内对肤色进行了建模发现,肤色聚类区域在Cb—Cr子平面上的投影将缩减,与中心区域显著不同。
采用这种方法的图像分割已经能够较为精确的将人脸和非人脸分割开来。
1。
1.2流程图
人脸识别流程图
2.人脸识别程序
(1)人脸和非人脸区域分割程序
functionresult=skin(Y,Cb,Cr)
%SKINSummaryofthisfunctiongoeshere
% Detailedexplanationgoes here
a=25。
39;
b=14。
03;
ecx=1.60;
ecy=2.41;
sita=2.53;
cx=109.38;
cy=152。
02;
xishu=[cos(sita)sin(sita);—sin(sita)cos(sita)];
%如果亮度大于230,则将长短轴同时扩大为原来的1.1倍
if(Y>230)
a=1.1*a;
b=1.1*b;
end
%根据公式进行计算
Cb=double(Cb);
Cr=double(Cr);
t=[(Cb-cx);(Cr-cy)];
temp=xishu*t;
value=(temp
(1)—ecx)^2/a^2+(temp
(2)—ecy)^2/b^2;
%大于1则不是肤色,返回0;否则为肤色,返回1
ifvalue〉1
result=0;
else
result=1;
end
end
(2)人脸的确认程序
function eye=findeye(bImage,x,y,w,h)
%FINDEYE Summaryofthisfunctiongoeshere
% Detailedexplanation goes here
part=zeros(h,w);
%二值化
fori=y:
(y+h)
forj=x:
(x+w)
if bImage(i,j)==0
part(i-y+1,j-x+1)=255;
else
part(i-y+1,j-x+1)=0;
end
end
end
[L,num]=bwlabel(part,8);
%如果区域中有两个以上的矩形则认为有眼睛
ifnum<2
eye=0;
else
eye=1;
end
end
(3)人脸识别主程序
clearall;
%读入原始图像
I=imread(’face3.jpg’);
gray=rgb2gray(I);
ycbcr=rgb2ycbcr(I);%将图像转化为YCbCr空间
heighth=size(gray,1);%读取图像尺寸
width=size(gray,2);
fori=1:
heighth%利用肤色模型二值化图像
for j=1:
width
Y=ycbcr(i,j,1);
Cb=ycbcr(i,j,2);
Cr=ycbcr(i,j,3);
if(Y〈80)
gray(i,j)=0;
else
if(skin(Y,Cb,Cr)==1)%根据色彩模型进行图像二值化
gray(i,j)=255;
else
gray(i,j)=0;
end
end
end
end
se=strel('arbitrary',eye(5));%二值图像形态学处理
gray=imopen(gray,se);
figure;imshow(gray)
[L,num]=bwlabel(gray,8);%采用标记方法选出图中的白色区域
stats=regionprops(L,'BoundingBox');%度量区域属性
n=1;%存放经过筛选以后得到的所有矩形块
result=zeros(n,4);
figure,imshow(I);
holdon;
fori=1:
num%开始筛选特定区域
box=stats(i).BoundingBox;
x=box
(1);%矩形坐标X
y=box
(2);%矩形坐标Y
w=box(3);%矩形宽度w
h=box(4);%矩形高度h
ratio=h/w;%宽度和高度的比例
ux=uint16(x);
uy=uint8(y);
ifux>1
ux=ux-1;
end
ifuy>1
uy=uy—1;
end
ifw〈20 ||h<20|| w*h<400%矩形长宽的范围和矩形的面积可自行设定
continue
elseifratio<2 && ratio>0.6 &&findeye(gray,ux,uy,w,h)==1
%根据“三庭五眼”规则高度和宽度比例应该在(0。
6,2)内;
result(n,:
)=[uxuyw h];
n=n+1;
end
end
ifsize(result,1)==1&&result(1,1)〉0%对可能是人脸的区域进行标记
rectangle(’Position’,[result(1,1),result(1,2),result(1,3),result(1,4)],'EdgeColor',’r');
else
%如果满足条件的矩形区域大于1,则再根据其他信息进行筛选
a=0;
arr1=[];arr2=[];
for m=1:
size(result,1)
m1=result(m,1);
m2=result(m,2);
m3=result(m,3);
m4=result(m,4);
%得到符合和人脸匹配的数据
ifm1+m3 a=a+1; arr1(a)=m3;arr2(a)=m4; %rectangle('Position',[m1,m2,m3,m4],'EdgeColor',’r’); end end %得到人脸长度和宽度的最小区域 arr3=[];arr3=sort(arr1,'ascend’); arr4=[];arr4=sort(arr2,’ascend'); %根据得到的数据标定最终的人脸区域 for m=1: size(result,1) m1=result(m,1); m2=result(m,2); m3=result(m,3); m4=result(m,4); %最终标定人脸 if m1+m3〈width &&m2+m4<heighth &&m3<0.2*width m3=arr3(1); m4=arr4 (1); rectangle('Position',[m1,m2,m3,m4],'EdgeColor','r’); end end end (4)程序说明 人脸识别程序主要包含三个程序模块,人脸识别主程序由三部分构成。 第一部分: 将图像转化为YCbCr颜色空间,根据色彩模型进行图像二值化,二值化图像进行形态学处理、开运算,显示二值图像;第二部分: 采用标记方法选取出图中的白色区域,度量区域属性,存放经过筛选以后得到的所有矩形块,筛选特定区域,存储人脸的矩形区域;第三部分: 对于所有人脸的矩形区域,如果满足条件的矩形区域大于1则再根据其他信息进行筛选,标记最终的人脸区域。 图像分割程序中,利用肤色可以较为精确的将人脸和非人脸区域分割开来,得到较为精确的二值化图像。 人脸的确认程序,以存储的所有矩形区域作为研究对象,当区域内有眼睛存在时,才认为此区域为人脸区域 3运行结果 (1)第一幅图 原始图像 肤色分割的二值化图像 人脸识别图像 (2)第二幅图 原始图像 肤色分割的二值化图像 人脸识别图像 (3)第三幅图 原始图像 肤色分割的二值化图像 人脸标定 项目题目: 基于Matlab的语音识别 一、引言 语音识别技术是让计算机识别一些语音信号,并把语音信号转换成相应的文本或者命令的一种高科技技术。 语音识别技术所涉及的领域非常广泛,包括信号处理、模式识别、人工智能等技术。 近年来已经从实验室开始走向市场,渗透到家电、通信、医疗、消费电子产品等各个领域,让人们的生活更加方便。 语音识别系统的分类有三种依据: 词汇量大小,对说话人说话方式的要求和对说话人的依赖程度。 (1)根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量及无限词汇量识别系统. (2)根据对说话人说话方式的要求,可以分为孤立字(词)语音识别系统、连接字语音识别系统及连续语音识别系统。 (3)根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统。 二、语音识别系统框架设计 2。 1语音识别系统的基本结构 语音识别系统本质上是一种模式识别系统,其基本结构原理框图如图l所示,主要包括语音信号预处理、特征提取、特征建模(建立参考模式库)、相似性度量(模式匹配)和后处理等几个功能模块,其中后处理模块为可选部分. 三、语音识别设计步骤 3.1语音信号的特征及其端点检测 图2数字‘7’开始部分波形 图2是数字”7”的波形进行局部放大后的情况,可以看到,在6800之前的部分信号幅度很低,明显属于静音。 而在6800以后,信号幅度开始增强,并呈现明显的周期性。 在波形的上半部分可以观察到有规律的尖峰,两个尖峰之间的距离就是所谓的基音周期,实际上也就是说话人的声带振动的周期。 这样可以很直观的用信号的幅度作为特征,区分静音和语音。 只要设定一个门限,当信号的幅度超过该门限的时候,就认为语音开始,当幅度降低到门限以下就认为语音结束。 3。 2 语音识别系统 3。 2。 1语音识别系统的分类 语音识别按说话人的讲话方式可分为3类: (1)即孤立词识别(isolatedwordrecognition),孤立词识别 的任务是识别事先已知的孤立的词,如“开机"、“关机"等。 (3)连续语音识别,连续语音识别的任务则是识别任意的连续语音,如一个句子或一段话。 从识别对象的类型来看,语音识别可以分为特定人语音识别和非特定人语音识别,特定人是指针对一个用户的语音识别,非特定人则可用于不同的用户。 显然,非特定人语音识别系统更符合实际需要,但它要比针对特定人的识别困难得多。 3.2.2语音识别系统的基本构成 语音识别系统的实现方案如图3所示.输入的模拟语音信号首先要进行处理,包括预滤波,采样和量化,加窗,端点检测,预加重等。 语音信号经处理后,接下来很重要的一环就是特征参数提取. 图3语音识别系统 在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。 在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模版,与参考模板进行匹配,将匹配分数最高的参考模型作为识别结果。 3。 2.3语音识别系统的特征参数提取 特征提取是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,获得影响语音识别的重要信息。 语音信号是一种典型的时变信号,然而如果把观察时间缩短到十毫秒至几十毫秒,则可以得到一系列近似稳定的信号.人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。 全极点线性预测参数(LPC: LinerPredictionCoeffieient)可以对声管模型进行很好的描述,LPC参数是模拟人的发声器官的,是一种基于语音合成的参数模型. 在语音识别中,很少用LPC系数,而是用LPC倒谱参数(LPCC: LinerPredictionCepstralCoefficient)。 LPCC参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。 然而,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数关系。 近年来,一种能够比较充分利用人耳这种特殊的感知特性的参数得到了广泛的应用,这就是Mel倒谱参数(MFCC: Mel一FrequencyCePstralCoeffieient)。 MFCC参数能够比LPCC参数更好地提高系统的识别性能. 。 3。 2.4特定人语音识别算法-DTW算法 在孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法,用于孤立词识别.HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算.所以在孤立词语音识别中,DTW算法仍然得到广泛的应用. 无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。 已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R (1),R (2),……,R(m),……,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模板所包含的语音帧总数,R(m)为第m帧的语音特征矢量.所要识别的一个输入词条语音称为测试模板,可表示为T={T(1),T (2),……,T(n),……,T(N)},n为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。 参考模板与测试模板一般采用相同类型的特征矢量(如MFCC,LPC系数)、相同的帧长、相同的窗函数和相同的帧移。 四、基于Matlab的语音识别系统仿真 4.1语音模板的获取 运用系统的采集模块录制一个普通男声声音,录制0~9 十个语音为实验对象分别命名为0a。 wav,1a.wav,2a.wav,3a.wav,4a.wav,5a.wav,6a。 wav,7a.wav,8a.wav,9a。 wav分析处理后提取特征参数,经过模板训练,为十个语音分别选取最合适的语音作为模板,存入数据库建立参考模型库. 4。 2语音训练 类似,录制一组普通男声的声音,同样为 0~9十个语音,作为十个待测语音信号。 图4 数字‘0'的训练波形及系数 4.3语音识别 训练结束后,用录音设备录入0~9中的数字,经过波形及系数匹配识别出录入数字,并正确显示识别结果。 图4 数字‘0’的识别结果 五总结 通过这次二级项目,更深入的了解的Matlab软件强大的功能,了解了利用Matlab软件进行界面设计等。 学习到语音识别技术仿真中各函数的运用。 在不断地改进和完善中,这次二级项目终于顺利完成。 参考文献 1.何强、何英.MATLAB扩展编程。 北京: 清华大学出版社,2002.6 2.江官星 王建英. 一种改进的检测语音端点的方法.微计算机信息 2006 3.陈勇屈志毅刘莹等.语音特征参数MFCC的提取及其应用.湖南农业大学学报自然科学版2009 4.王炳锡等,实用语音识别基础,北京,国防工业出版社,2005年 5.韩纪庆张磊郑铁然。 语音信号处理.北京: 清华大学出版社 2004 佳木斯大学毕业论文 基于Matlab的人脸识别系统设计与仿真 学院 信息电子技术 专 业电子信息工程 班 级11级1班 学籍号11100540116 姓 名 杨雷 指导教师 周经国 佳 木斯 大学 2015年6月10日 摘要 人脸识别即指利用分析比对人脸视觉特征信息从而达到身份鉴别效果的计算机技术。 人脸识别是一项当下十分热门的计算机技术的研究领域,该项技术可以人脸明暗侦测,并且自动调整动态曝光补偿,同时对人脸追踪侦测,并自动调整影像放大;这项技术属于生物特征识别技术的一种,是利用生物体(一般指人)本身的生物特征从而达到区分生物体个体的目的。 人脸识别技术目前主要用做身份识别。 由于视频监控的飞速普及,使这项应用迫切的需要一种能实现在用户非配合状态下、远距离的进行快速身份识别的技术,以求能在远距离之下快速识别人员身份,从而实现智能预警的功能。 最佳的选择无疑是人脸识别技术。 采用快速人脸检测识别技术可以从视频监控图象中实时捕获到人脸信息,并与人脸数据库中的已存信息进行实时比对,从而达到快速身份识别的效果。 报告利用MATLAB软件来实现人脸信息检测与识别,利用YCbCr空间以及灰度图像来实现人脸的边缘分割,将真彩图像转换为灰度图像,并根据肤色在YCbCr色度空间上的分布范围,来设定门限阀值,从而实现人脸区域与非人脸区域的分割,通过图像处理等一系列的操作来剔除干扰因素,再通过长宽比和目标面积等方法在图像中定位出人脸区域,经试验,该方法能够排除面部表情、衣着背景、发型等干扰因素,从而定位出人脸区域。 关键词: Matlab软件;灰度图像;边缘分割;人脸区域 Abstract Face recognitionespecially usecomparativeanalysisfacevisualfeatureinformationforidentificationofcomputer technology.Facerecognition isa hotresearchfieldcomputer technology, face detection, lightandshadecanbeautomatically adjusteddynamically exposurecompensation,human facetrackingdetection,automatic adjustmentofimagemagnification;Itbelongs tothe biometricidentificationtechnology,itisoforganisms(generallyreferstoaperson) individualbiologicalcharacteristicstodistinguish betweentheorganism itself. Facerecognitionismainlyused foridentification。 Becauseofthevideomonitoring isfastpopularization,manyofthe videomonitoring applicationis anurgentneedtoalong distance,the usernot cooperateconditionofrapididentificationtechnology,inorder.Face recognition technologyisundoubtedlythebestchoice,thefastfacedetection technologyto monitorinreal—time video imagesearchfromface,andwithreal-timethan face database,so as torealizerapididentification。 Report usingMATLABsoftware to realizeface informationdetection and recognition,using YCbCr space andgrayimageto realizethe faceedgesegmentation,thetrue colorimageis converted to a grayscale image,andaccordingto thecolorofskininYCbCrchroma spacedistribution,to set thethresholdthreshold,soas torealizethesegmentationof faceregionwiththefaceregion,throughaseries ofoperationssuch asimageprocessing toeliminate interferencefactors,andthroughsuchmeansasaspectratio andthetargetarea locatetheface regionin theimage, theexperiment,this methodcaneliminate facialexpressions,clothes, hairbackgroundinterferencefactors, soasto locate thefaceregion。 Keywords: Matlab;Grayimage;edgesegmentation;faceregion 摘要1 目录3 第1章绪论4 1.1课题的研究背景、目的及意义4 1。 1。 1课题的研究背景4 1。 1。 2研究目的及意义5 1。 2 本课题的主要内容5 第2章图像处理的Matlab实现6 2.1 识别系统构成6 2.3 图像类型的转换7 2.4图像增强8 2。 5 灰度图像平滑与锐化处理9 2.6 边缘检测11 第3章人脸识别计算机系统12 3。 1系统基本构架12 3.2 人脸检测定位算法12 结论24 致谢25 附录1人脸识别的MATLAB源程序27 附录2外文参考文献及翻译31 第1章绪论 1。 1课题的研究背景、目的及意义 1。 1。 1课题的研究背景 数字图像处理技术是20世纪60年代发展起来的一门新兴技术。 近30多年来,在计算机科技和大规模集成电路技术的迅猛发展、离散数学理论创立和完善,以及工业、军事、医学等方面的应用需求在不断增长,人脸识别技术已经在人机交互、安全验证系统、系统公安(罪犯识别等)、医学、档案管理、信用卡验证、视频会议等方面的巨大应用前景而越来越成为当前模式识别和人工智能领域的一个研究热点。 目前,人脸识别技术应用最广泛的地方就是各大公司、商场、政府保密机构的门禁考勤系统。 20世纪90年代后期以来,一些商业性的人脸识别技术系统逐渐进入市场.自美国遭遇恐怖分子袭击事件后,这一技术引起了社会各方的广泛关注.由于隐蔽性十分好,该项技术逐渐成为国际反恐及安全防范的重要手段之一。 人脸识别技术在中国也有迅猛发展的历史。 国家“十一五”科技发展规划就将人脸识别技术的研究与发展列入其中,并明确指出“要在生物特征识别技术领域缩小与世界先进水平的差距,开展生物特征识别应用技术研究,开发具有高安全性、低误报率的出入口控制新产品。 ”在这种形势下,国内一些科研院所在人脸识别技术上有了重大发展和突破。 如清华大学、中科院计算机所、中科院自动化所等自主研发的人脸识别技术已经达到了国际先进的水平。 经过多年的研发探
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 程序 实现 识别 完整 资料