- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人脸识别代码-算法实验说明书
算法实验说明书
目 录
1 2
1.1 编写目的 2
1.2 实验目的 2
1.3 实验环境 2
1.4 实验数据集 2
2 实验流程 4
2.1 实验流程框图 4
2.2 MATLAB实验文件说明 4
2.2.1 装载数据文件 4
2.2.2 划分训练集和测试集 5
2.2.3 构建BP神经网络 6
2.2.4 训练神经网络 7
2.2.5 统计识别率 9
2.2.6 更换神经网络的参数 10
1. 概述
1.1 编写目的
1. 本实验流程说明书描述了怎样利用一个基于神经网络的自动人脸识别模型来进行人脸图片识别的流程,以及试验环境和参数输入规范。
2. 预期读者包括测试人员以及将来进行更进一步研究的研究人员
1.2 实验目的
研究利用神经网络进行人脸识别的性能,通过与其它分类算法比较,为将来更进一步的人脸识别算法研究或者软件设计提供设计依据。
1.3 实验环境
硬件环境:
1.CPU:P4 3.0
2.RAM:512M
软件环境:
操作系统:windows
开发工具:Matlab
1.4 实验数据集
在论文的实验中我们使用了ORL数据库(Olivetti Research Laboratory in Combridge, UK 可从HTUhttp://www.camorl.co.uk/facedatabase.htmlUTH获得),部分图像如5.1所示。它包含了400张不同的人脸图像,40个不同的实验者每人10张。对其中一些实验者,图像是在不同的时间、变化的光线、面部表情(张开/合拢眼睛、微笑/不微笑)和面部细节(戴眼镜/不戴眼镜)下拍摄的。所有的图像为实验者的正脸,带有一定程度的朝上下左右的偏转或倾斜,有相似的黑暗同质背景。每幅图象的大小为11292像素8bit的灰度图。为了进行比较,它们被分成没有重叠的、相同大小的训练集和测试集。每个类别随机的选取5幅图象作为训练集,剩余5幅归为测试集。当然也可以选取任意张图片进行训练和测试。多次重复试验,记录实验结果。
图1-1 ORL 人脸库中的部分图片
由图1-1中可以看出,该人脸库中的图片在人种,性别,面部表情等方面都有着很大的可变性,而且该人脸库没有太多多余的边界,基本上一张图片就是一副人脸,处理起来比较方便。
2 实验流程
2.1 实验流程框图
系统处理框图如2-1所示:
图2-1 人脸识别系统体系结构
2.2 实验文件说明
2.2.1 装载数据文件
文件名:.m
功能:读入人脸图片,将其转换成灰度矩阵,然后将灰度矩阵进行分割,对每个分割后的小矩阵进行降维,减少数据的复杂度,并提取特征值。
运行方式:把matlab的工作目录定位到该文件所在的目录,在命令窗口输入“feature = allFeature (1);”,回车。在命令窗口输入“feature = allFeature ();”,回车。运行情况如图2-2所示:
图2-2 文件运行界面
运行程序时,我们需要输入想要得到的特征维数,运行该程序后,我们可以在Matlab的变量空间中看到一个名为feature的变量名,如图2-3所示,该变量名就是装载进来的需要进行处理400张图片的特征矩阵。除了32以外,还可以选择将图片分割成16,48,64,80这几种特征维数,并可以多加训练,以察看特征维数的变化对识别率的影响。但是只能输入位以上五个数字,如果输入有误,则会提示“你输入的不是这5个数中的任何一个,请重新输入!”,要求用户重新输入符合规范的数据。
图2-3 feature变量
2.2.2 划分训练集和测试集
文件名:train_test.m
功能:对上一步处理中得到的特征矩阵进行划分,将其划分为训练集train_data,和测试集test_data,用以进行训练和测试,建立测试目标集t,并对训练集和测试集进行归一化处理。
运行方式:在matlab命令窗口,输入“[pn,pnewn,t,num_train,num_test] = train_test(feature num_train); ”( num_train必须是1-10中的任一个数字)回车。
运行情况如图2-4所示:
图2-4 Train_test文件运行界面
运行程序时,我们需要输入想要将每个人的多少张图片划分为训练集,运行该程序后,我们可以在Matlab的变量空间中看到一个名为pn的变量名,如图2-5所示,该变量是经过归一化处理后的训练集,pnewn是归一化后的测试集,num_train和num_test是每个人用于训练和测试的图片数,由于本试验中的数据源不大,所以除了训练集以外的图片全部自动划分为测试集。而每个人只有10张图片,所以用户输入的每人选出用作训练集的图片数目必须小于
文档评论(0)