下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用Matlab实现人脸识别学院:信息工程学院 班级:计科软件普131 成员:一、问题描述 在一个人脸库中,有 15 个人,每人有 11 幅图像。要求选定每一个人的若干幅图像组成样本库,由样本库得到特征库。再任取图像库的一张图片,识别它的身份。 对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量。如一幅N*N象素的图像可以视为长度为N2的矢量,这样就认为这幅图像是位于N2维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,
2、图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。因此,本次采用PCA算法确定一个子空间,最后使用最小距离法进行识别,并用matlab实现。 二、PCA 原理和人脸识别方法1)K-L 变换 K-L 变换以原始数据的协方差矩阵的归一化正交特征矢量构成的正交矩阵作为变换矩阵,对原始数据进行正交变换,在变换域上实现数据压缩。它具有去相关性、能量集中等特性,属于均方误差测度下,失真最小的一种变换,是最能去除原始数据之间相关性的一种变换。PCA 则是选取协方差矩阵前 k 个最大的特征值的特征向量构成 K-L 变换矩阵。 2)主成分的数目的选取
3、 保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。 3)人脸空间建立 假设一幅人脸图像包含 N 个像素点,它可以用一个 N 维向量 表示。这样,训练样本库就可以用 i(i=1,.,M)表示。协方差矩阵 C 的正交特征向量就是组成人脸空间的基向量,即特征脸。 将特征值由大到小排列:12.r,其对应的特征向量为 k。这样每一幅人脸图像都可以投影到由 u1,u2,.,ur张成的子空间中。因此,每一幅人脸图像对应于子空间中的一点。同样,
4、子空间的任意一点也对应于一幅图像。 4)人脸识别 有了这样一个由特征脸张成的降维子空间,任何一幅人脸图像都可以向其投影得到一组坐标系数,这组系数表明了该图像在子空间中的位置,从而可以作为人脸识别的依据。计算数据库中每张图片在子空间中的坐标,得到一组坐标,作为下一步识别匹配的搜索空间。 计算新输入图片在子空间中的坐标,采用最小距离法,遍历搜索空间,得到与其距离最小的坐标向量,该向量对应的人脸图像即为识别匹配的结果。 三、实验步骤1) 每人选取 4 幅共 60 幅作为训练样本,将每一幅图像(128*128)写成列向量形式排列成矩阵2) 求协方差矩阵3) 求协方差矩阵特征值求特征向量(特征脸)将特征
5、向量排列成变换矩阵4) 计算每幅图像的投影5) 计算待识别人脸的投影6) 遍历搜索进行匹配四、实验结果与分析matlab 界面效果如下所示 图 1 用户使用界面图 2 选择图片图 3 图片选择后图 4 识别后由于利用了标准库,并且识别的人数不是很多,也没有选择有大块左阴影和右阴影的人作为训练集以及测试,所以最终的结果还是非常不错的,识别率可达100%。 但是选择有较大阴影的人做测试,则会出现识别错误,所以 PCA 算法还是存在一定的局限性。 图 5 识别错误主要代码展示function pushbutton1_Callback(hObject, eventdata, handles) % hO
6、bject 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 = imrea
7、d(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 da
8、ta (see GUIDATA) global im global reference global W %均值向量按列排成的变换矩阵global imgmean %均值向量global col_of_data global pathname global img_path_list % 预处理新数据 im = double(im(:); objectone = W*(im - imgmean); %计算每幅图像的投影distance = 100000000; % 最小距离法,寻找和待识别图片最为接近的训练图片 for k = 1:col_of_data temp = norm(objecto
9、ne - reference(:,k); if(distancetemp) aimone = k; distance = temp; aimpath = strcat(pathname, /, img_path_list(aimone).name); axes( handles.axes2 ) imshow(aimpath) end end % 显示测试结果 % aimpath = strcat(pathname, /, img_path_list(aimone).name); % axes( handles.axes2 ) % imshow(aimpath) % - Executes on
10、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 reference global W global imgmean
11、global col_of_data global pathname global img_path_list % 批量读取指定文件夹下的图片 128*128 pathname = uigetdir; img_path_list = dir(strcat(pathname,*.bmp); img_num = length(img_path_list); imagedata = ; if img_num 0 for j = 1:img_num img_name = img_path_list(j).name; temp = imread(strcat(pathname, /, img_name)
12、; temp = double(temp(:); imagedata = imagedata, temp; end end col_of_data = size(imagedata,2); % 中心化 & 计算协方差矩阵 imgmean = mean(imagedata,2); for i = 1:col_of_data imagedata(:,i) = imagedata(:,i) - imgmean; end covMat = imagedata*imagedata; COEFF, latent, explained = pcacov(covMat); % 选择构成 95%能量的特征值 i = 1; proportion = 0; whil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国安能集团第三工程局有限公司管理技术岗社会招聘40人笔试模拟试题及答案详解
- 11-14932025城镇道路雨水口技术规范
- 2026辽宁沈阳新具创新科技有限公司招聘5人笔试参考题库及答案详解
- 2026广东韶关市乳源瑶族自治县事业单位工作人员招聘18人笔试参考题库及答案详解
- 2026年国家开发银行(广东省分行)校园招聘考试参考题库及答案详解
- 2026浙江宁波市知识产权协会招聘劳务派遣人员4人笔试模拟试题及答案详解
- 2026福建泉州晋江市灵水中学秋季教师招聘意向摸底(三)笔试备考试题及答案详解
- 2026四川宜宾华福双三水泥建材有限责任公司供应管理公司采购员招聘笔试备考题库及答案详解
- 2026贵州开放大学(贵州职业技术学院)科研助理选聘20人笔试模拟试题及答案详解
- 2026山西运城河津市中医医院招聘正式在编人员2人笔试备考题库及答案详解
- 2026年甘肃省平凉市灵台县招聘司法协理员和公证员笔试备考试题及答案解析
- 2026广西百色市那坡县劳动人事争议仲裁院招聘编外工作人员5人笔试备考题库及答案解析
- 2025年电网文秘类招聘考试笔试试题及答案
- 2024年上海市中考地理试题(含答案)
- Unit6CrossingCultures(第5课时)SectionB3a-3c课件人教版英语八年级下册
- 车辆基地运营管理制度
- 艾灸箱培训课件
- 科研管理培训
- 城市供水管道维护与抢修操作手册(标准版)
- 2025年大学机械设计基础(设计基础理论)试题及答案
- 2025年广州市初中信息技术学业水平测试真题及答案
评论
0/150
提交评论