资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
用 Matlab 实现人脸识别学院:信息工程学院班级:计科软件普 131成员:一、问题描述在一个人脸库中,有 15 个人,每人有 11 幅图像。要求选定每 一个人的若干幅图像组成样本库,由样本库得到特征库 .再任取图像 库的一张图片,识别它的身份。对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开, 看成一个矢量。如一幅N * N象素的图像可以视为长度为N2的矢量, 这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表 示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的 许多个空间中的一个。不管子空间的具体形式如何 ,这种方法用于图 像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将 被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来 确定图像间的相似度,最常见的就是各种距离度量。因此 ,本次采用 PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab 实现.二、PCA原理和人脸识别方法1)KL 变换K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成 的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现 数据压缩。它具有去相关性、能量集中等特性,属于均方误差测度下, 失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。 PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成 K-L 变换矩阵。2)主成分的数目的选取保留多少个主成分取决于保留部分的累积方差在方差总和中所 占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。 实践中,粗略规定一个百分比便可决定保留几个主成分 ;如果多留一 个主成分,累积方差增加无几,便不再多留。3)人脸空间建立假设一幅人脸图像包含N个像素点,它可以用一个N维向量r 表示。这样,训练样本库就可以用r i (i=1,。.,M)表示。协方差 矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸. 将 特征值由大到小排列:入1上入22。上入r,其对应的特征向量为卩 k。这样每一幅人脸图像都可以投影到由u1, u2,。,ur张成的子空间中。因此,每一幅人脸图像对应于子空间中的一点.同样,子空间的 任意一点也对应于一幅图像.4) 人脸识别有了这样一个由”特征脸”张成的降维子空间,任何一幅人脸图 像都可以向其投影得到一组坐标系数,这组系数表明了该图像在子空 间中的位置,从而可以作为人脸识别的依据.计算数据库中每张图片在 子空间中的坐标,得到一组坐标,作为下一步识别匹配的搜索空间。 计算新输入图片在子空间中的坐标,采用最小距离法,遍历搜索空间, 得到与其距离最小的坐标向量,该向量对应的人脸图像即为识别匹配 的结果.三、实验步骤1) 每人选取 4 幅共 60 幅作为训练样本,将每一幅图像(128*128) 写成列向量形式排列成矩阵2) 求协方差矩阵3) 求协方差矩阵特征值 求特征向量 (特征脸)将特征向量排列成变换矩阵4) 计算每幅图像的投影5) 计算待识别人脸的投影6) 遍历搜索进行匹配四、实验结果与分析matlab 界面效果如下所示图 1 用户使用界面图 2 选择图片叵0.8000.2080.20.60.6人脸识别AccuracyChoose phatorecognize训练机器图 3 图片选择后I I回人脸识别AccuracyChoose photoreco-gn ize训练机器图 4 识别后由于利用了标准库,并且识别的人数不是很多,也没有选择有大 块左阴影和右阴影的人作为训练集以及测试,所以最终的结果还是非 常不错的,识别率可达 100。 但是选择有较大阴影的人做测试, 则会出现识别错误,所以 PCA 算法还是存在一定的局限性.回8G0.40.200.20.40.60.6Q ;ace人脸识别AccuracyCh oose photo训练机器图 5 识别错误主要代码展示function pushbutton1_Callback(hObject, 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 = imread(str);axes( handles。 axes1);imshow(im);% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, 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 GUIDATA) global imglobal referenceglobal W均值向量按列排成的变换矩阵global imgmean%均值向量global col_of_data global pathnameglobal img_path_list% 预处理新数据im = double(im(:);objectone = W(im imgmean); %计算每幅图像的投影 distance = 100000000; 最小距离法,寻找和待识别图片最为接近的训练图片 for k = 1:col_of_datatemp = norm(objectone - reference(:,k);if(distancetemp)aimone = k;distance = temp;aimpath = strcat(pathname, /, img_path_list(aimone).name);axes ( handles。 axes2 )imshow(aimpath)endend 显示测试结果% aimpath = strcat(pathname, /, img_path_list(aimone)。 name); axes( handles.axes2 ) imshow(aimpath)% - Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, 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 GUIDATA) global referenceglobal Wglobal imgmeanglobal col_of_dataglobal pathnameglobal img_path_list 批量读取指定文件夹下的图片 128 128pathname = uigetdir;img_path_list = dir(strcat(pathname,*。bmp);img_num = length(img_path_list);imagedata = ; if img_num 0for j = 1:img_numimg_name = img_path_list (j)。name;temp = imread(strcat(pathname, /, img_name);temp = double(temp(:);imagedata = imagedata, temp;endendcol_of_data = size(imagedata,2);% 中心化 计算协方差矩阵imgmean = mean(imagedata,2);for i = 1:col_of_dataimagedata(:,i) = imagedata(:,i) - imgmean;endcovMat = imagedataimagedata;COEFF, latent, explained = pcacov(covMat); 选择构成 95%能量的特征值i = 1;proportion = 0;while(proportion 95)proportion = proportion + explained(i);i = i+1;endp = i 1 ; 特征脸W = imagedata COEFF; % NM 阶W = W(:,1:p); % N p 阶% 训练样本在新座标基下的表达矩阵 p M reference = W*imagedata;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号