机器学习概述课程设计报告(MATLAB人脸识别)

合集下载

简单Matlab人脸检测

简单Matlab人脸检测

创新性实验研究报告实验项目名称_matlab人脸识别_(3)选定脸部区域:2,3所得图像做andFace and FeaturesFace Region通过眼嘴确定人脸区域:通过肤色概率模型得到源图像概率图: (2)(3)选定脸部区域: (4)将2,3所得图像做通过脸部区域坐标确定人脸区域:,查阅相关书籍;根据课题条件,设计算法流程;算法步骤如下:寻找合适的肤色概率模型。

对概率模型进行阈值选择。

形成二值化图像五、实验结果与分析图1 椭圆圈定人脸图2 矩形圈定人脸另外,程序中还有在图片中定位眼嘴的语句,以方便程序后期调试,现象类似如下:图3 人脸特征标记、对实验现象、数据及观察结果的分析与讨论:本次实验程序对正面人脸的检测率基本能满足快速检测出图片中人脸的需要,也比较让人满意。

实现方法简便有效,如果能进一步增加滤波、光照补偿等步骤,将可以在满足实验要求的前提下进一步提高检测率和检测精度。

六、实验结论七、指导老师评语及得分:附件:源程序等。

clc;clear all;close all;x=imread('f.jpg');y=rgb2ycbcr(x);[a b c]=size(y);cb=double(y(:,:,2));cr=double(y(:,:,3));for i=1:a;for j=1:bw=[cb(i,j) cr(i,j)];m=[117.4316 148.5599];n=[260.1301 12.1430;12.1430 150.4574];p(i,j)=exp((-0.5)*(w-m)*inv(n)*(w-m)');endendz=p./max(max(p));%---------------------------------------------------------comp lextion probabilityimshow(z)%figure;imshow(x);th=0.5;for i=1:afor j=1:bif(z(i,j)>th)z(i,j)=1;elsez(i,j)=0;endendendfigure;imshow(z);title('Setthreshold')%-----------------------------------thresholdse=strel('square',3);f=imopen(z,se);f=imclose(f,se);%figure,imshow(f);%open and close processing;f=imfill(f,'holes');%figure,imshow(f);%fill holes in the Imgse1=strel('square',8);f=imerode(f,se1);f=imdilate(f,se1);%figure,imshow(f);%----------------------------------------------------erosion and expansion;[L,num]=bwlabel(f,4);for i=1:num;%region loop;[r,c]=find(L==i);len=max(r)-min(r)+1;wid=max(c)-min(c)+1;area_sq=len*wid;area=size(r,1);for j=1:size(r,1)%pixel loop;if(len/wid<.8)|(len/wid>2.4)|size(r,1)<200|area/area_sq<0.55L(r(j),c(j))=0;%not zero pixel =0;elsecontinue;endendendfigure;imshow(L);title('FaceRegion')%---------------------------------eliminate NOT face rengion;w=L&z;figure;imshow(w);title('Face and Features')%---------------------------recover the features of face[r c]=find(L~=0);r_min=min(r);r_max=max(r);c_min=min(c);c_max=max(c);figure;imshow(x);hold on%plot(round(.5*(c_max+c_min)),round(.5*(r_max+r_min)),'+')flg=0;for i=round(.5*(r_min+r_max)):-1:round(1/3*(r_max-r_min)+r_min)for j=round(.5*(c_max+c_min)):-1:round(1/3*(c_max-c_min)+c_min)if(w(i,round(j))==0)flg=1;break;endendif(flg==1),break,endendw(i,j)if(w(i,j)==0)e1_x=j;e1_y=i;%plot(j,i,'*')%--------------------------------------------------------Note left eyeflg=0;for i=round(.5*(r_min+r_max)):-1:round(1/3*(r_max-r_min)+r_min)for j=round(.5*(c_max+c_min)):round(2.2/3*(c_max-c_min)+c_min)if(w(i,j)==0)flg=1;break;endendif(flg==1)break,end;endw(i,j)e2_x=j;e2_y=i;%plot(j,i,'*')%--------------------------------------------------------Note right eyefor i=round(1/2*(r_max+r_min)):round(r_min+2/3*(r_max-r_min))if(w(round(i),round(.5*(c_max+c_min)))==0),break,endendw(i,round(.5*(c_max+c_min)))m_x=.5*(c_max+c_min);m_y=i;%plot(round(.5*(c_max+c_min)),i,'*')%-----------------------------------------Note mouthox=(e1_x+e2_x+m_x)/3;oy=(e1_y+e2_y-e1_x+e2_x)/2;a=2*(e2_x-e1_x);c=(e1_y+e2_y)/2-m_y;b=(a*a-c*c)^0.5;t=0:.01:2*pi;x=ox+.65*b*cos(t);y=oy+.8*a*sin(t);plot(x,y,'.')elserectangle('Position',[c_min r_min c_max-c_min r_max-r_min],'EdgeColor','r');title('Test Face Rec-ed')%---------------------------------------------test the face regionend。

如何使用Matlab进行人脸检测和人脸识别

如何使用Matlab进行人脸检测和人脸识别

如何使用Matlab进行人脸检测和人脸识别人脸检测和人脸识别是计算机视觉领域中的重要技术应用,可以广泛用于人脸识别系统、人脸支付、安全监控等众多领域。

本文将介绍如何使用Matlab进行人脸检测和人脸识别。

1. 背景介绍人脸检测和人脸识别技术的出现,为计算机系统实现对人脸的自动分析和识别提供了可能。

人脸检测是指从一幅图像或视频序列中确定是否存在人脸,并找出人脸的位置和大小。

而人脸识别则是在检测到的人脸图像上进行特征提取和模式匹配,以实现对人脸的身份识别。

2. 人脸检测在Matlab中,可以使用Viola-Jones算法进行人脸检测。

该算法通过构造Haar特征与Adaboost集成学习算法相结合,能够在较短的时间内实现高效的人脸检测。

具体操作如下:2.1 加载图像首先,在Matlab中加载需要进行人脸检测的图像。

可以使用imread函数进行图像加载,并将其转换为灰度图像进行处理。

例如:```Matlabimage = imread('face.jpg');gray_image = rgb2gray(image);```2.2 构建人脸检测器在Matlab中,可以使用vision.CascadeObjectDetector对象构建人脸检测器。

该对象可以通过Viola-Jones算法进行人脸检测。

具体代码如下:```MatlabfaceDetector = vision.CascadeObjectDetector();bbox = step(faceDetector, gray_image);```2.3 显示检测结果最后,可以使用insertObjectAnnotation函数将检测到的人脸位置在原始图像上标记出来。

代码示例如下:```Matlabdetected_image = insertObjectAnnotation(image, 'rectangle', bbox, 'Face');imshow(detected_image);```3. 人脸识别在Matlab中,可以使用基于人脸特征的Eigenface、Fisherface和LBPH等算法进行人脸识别。

人脸识别课程设计报告

人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:页脚内容1一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度页脚内容2下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计得目得 ..............................................................................二、设计得内容与要求 ..........................................................................三、详细设计 ..........................................................................................四、课程设计得总结 ..............................................................................五、参考文献 ..........................................................................................一.课程设计得目得人脸识别作为一项新兴得科学研究项目,有着广泛得应用前景,而且随着计算机技术得更新发展,它得科学研究价值也越发凸显。

经过几十年得研发探讨,世界各大研究结构得研发人员得不断努力下,人脸识别技术一已取得丰硕得成果,可在一定限制条件下完成人脸得自动识别。

这些成果得取得更促进了人们对人脸识别这一课题得深入研究。

在电子商务飞速发展得今天,人脸识别系统得范畴一不足以涵括人脸识别得应用范围,在数字图像处理、视频领域、基于内容得检索等方面有着重要得应用价值。

二.设计得内容及要求1、选择KNN,聚类或SVM方法中得一种或其她机器学习方法得一种进行课程设计2、要求能完成具体得识别任务:如图像分割、语音识别、人脸识别3、要求识别得对象中有自己生活元素,比如图像中包括学校得图片或语音时本人得语音等。

人脸识别课程设计报告材料

人脸识别课程设计报告材料

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

基于matlab的人脸识别系统实验报告

基于matlab的人脸识别系统实验报告

基于MATLAB的人脸识别系统小组成员:徐艺达、莫子韬邹明宇、罗远挥、周宁基于MATLAB的人脸识别系统第一部分绪论如图一个人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。

现在已有实用的计算机自动指纹识别系统面试,并在安检部门得到了相应的应用。

人脸图像的自动识别较之于指纹识别系统、DNA鉴定等具有更加方便的性能,其取样方便,可不接触目标进行识别,从而具有更大意义的开发效应。

然而,与指纹成像技术不同的是,人脸图像受很多因素的干扰:人脸表情的多样性,以及外在成像过程中的关照、图像尺寸、旋转、姿势变化等方面,使得同一个人在不同的环境下拍摄所得到的人脸图像不同,有时往往会有很大的差别,给识别带来了很大的难度。

因此,人脸识别也更具有挑战性。

除了具有重大的理论价值及极富挑战性外,人脸识别还具有很多潜在的应用前景,利用人脸图像进行身份验证,可以不与目标接触就取得样本图像,而使用其他的身份手段,如指纹、眼睛虹膜等必须通过与目标接触或相当接近来取得样本,因此此类识别手段也具有很多不便之处。

本文通过使用PCA和NMF两种算法及MATLAB软件对所取图像进行预处理与识别,应用该工具箱对图像进行了经典图像处理,进而应用与人脸识别系统。

主要涉及到图像选取、脸部定位、特征提取及图像处理识别几个过程。

第二部分基于NMF算法的人脸识别系统一、摘要作为一种基于人的脸部特征信息进行身份识别的一种生物识别技术,人脸识别逐渐成为了计算机视觉领域的一个热门研究课题。

NMF就是其中一种主流算法,但由于人脸识别所存在光照、角度、遮挡等问题仍未解决,因此NMF算法仍存在局限性,该算法没有引入任何对空间的位置的约束,所以最小化目标函数很难产生揭示数据X的局部特征的因子分解。

本文以NMF算法为基础,结合LNMF算法来求解人脸问题。

二、实验目的运用NMF算法对数据库中的数据进行人脸识别分析三、实验原理 1.非负矩阵分解法NMF 1.1NMF 定义非负矩阵分解定义为:找到非负矩阵W 与H 得到下式 V ≈WH (1-1)在计算中等式两者很难完全相等。

人脸识别课程设计报告

人脸识别课程设计报告

人脸识别课程设计报告用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成 K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

人脸识别课程设计报告

人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

基于matlab的人脸识别系统设计与仿真毕业设计

基于matlab的人脸识别系统设计与仿真毕业设计

(此文档为word格式,下载后您可任意编辑修改!)佳木斯大学毕业论文基于Matlab的人脸识别系统设计与仿真学院信息电子技术专业电子信息工程班级11级1班姓名杨雷指导教师周经国佳木斯大学2015年6月10日摘要人脸识别即指利用分析比对人脸视觉特征信息从而达到身份鉴别效果的计算机技术。

人脸识别是一项当下十分热门的计算机技术的研究领域,该项技术可以人脸明暗侦测,并且自动调整动态曝光补偿,同时对人脸追踪侦测,并自动调整影像放大;这项技术属于生物特征识别技术的一种,是利用生物体(一般指人)本身的生物特征从而达到区分生物体个体的目的。

人脸识别技术目前主要用做身份识别。

由于视频监控的飞速普及,使这项应用迫切的需要一种能实现在用户非配合状态下、远距离的进行快速身份识别的技术,以求能在远距离之下快速识别人员身份,从而实现智能预警的功能。

最佳的选择无疑是人脸识别技术。

采用快速人脸检测识别技术可以从视频监控图象中实时捕获到人脸信息,并与人脸数据库中的已存信息进行实时比对,从而达到快速身份识别的效果。

报告利用MATLAB软件来实现人脸信息检测与识别,利用YCbCr空间以及灰度图像来实现人脸的边缘分割, 将真彩图像转换为灰度图像,并根据肤色在YCbCr色度空间上的分布范围,来设定门限阀值,从而实现人脸区域与非人脸区域的分割,通过图像处理等一系列的操作来剔除干扰因素,再通过长宽比和目标面积等方法在图像中定位出人脸区域,经试验,该方法能够排除面部表情、衣着背景、发型等干扰因素,从而定位出人脸区域。

关键词:Matlab软件;灰度图像;边缘分割;人脸区域AbstractFace recognition especially use comparative analysis face visual feature information for identification of computer technology. Face recognition is a , light and shade can be automatically adjusted dynamically exposure compensation, face tracking detection, automatic adjustment of image magnification; It belongs to the biometric identification technology, it is of organisms (generally refers to a person) individual biological characteristics to distinguish between the organism itself.Face recognition is mainly used for identification. Because of the video monitoring is fast popularization, many of the video monitoring application is an urgent need to a long distance, the user not cooperate condition of rapid identification technology, in order . Face recognition technology is undoubtedly the best choice, the fast face detection technology to monitor in real-time video image search from face, and with real-time than face database, so as to realize rapid identification.Report using MATLAB software to realize face information detection and recognition, using YCbCr space and gray image to realize the face edge segmentation, the true color image is converted to a grayscale image, and according to the color of skin in YCbCr chroma space distribution, to set the threshold threshold, so as to realize the segmentation of face region with the face region, through a series of operations such as image processing to eliminate interference factors, and through such means as aspect ratio and the target area locate the face region in the image, the experiment, this method can eliminate facial expressions, clothes, . Keywords:Matlab;Gray image;edge segmentation;face region目录摘要 (1)ABSTRACT (2)3 第1章绪论 (4)1.1课题的研究背景、目的及意义 (4)1.1.1 课题的研究背景 (4)1.1.2 研究目的及意义 (5)1.2本课题的主要内容 (5)第2章图像处理的MATLAB实现 (6)2.1识别系统构成 (6)2.2人脸图像的读取与显示 (7)2.3图像类型的转换 (7)2.4图像增强 (8)2.5灰度图像平滑与锐化处理..................... 错误!未定义书签。

matlab智能识别课程设计

matlab智能识别课程设计

matlab智能识别课程设计一、课程目标知识目标:1. 让学生理解并掌握Matlab软件的基本操作,包括数据类型、矩阵运算、函数编写等。

2. 培养学生运用Matlab进行图像处理、特征提取、模式识别等技术的理论知识。

3. 引导学生了解智能识别技术在现实生活中的应用,如人脸识别、指纹识别等。

技能目标:1. 培养学生运用Matlab软件解决实际问题的能力,如使用Matlab进行图像预处理、特征提取和分类器设计等。

2. 提高学生团队协作和沟通能力,通过小组讨论、展示等形式,培养学生的表达能力和解决问题的能力。

情感态度价值观目标:1. 激发学生对智能识别技术的兴趣,培养其探索精神和创新意识。

2. 培养学生具备良好的学术道德,尊重他人的知识产权,遵循相关法律法规。

3. 引导学生认识到智能识别技术在服务社会、改善人类生活方面的价值,培养学生的社会责任感。

本课程针对高年级学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。

在教学过程中,注重理论与实践相结合,让学生在实际操作中掌握知识,提高技能,培养情感态度价值观。

通过本课程的学习,使学生能够运用Matlab软件实现智能识别技术的基本应用,为今后从事相关领域的研究和工作打下坚实基础。

二、教学内容1. Matlab基础知识:数据类型、矩阵运算、流程控制、函数编写等,对应教材第一章至第四章。

- 数据类型:数值、字符串、结构体、细胞数组等;- 矩阵运算:线性代数、矩阵分解、稀疏矩阵等;- 流程控制:条件语句、循环语句、异常处理等;- 函数编写:函数定义、输入输出参数、递归等。

2. 图像处理技术:图像读取、显示、转换、滤波、边缘检测等,对应教材第五章。

- 图像读取与显示: imread、imshow等函数;- 图像转换:灰度转换、二值化、色彩空间转换等;- 滤波:低通滤波、高通滤波、中值滤波等;- 边缘检测:Sobel、Prewitt、Canny算子等。

基于Matlab的人脸识别课程设计

基于Matlab的人脸识别课程设计

摘要人脸识别因其在安全验证系统、信用卡验证、医学、档案管理、视频会议、人机交互、系统公安(罪犯识别等)等方面的巨大应用前景而越来越成为当前模式识别和人工智能领域的一个研究热点。

本文提出了基于24位彩色图像对人脸进行识别的方法,介绍的主要内容是图像处理,它在整个软件中占有极其重要的地位,图像处理的好坏直接影响着定位和识别的准确率。

本软件主要用到的图像处理技术是:光线补偿、高斯平滑和二值化。

在识别前,先对图像进行补光处理,再通过肤色获得可能的脸部区域,最后根据人脸固有眼睛的对称性来确定是否就是人脸,同时采用高斯平滑来消除图像的噪声,再进行二值化,二值化主要采用局域取阈值方法,接下来就进行定位、提取特征值和识别等操作。

经过测试,图像预处理模块对图像的处理达到了较好的效果,提高了定位和识别的正确率。

【关键字】:人脸识别;光线补偿;高斯平滑;对比度增强AbstractFace recognition is a complex and difficult problem that is important for surveillance and security, telecommunications, digital libraries , video meeting, and human-computer intelligent interactions.The paper introduced the method of face recognition that based on the 24 bit multicolor image, Main content that the paper introduced is the picture treatment, It occupies the extremely important position in the whole software, the quality of picture process directly influenced the accuracy rate of localization and discerning. The picture process technology that the software mainly used included : light compensating、gauss smooth and twain value method. before discerning, we compensated the light for image, then we could obtain the possible face area through the complexion, finally, the system could depend on the symmetry of eyes to make sure whether it is the face of people, at the same time, the system could eliminate noises through the method that named gauss smoothness, then we used twain value method to deal with picture,the method got the threshold value in face area . After dealing with picture , the following operations are localization、draw characteristic value 、discerning and so on . After testing, we made true that the picture pretreatment modal has get the better effect in the process of dealing with picture, and improve the exactness rate of localization and discerning.【key word】: Face recognition;light compensating;gauss smooth;contrast enhancing目录一、绪论 (1)1. 背景 (1)2. 人脸识别技术研究的意义 (1)3. 发展史 (2)1) 国外的发展 (2)2) 国内的发展 (2)二、系统的需求分析和方案选择 (3)1. 可行性分析 (3)1) 技术可行性 (3)2) 操作可行性 (4)2. 需求分析 (4)3. 预处理法案选择 (5)1) 设计方案的原则选择 (5)2) 图像文件格式选择 (5)3) 开发工具选择 (5)4) 算法选择分析 (5)三、系统概要设计 (6)四、系统详细设计 (9)1. 系统整体设计流程图 (9)2. 图像处理详细设计 (9)3. 编程时的问题解决 (19)五、测试 (20)1. 测试方案的选择原则 (20)2. 测试方案 (21)结束语 (1)参考文献 (2)一、绪论1.背景随着安全入口控制和金融贸易方面应用需要的快速增长,生物统计识别技术得到了新的重视。

人脸识别课程设计报告

人脸识别课程设计报告

人脸识别课程设计报告 The Standardization Office was revised on the afternoon of December 13, 2020用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成 K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量Γ表示。

《基于MATLAB的人脸识别算法的研究》范文

《基于MATLAB的人脸识别算法的研究》范文

《基于MATLAB的人脸识别算法的研究》篇一一、引言人脸识别技术是近年来计算机视觉领域的研究热点之一,其在安全监控、身份认证、人机交互等领域具有广泛的应用前景。

MATLAB作为一种强大的数学计算软件,为研究者提供了便捷的人脸识别算法实现平台。

本文旨在研究基于MATLAB的人脸识别算法,分析其原理、实现过程及性能,为相关领域的研究和应用提供参考。

二、人脸识别算法概述人脸识别算法主要包括预处理、特征提取和匹配识别三个阶段。

预处理阶段主要对原始图像进行灰度化、降噪、归一化等操作,以便提取有效的特征。

特征提取阶段通过提取人脸的特征信息,如形状、纹理、空间关系等,形成特征向量。

匹配识别阶段将提取的特征向量与已知人脸库中的数据进行比对,找出最相似的结果。

三、基于MATLAB的人脸识别算法实现1. 预处理阶段在MATLAB中,可以使用内置的图像处理函数对原始图像进行预处理。

首先,通过rgb2gray函数将彩色图像转换为灰度图像,以减少计算量。

然后,使用imnoise函数添加适当的噪声,模拟实际环境中的干扰因素。

接着,通过imresize函数对图像进行归一化处理,以便进行后续的特征提取。

2. 特征提取阶段特征提取是人脸识别的关键步骤。

在MATLAB中,可以使用多种方法进行特征提取,如主成分分析(PCA)、局部二值模式(LBP)、方向梯度直方图(HOG)等。

本文以PCA为例,介绍其实现过程。

首先,将预处理后的图像转换为矩阵形式,并计算协方差矩阵。

然后,通过特征值分解求得主成分,即特征向量。

最后,将原始图像投影到特征空间,得到特征向量。

3. 匹配识别阶段匹配识别阶段需要将提取的特征向量与已知人脸库中的数据进行比对。

在MATLAB中,可以使用欧氏距离、余弦相似度等指标进行相似度度量。

本文采用欧氏距离作为相似度度量指标,通过计算测试样本与已知样本之间的距离,找出最相似的结果。

四、实验结果与分析本文使用ORL人脸数据库进行实验,对比了不同特征提取方法在人脸识别中的性能。

基于matlab的人脸识别课程设计

基于matlab的人脸识别课程设计

目录摘要 (III)第1章绪论............................................................. - 1 - 1.1人脸识别技术的细节 . (1)1.2人脸识别技术的广泛应用 (1)1.3人脸识别技术的难点 (2)1.4国内外研究状况 (2)1.5人脸识别的研究内容 (3)1.5.1人脸识别研究内容............................................... - 3 -1.5.2人脸识别系统的组成............................................. - 4 - 第2章人脸识别方法..................................................... - 6 - 2.1基于特征脸的方法 (6)2.2基于神经网络的方法 (6)2.3弹性图匹配法 (7)2.4基于模板匹配的方法 (7)2.5基于人脸特征的方法 (7)第3章 PCA人脸识别方法................................................. - 9 - 3.1引言 (9)3.2主成分分析 (9)3.3特征脸方法 (11)第4章仿真实验........................................................ - 13 - 4.1流程图 (13)4.2仿真结果 (14)第5章总结与展望...................................................... - 15 - 5.1总结.. (15)5.2展望 (15)参考文献............................................................... - 17 - 附录................................................................... - 18 -摘要人脸识别是当前模式识别领域的一个前沿课题,人脸识别技术就是利用计算机技术,根据数据库的人脸图像,分析提取出有效的识别信息,用来“辨认”身份的技术。

机器学习概述课程设计报告材料(MATLAB人脸识别)

机器学习概述课程设计报告材料(MATLAB人脸识别)

机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计的目的 ..............................................................................二、设计的容与要求 ..............................................................................三、详细设计 ..........................................................................................四、课程设计的总结 ..............................................................................五、参考文献 ..........................................................................................一.课程设计的目的人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。

经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。

这些成果的取得更促进了人们对人脸识别这一课题的深入研究。

在电子商务飞速发展的今天,人脸识别系统的畴一不足以涵括人脸识别的应用围,在数字图像处理、视频领域、基于容的检索等方面有着重要的应用价值。

二.设计的容及要求1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。

人脸识别课程设计报告

人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

人脸识别课程设计报告

人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

人脸识别课程设计报告

人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像。

要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。

再任取图像库的一张图片,识别它的身份。

对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。

如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。

不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。

因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。

二、PCA 原理和人脸识别方法1)K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。

它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。

PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵。

2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。

实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。

3)人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示。

这样,训练样本库就可以用Γi(i=1,...,M)表示。

协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸。

将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk。

机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告(MATLAB人脸识别)

机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7目录一、课程设计的目的......................................二、设计的容与要求......................................三、详细设计 ...........................................四、课程设计的总结......................................五、参考文献 ...........................................一. 课程设计的目的人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。

经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。

这些成果的取得更促进了人们对人脸识别这一课题的深入研究。

在电子商务飞速发展的今天,人脸识别系统的畴一不足以涵括人脸识别的应用围,在数字图像处理、视频领域、基于容的检索等方面有着重要的应用价值。

二.设计的容及要求1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。

三.详细设计YCbCr空间——>灰度图像转换——>噪声消除——>图像填孔——>图像重构——>人脸区域确定——>边缘检测(原图-涉及个人隐私,未呈现原图)(YCbCr空间转换)(噪声消除)(图像填孔)(图像重构)(人脸区域的确定)(涉及个人隐私)四.课程设计的总结通过三天的学习以及课后学习,我利用SVM算法进行人脸识别,由于光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每图片都具有自身的特色,将人脸区域从背景、衣着、发型等非人类区域中分割出来。

人脸识别课程设计报告

人脸识别课程设计报告

用Matlab实现人脸识别学院:信息工程学院班级:计科软件普131成员:一、问题描述在一个人脸库中,有15 个人,每人有11 幅图像;要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库;再任取图像库的一张图片,识别它的身份;对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量;如一幅NN象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个;不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量;因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现;二、PCA 原理和人脸识别方法1K-L 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩;它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换;PCA 则是选取协方差矩阵前k 个最大的特征值的特征向量构成K-L 变换矩阵;2主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比即累计贡献率,它标志着前几个主成分概括信息之多寡;实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留;3人脸空间建立假设一幅人脸图像包含N 个像素点,它可以用一个N 维向量Γ表示;这样,训练样本库就可以用Γii=1,...,M表示;协方差矩阵C 的正交特征向量就是组成人脸空间的基向量,即特征脸; 将特征值由大到小排列:λ1≥λ2≥...≥λr,其对应的特征向量为μk;这样每一幅人脸图像都可以投影到由u1,u2,...,ur张成的子空间中;因此,每一幅人脸图像对应于子空间中的一点;同样,子空间的任意一点也对应于一幅图像;4人脸识别有了这样一个由"特征脸"张成的降维子空间,任何一幅人脸图像都可以向其投影得到一组坐标系数,这组系数表明了该图像在子空间中的位置,从而可以作为人脸识别的依据;计算数据库中每张图片在子空间中的坐标,得到一组坐标,作为下一步识别匹配的搜索空间; 计算新输入图片在子空间中的坐标,采用最小距离法,遍历搜索空间,得到与其距离最小的坐标向量,该向量对应的人脸图像即为识别匹配的结果;三、实验步骤1 每人选取4 幅共60 幅作为训练样本,将每一幅图像128128写成列向量形式排列成矩阵2 求协方差矩阵3 求协方差矩阵特征值—求特征向量特征脸—将特征向量排列成变换矩阵4 计算每幅图像的投影5 计算待识别人脸的投影6 遍历搜索进行匹配四、实验结果与分析matlab 界面效果如下所示图1 用户使用界面图2 选择图片图3 图片选择后图4 识别后由于利用了标准库,并且识别的人数不是很多,也没有选择有大块左阴影和右阴影的人作为训练集以及测试,所以最终的结果还是非常不错的,识别率可达100%; 但是选择有较大阴影的人做测试,则会出现识别错误,所以PCA 算法还是存在一定的局限性;图5 识别错误主要代码展示function pushbutton1_CallbackhObject, eventdata, handles% hObject handle to pushbutton1 see GCBO% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data see GUIDATA% read image to be recognize%读取图片global im;filename, pathname = uigetfile{'.bmp'},'choose photo';str = pathname, filename;im = imreadstr;axes ;imshowim;% --- Executes on button press in pushbutton2.function pushbutton2_CallbackhObject, eventdata, handles% hObject handle to pushbutton2 see GCBO% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data see GUIDATAglobal imglobal referenceglobal W %均值向量按列排成的变换矩阵global imgmean %均值向量global col_of_data global pathnameglobal img_path_list% 预处理新数据im = doubleim:;objectone = W'im - imgmean; %计算每幅图像的投影distance = 0;% 最小距离法,寻找和待识别图片最为接近的训练图片for k = 1:col_of_datatemp = normobjectone - reference:,k;ifdistance>tempaimone = k;distance = temp;aimpath = strcatpathname, '/', img_path_; axesimshowaimpathendend% 显示测试结果% aimpath = strcatpathname, '/', img_path_; % axes% imshowaimpath% --- Executes on button press in pushbutton3.function pushbutton3_CallbackhObject, eventdata, handles % hObject handle to pushbutton3 see GCBO% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data see GUIDATAglobal referenceglobal Wglobal imgmeanglobal col_of_dataglobal pathnameglobal img_path_list% 批量读取指定文件夹下的图片128128pathname = uigetdir;img_path_list = dirstrcatpathname,'\.bmp';img_num = lengthimg_path_list;imagedata = ; if img_num >0for j = 1:img_numimg_name = img_path_;temp = imreadstrcatpathname, '/', img_name; temp = doubletemp:;imagedata = imagedata, temp;endendcol_of_data = sizeimagedata,2;% 中心化& 计算协方差矩阵imgmean = meanimagedata,2;for i = 1:col_of_dataimagedata:,i = imagedata:,i - imgmean;endcovMat = imagedata'imagedata;COEFF, latent, explained = pcacovcovMat;% 选择构成95%能量的特征值i = 1;proportion = 0;whileproportion < 95proportion = proportion + explainedi;i = i+1;endp = i - 1;% 特征脸W = imagedataCOEFF; % NM 阶W = W:,1:p; % Np 阶% 训练样本在新座标基下的表达矩阵pM reference = W'imagedata;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机器学习概述课程设计报告题目:MATLAB人脸识别系统
姓名:**
学号:**
专业:**
时间:2015/8/7
目录
一、课程设计的目的 ..............................................................................
二、设计的内容与要求 ..........................................................................
三、详细设计 ..........................................................................................
四、课程设计的总结 ..............................................................................
五、参考文献 ..........................................................................................
一.课程设计的目的
人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。

经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。

这些成果的取得更促进了人们对人脸识别这一课题的深入研究。

在电子商务飞速发展的今天,人脸识别系统的范畴一不足以涵括人脸识别的应用范围,在数字图像处理、视频领域、基于内容的检索等方面有着重要的应用价值。

二.设计的内容及要求
1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计
2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别
3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。

三.详细设计
YCbCr空间——>灰度图像转换——>噪声消除——>图像填孔——>图像重构——>人脸区域确定——>边缘检测
(原图-涉及个人隐私,未呈现原图)
(YCbCr空间转换)(噪声消除)
(图像填孔)(图像重构)
(人脸区域的确定)
(涉及个人隐私)
四.课程设计的总结
通过三天的学习以及课后学习,我利用SVM算法进行人脸识别,由于光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每张图片都具有自身的特色,将人脸区域从背景、衣着、发型等非人类区域中分割出来。

一般使用的RGB图片不适合于建立人脸皮肤模型,因为在RGB空间中,使用三基色(r,g,b)表示图片的亮度以及颜色。

在不同的环境下光照条件的改变,很难将肤色点从非肤色点中分离出来,如果在RGB图像上进行处理,将产生离散的肤色点,图片中间嵌有很多的非肤色点,提高了人脸检测的难度,容易产生不可靠的肤色分割。

解决方法是隔离颜色表达式中的亮度信息与色度信息,充分利用色度空间中肤色所表示出来的聚类性。

为此需要创造这样一个色彩空间,这个空间能把R、G、B所代表的色度信息与亮度信息分开表示。

色彩空间常用的的转换颜色模型主要有:YIQ、YCbCr、HSV 等。

这里,采用YCrCb色彩空间作为报告的设计空间。

经过颜色转换后大大缩减了人脸的搜索范围,为SVM算法提供更有效的方法。

本次课程设计,我学会了很多有用的算法,并能够初步实现,了解机器语言的过程以及了解MA TLAB强大的功能。

五.参考文献
[1] 姚敏.数字图像处理[M].机械工业出版社,2006:2.
[2] 王爱民,沈兰荪.图像分割研究综述[J].测控技术,2000,19(5):1-5.
[3] 张德丰.详解MA TLAB数字图像处理[M].北京:电子工业出版社,2010,7:249.
[4] 杨杰.数字图像处理及MA TLAB实现[M].北京:电子工业出版社,2010,2:149-150.
[5] 张洪刚,陈光,郭军编著.图像处理与识别[M].北京:北京邮电大学出版社,2006:102-103.
[6] 韩晓军.数字图像处理技术与应用[M].北京:电子工业出版社,2009,7:38.
[7] 张化光,刘鑫蕊,孙秋野编著.MA TLAB/SIMULINK实用教程[M].北京:人民邮电出版社,2009,3:235.
[8] 何东健.数字图像处理[M].西安:西安电子科技大学出版社,2008,5:86.
[9] 刘刚.MA TLAB数字图像处理[M].北京:机械工业出版社,2010,5:199-200.
附录:程序
sum=0;
iptsetpref('ImshowBorder', 'tight')%%%设置图像处理工具箱的参数
f=imread('333.jpg');
Ori_Face=f;
copy=f;
img=f;
f=rgb2ycbcr(f);%rgb空间转换为ycbcr空间
f_cb=f(:,:,2);
f_cr=f(:,:,3);
f= (f_cb>=100) & (f_cb<=127) & (f_cr>=138) &(f_cr<=170) ;%皮肤颜色在ycbcr色度空间的分布范围为:100<=cb<=127,138<=cr<=170
figure(1);
imshow(f);
se=strel('square',3);%%构建一个3*3单位矩阵作为结构元素
f=imopen(f,se);%%图片开运算
f=imclose(f,se);%%图片闭运算
figure(2),imshow(f);%%消除噪声
f=imfill(f,'holes');%%%填孔处理
figure(3),imshow(f);
se1=strel('square',8);
f=imerode(f,se1);
f=imdilate(f,se1);
figure(4),imshow(f);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%区域
连通
[L,num]=bwlabeln(f,4);设定操作的邻域类型为4-领域
for i=1:num;
[r,c]=find(L==i);
r_temp=max(r)-min(r);
c_temp=max(c)-min(c);
temp=size(r);
sum=sum+temp(1);
area_sq=r_temp*c_temp;
area=size(find(L==i),1);
ratio=area/area_sq;
if (r_temp/c_temp<1.54)|(r_temp/c_temp>2.4)|temp(1)<14000|ratio<0.55
%利用脸部宽长比的大概上下限(1.54-2.4)来确定一个人脸范围.
%脸部区域<14000的去掉,一般为手或其他干扰.
%矩形面积area_sq=目标区长度*宽度,目标区面积为area,若area/area_sq<0.55,认为不是人脸区,删除之.
for j=1:temp(1);
L(r(j),c(j))=0;
end
else
continue;
end
end
L=bwperim(L,8);%边缘检测,检测出人脸的边缘区域
L=uint8(L);
z=find(L(:)>0);L(z)=255;
figure(5),imshow(L);
L_r=L;L_g=L;L_b=L;
L_rgb=cat(3,L_r,L_g,L_b);%在原图上加框
img1_r=min(L_r+img(:,:,1),255);
img1_g=min(L_g+img(:,:,2),255);
img1_b=min(L_b+img(:,:,3),255);
img1=cat(3,img1_r,img1_g,img1_b);
figure(6),imshow(img1);。

相关文档
最新文档