数字图像处理课程设计-人脸检测与识别_第1页
数字图像处理课程设计-人脸检测与识别_第2页
数字图像处理课程设计-人脸检测与识别_第3页
数字图像处理课程设计-人脸检测与识别_第4页
数字图像处理课程设计-人脸检测与识别_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字图像处理

人脸检测与识别课程设计

一、简介

人脸检测与识别是当前模式识别领域的一个前沿课题,人脸识别技术就是

利用计算机技术,根据数据库的人脸图像,分析提取出有效的识别信息,用来

"识别”身份的技术。人脸识别是模式识别研究的一个热点,它在身份鉴别、

信用卡识别,护照的核对及监控系统等方面有着广泛的应用。人脸图像由于

受光照、表情以及姿态等因素的影响,使得同一个人的脸像矩阵差异也比拟

大。因此,进行人脸识别时,所选取的特征必须对上述因素具备一定的稳定

性和不变性.主元分析(PCA)方法是一种有效的特征提取方法,将人脸图像表

示成一个列向量,经过PCA变换后,不仅可以有效地降低其维数,同时

又能保存所需要的识别信息,这些信息对光照、表情以及姿态具有一定的不

敏感性.在获得有效的特征向量后,关键问题是设计具有良好分类能力和

鲁棒性的分类器.支持向量机(SVM)模式识别方法,兼顾训练误差和泛化

能力,在解决小样本、非线性及高维模式识别问题中表现出许多特有的优

势。

本此课程设计基于MATLAB,将检测与识别分开进行。其中检测局部使用

实验指导书上的肤色模型算法进行,不进行赘述。识别局部采用PCA算法对检

测出的人脸图像进行特征提取,再利用最邻近距离分类法对特征向量进行分

类识别,将在后文具体表述。仿真结果验证了本算法是有效的。

二、人脸检测

1.源码

img=imread(*D:\stdtestimages\face3.jpg');

figure;

imshow(img);

R=img(:,:,1);

G=img(:,:,2);

B=img(:,:,3);

faceRgnl=(R>95)&(G>40)&(3>20)&max(img,[]z3)-min(img,[],3)>15&abs(R-G)>L5&R>B;

figure;

imshow(faceRgnl);

r=double(R)./double(sum(img,3));

g=double(G)./double(sum(img,3));

Y=0.3*R+0.59*G+0.11*B;

faceRgn2=(r>0.333)&(r<0.564)&(g>0.246)&(g<0.398)&(r>g)&g>=0.5-0.5*r;

figure;

imshow(faceRgn2);

Q=faceRgnl.*faceRgn2;

P=bwlabel(Q,8);

B3=regionprops(P,'Boundingbox');

BBl=struct2cell(BB);

B32=cell2nidL(BB1);

figure;

imshow(img);

[sis2]=size(BB2);

mx=0;

fork=3:4:s2-l

p=BB2(lzk)*BB2(l,k+D;

ifp>mx&(BB2(l,k)/BB2(l,k+l))<1.8

mx=p;

j=k;

holdon;

rectangle('position'z[BB2(1,j-2),BB2(1,j-1)j),BB2(1,j+1)],'linewidth3

,'edgecolor',1r');

holdoff;

end

end

2.处理过程

三、人脸识别

1.算法简述

在Matlab2012a版本中添加了对PCA算法的支持,由于水平有限我选择

直接调用。在本次课程设计中,PCA算法又分为样本训练和人脸识别两个过程,

在样本训练阶段,将样本库(每组15张共15组人脸图像,对每组前11张进

行特征提取用于训练,后4张用于检测)中的人脸图像转换为特征向量表示,

并投影到PCA子空间,最终将这些向量数据保存到训练数据库中。而在识别阶

段,同样将待识别的人脸图像使用PCA子空间的向量表示,通过计算待识别图

像的向量与样本中的向量之间的距离,寻找其中最相近的人脸图像,作为识别

结果。

2.源码

clear

clc

%样本数量15*11

people_count=15;

face_count_per_people=l1;

%训练比率,设置为75超识别正确率可达100带

training_ratio=.75;

%能量

energy=90;

training_count=floor(face_count_per_people*training_ratio);

training_samples=[];

path_mask='D:Wpcaface_rec\\%03d\\%02d.jpg';

%训练

fori=l:people_count

forj=l:training_count

img=im2double(imread(sprintf(path_mask,izj)));

img=imresize(img,[1010]);%归一化至50*50

ifndims(img)==3

img=rgb2gray(img);

end

training_samples=[training_samples;img(:),];

end

end

m_i=mean(training_samples);

[coeff,scores,explained]=pca(training_samples);

idx=find(cumsum(explained)>energy,1);

coeff=coeff(:,1:idx);

scores=scores(:,1:idx);

%测试

acc_count=0;

fori=l:people_count

forj=training_count+l:face_count_per_people

img=im2double(imread(sprintf(path_mask,i,j)));

img=imresize(img,[1010]);

ifndims(img)==3

img=rgb2gray(img);

end

score=(img(:)*-mu)/coeff,;

idx]=min(sum((scores-repmat(score,size(scores,1),1)).A2,2));

ifceil(idx/training_count)==i

dCC_COUflL=ci(JC_UOUIlLi-l;

end

end

end

test_count=(people_count*(face_count_per_people-training_count));

acc_ratio=acc_count/test_count;

fprintf「测试样本数量:电d,1E确识别率:乞2.2二%1test_count,acc_ratio*100)

3.仿真结果及说明

样本库举例:

结果为:测试样本数最:45,正确识别率:100.00%

四、总结

人脸识别是一个多学科领域的挑战性难题,近30年

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论