人脸图像分类算法.康乐乐.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人脸图像分类算法.康乐乐

深圳大学考试答题纸 (以论文、报告等形式考核专用) 二○ 一四 ~二○ 一五 学年度第 1 学期 课程编号 2202500001 课程名称 科学计算语言 主讲教师 刘维湘 评分 学 号 2012220001 姓名 康乐乐 专业年级 生物医学工程2012 一班 教师评语: 题目: 人脸图片的分类算法 论文要求及评分标准: 自拟题目,并根据给定的数据集,对项目相关的背景,任务和意义 进行阐述(25’); 对项目中的核心算法的原理进行说明(20’); 提供完整代码,并提供代码必要的详细注释(20); 对实验结果进行分析和讨论(20’); 列出必需的主要参考文献(15’)。 进行人脸图片分类的背景及意义: 二十一世纪是一个信息时代。在这个信息量极度膨胀的世界,我们有需要建立起一种基于计算机的信息自动归类系统。对于图片信息来说,其所表现的内容就更多了。一张图片所包含的信息量往往要多于相同存储空间的文字内容。因此图片的分析也就成了当代的热门话题。在分析图像信息之前,我们有必要先对图像信息进行分类。这就像是将浩如烟海的书籍整理排列,建成图书馆的过程。人脸图像的分类服务于人脸识别。人脸识别是新兴的一种技术。它根据人脸的不同特征,进行身份信息的验证。这项技术前景较为广阔。在信息化的社会中,我们将通过储存于计算机中的人脸图像来快速验证个人信息。如果这项技术发展成熟,那么无疑,将给安保等行业带来一场改革。人脸识别的前提就在于人脸图像的分类,这正是一项浩大工程的基础,研究人脸分类的算法自然也受到了特别的重视。 实验过程: 2.1 对实验数据的分析: 实验选择的数据来自于NYU_UMist人脸数据集。我们首先要对这组数据进行一定的理解。根据数据本身的注释行:Grayscale faces 8 bit [0-255], a few images of several different people.400 total images, 64x64 size.我们可以知道,这组数据描述了400张黑白人脸图像,每张图像的像素点为64*64=4096个; 我们将数据载入,得到如下结果: 图1. 载入数据包后 从图中可以看出,有一个名为“faces”的矩阵,它的大小为4096*400,我们可以想象,400代表着400幅人脸图像,而4096则是每幅图像的特征。因为每幅图像的像素点的确为4096个,这也刚好佐证了我们的猜想。由此可见,矩阵“faces”所表现的正是这400张人脸图像,并且通过4096个特征来刻画每一幅图像,这4096个特征对应于图像的4096个像素点。 图2. 给出的400张人脸图像 从图片可以看出,400张图像描述的是40个不同的人,其中每人都有10张不同角度的人脸图像。 2.2 分类算法: Knnclassify的作用是,给出已知类别的一组样本,然后对于新输入的样本,用最临近样本的标签推测新样本的标签。 clear all load olivettifaces faces=faces; %将矩阵进行转置,使行表示样本,列表示特征 a=[0;0;0;0;0;0;0;0;0;0]; %添加标签 group=[]; for i=1:40 group=[group;a+i]; End K = 40; % Cross-validataion folds rule = nearest; kn = 5; % the number of nearest neighbors distance = euclidean; cp = classperf(group); indices = crossvalind(Kfold,group,K); for i = 1:K %交叉验证 test = (indices == i); train = ~test; class = knnclassify(faces(test,:),faces(train,:),group(train,:), kn, distance,rule); classperf(cp,class,test); end Acc = 1 - cp.ErrorRate %正确率 图3. 给样本添加标签 因为只有40个人,我们给样本添加的标签也就只用了40种,分别用数字“1、2、3...40”表示。前十个样本是第一个人,有共同标签“1”,以此类推。 在运行过后,我们得到该算法的准确度: 图4. 当kn=15时的准确率 图5. 当kn=10时的准确率 图6. 当kn=5时的准确率 下面我们从“workspace”中查看分类情况: 图7. 测试集的选取 测试集选取的是第“28、48、180、1

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档