已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验指导书(模式识别) 模式识别实验指导书河北工业大学信息工程学院模式识别课程组xx年1月前言模式识别是电子信息工程专业的一门重要的专业选修课。 其目的是通过对模式识别基本理论、概念和方法的学习,使学生能够灵活运用所学知识,借助计算机解决实际工程应用中的自动识别问题。 而模式识别实验是本门课程重要的教学环节,其目的是使学生掌握统计模式识别中常见分类方法的算法设计及其验证方法,通过接受实验的训练,以提高学生的分析和解决问题的能力。 为此,河北工业大学信息工程学院编写了模式识别实验指导书。 在编写中由于可供参考的实验指导资料有限,因此本书肯定存在不少不妥之处,恳请读者予以批评指正。 本实验指导书共包含三个实验。 第一个实验为安装并使用模式识别工具箱,通过本次实验可以让学生了解模式识别软件的具体形态、基本设置以及运行流程,了解一些基本识别方法的工作过程。 第二个实验为用人工神经网络对二维样本进行分类,通过本次实验可以让学生掌握人工神经网络的运行机理,了解神经网络在解决实际问题时如何进行参数设置和模型选择。 第三个实验为用支持向量机进行人脸识别,通过本次实验可以让学生掌握支持向量机的运行机理、参数选择与快速算法等,了解在实际分类中学习样本库的重要性。 目录实验一安装并使用模式识别工具箱-4实验二用人工神经网络对二维样本分类-13实验三用支持向量机进行人脸识别-22实验一安装并使用模式识别工具箱(2学时) 一、实验目的1掌握安装模式识别工具箱的技巧,能熟练使用工具箱中的各项功能;2熟练使用最小错误率贝叶斯决策器对样本分类;3熟练使用感知准则对样本分类;4熟练使用最小平方误差准则对样本分类;5了解近邻法的分类过程,了解参数K值对分类性能的影响(选做);6了解不同的特征提取方法对分类性能的影响(选做)。 二、实验内容1安装模式识别工具箱;2用最小错误率贝叶斯决策器对呈正态分布的两类样本分类;3用感知准则对两类可分样本进行分类,并观测迭代次数对分类性能的影响;4用最小平方误差准则对云状样本分类,并与贝叶斯决策器的分类结果比较;5用近邻法对双螺旋样本分类,并观测不同的K值对分类性能的影响(选做);6观测不同的特征提取方法对分类性能的影响(选做)。 三、实验仪器、设备1PC机系统最低配置512M内存、P4CPU;2Matlab仿真软件7.0/7.1/xxa等版本的Matlab软件。 四、实验原理1模式识别工具箱模式识别工具箱是学习模式识别基本原理、灵活应用既有的模式识别方法、开发研制新的识别方法、提高学生分析和解决问题能力的一个良好平台。 本实验采用的模式识别工具箱是由Elad Yom-Tov,Hilit Serby和David G.Storka等人开发的。 2最小错误率贝叶斯决策器在模式识别领域,贝叶斯决策通常利用一些决策规则来判定样本的类别。 最常见的决策规则有最大后验概率决策和最小风险决策等。 设共有K个类别,各类别用符号kc()Kk,2,1=?代表。 假设kc类出现的先验概率()P ck以及类条件概率密度()|kPcx是已知的,那么应该把x划分到哪一类才合适呢?若采用最大后验概率决策规则,首先计算x属于kc类的后验概率()()(P c)()x()()(P c)1|kkkkkKkkkPcP cPcP cPPc=xxxx然后将x判决为属于kc类,其中()1argmaxk K|kk?Pc=x若采用最小风险决策,则首先计算将x判决为kc类所带来的风险(),kRcx,再将x判决为属于kc类,其中()mink,kk?Rc=x可以证明在采用0-1损失函数的前提下,两种决策规则是等价的。 贝叶斯决策器在先验概率()kP c以及类条件概率密度()|kPcx已知的前提下,利用上述贝叶斯决策规则确定分类面。 贝叶斯决策器得到的分类面是最优的,它是最优分类器。 但贝叶斯决策器在确定分类面前需要预知()kP c与()|kPcx,这在实际运用中往往不可能,因为()|kPcx一般是的。 因此贝叶斯决策器只是一个理论上的分类器,常用作衡量其它分类器性能的标尺。 3感知准则设有一组样本Nxxx,21?,其中nx是规范化增广样本向量。 现欲寻找一个解向量a,使得0nTxa。 感知准则通过使()a()0?=xRTPJxa最小而求出向量a,其中R是被解向量a错分的样本集。 上式一般用梯度下降法求解。 4最小平方误差准则设有一组样本Nxxx,21?,其中nx是规范化增广样本向量。 现欲寻找一个解向量a,使得0=nnTbxa。 最小平方误差准则通过使()a()=n?=NnnTsbJ12xa最小而求出向量a。 上式一般用最小二乘法求解。 5近邻法原理近邻法是一种经典的模式识别方法。 正如其名所示,近邻法在分类时运用如下“最近邻分类规则”对测试样本x进行分类在x的周围找出离其最近的k个近邻样本,该k个样本中最频繁出现的那一类样本所对应的类别就是x所属的类别。 以图1-1为例,图中存在两类样本,第一类记为1c并用黑点表示,第二类记为2c并用方框表示。 现欲用NN判决x是属于1c类还是2c类。 假设取5k=,则可找出x的5个近邻样本并用圆圈围住,圆圈中有3个样本属于1c类(目标值1nt=,1,2,3n=),2个样本属于2c类(目标值1nt=?,4,5n=),那么x根据规则应属于1c类。 11,1t=x22,1t=x33,1t=x44,1t=?x55,1t=?x,?t=x图1-1近邻法的分类原理示意图6特征提取特征提取是模式识别中的关键一环。 因为原始的特征数量可能很大,或者说样本处于一个高维空间中,因此可以通过映射或变换的办法在低维空间中来表示样本,这个过程就是特征提取。 常见的特征提取方法有主成分分析(PCA)与主曲线等。 更详细的内容可参见教材第8章。 五、实验步骤1安装模式识别工具箱。 首先将工具箱文件拷贝至指定文件夹里,然后在MATLAB环境下将该文件夹设置成“current directory”(即当前文件夹);最后在MATLAB命令行状态下,键入Classifier并按回车键;则可得到如图1-2所示主界面。 在该主界面上,可以装入样本文件(见界面“Filename”处),可以选择特征提取方式(见界面“preprocessing”处),可以选择不同的模式识别方法(见界面“algorithms”处),识别结果(识别错误率)显示在界面“classification errors”处。 图1-2模式识别工具箱主界面2用最小错误率贝叶斯决策器对呈正态分布的两类样本分类。 首先点击界面“Filename”处的下拉式菜单,在文件列表中选择双螺旋样本文件XOR.mat;然后在界面“preprocessing”处下拉式菜单中选择“None”,在界面“Algorithm”处下拉式菜单中选择“None”,最后点击界面上的“Start”按钮,得到如图1-3所示的分类结果。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并如实记录界面“classification errors”处显示的分类错误率。 图1-3最小错误率贝叶斯决策器的分类结果3用感知准则对两类可分样本进行分类。 首先点击界面“Filename”处的下拉式菜单,在文件列表中选择可分样本文件Seperable.mat;然后在界面“preprocessing”处下拉式菜单中选择“None”,在界面“Algorithm”处下拉式菜单中选择“Perceptron”,在界面“Num ofiteration”处填入数字“300”,最后点击界面上的“Start”按钮,得到如图1-4所示的分类结果。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并如实记录界面“classification errors”处显示的分类错误率。 图1-4用感知准则对两类可分样本分类后的结果现在界面“Num ofiteration”处重新填入数字“10000”,然后点击界面上的“Start”按钮,可得到新的分类结果。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并如实记录界面“classification errors”处显示的分类错误率。 最后比较不同迭代次数情形下分类效果的异同。 4用最小平方误差准则对两类样本进行分类。 首先点击界面“Filename”处的下拉式菜单,在文件列表中选择可分样本文件Clouds.mat;然后在界面“preprocessing”处下拉式菜单中选择“None”,在界面“Algorithm”处下拉式菜单中选择“LS”,最后点击界面上的“Start”按钮,得到如图1-5所示的分类结果,其中黑线为最小平方误差准则的分类结果,红线为贝叶斯决策器的分类结果。 将这两种分类结果的比较(分类效果好坏,能否将样本完全分开等)记录下来,并使用屏幕拷贝方式将分类结果保存于WORD文档里,最后如实记录界面“classification errors”处显示的分类错误率。 图1-5用最小平方误差准则对两类可分样本分类后的结果5用近邻法对双螺旋样本进行分类。 首先点击界面“Filename”处的下拉式菜单,在文件列表中选择双螺旋样本文件Spiral.mat;然后在界面“preprocessing”处下拉式菜单中选择“None”,在界面“Algorithm”处下拉式菜单中选择“Nearest Neighbor”,在界面“Num ofnearest neighbor”处填入数字“3”,最后点击界面上的“Start”按钮,得到如图1-6所示的分类结果。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并记录界面“classification errors”处显示的分类错误率。 图1-6近邻法对双螺旋样本分类后的结果在界面“Num ofnearest neighbor”处重新填入数字“12”,然后点击界面上的“Start”按钮,可得到新的分类结果。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并如实记录界面“classification errors”处显示的分类错误率。 最后比较“k=3”与“k=12”两种情形下分类效果的异同。 6特征提取方法对分类效果的影响。 用感知准则对两类可分样本进行分类。 首先点击界面“Filename”处的下拉式菜单,在文件列表中选择可分样本文件XOR.mat;然后在界面“preprocessing”处下拉式菜单中选择“PCA”,在界面“New datadimension”处填入数字2,在界面“Algorithm”处下拉式菜单中选择“Nearest Neighbor”,在界面“Num ofnearest neighbor”处填入数字“3”,最后点击界面上的“Start”按钮,得到如图1-7(a)所示的分类结果。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并如实记录界面“classification errors”处显示的分类错误率。 现在界面“New datadimension”处重新填入数字1,其它条件不变,然后点击界面上的“Start”按钮,可得到新的分类结果如图1-7(b)所示。 使用屏幕拷贝方式将该分类结果保存于WORD文档里,并如实记录界面“classification errors”处显示的分类错误率。 最后比较提取的特征数目不同的情形下分类效果(即图1-7(a)(b)两个图)的异同。 (a)主成分分析提取2个特征(b)主成分分析提取1个特征图1-7特征提取方法对分类结果的影响 六、实验报告要求1按照固定格式(见附录1)撰写实验报告;2在实验报告中,必须对实验指导书中所列思考题给予回答;3详细写出实验总结与心得体会,可以根据自己的实验情况,在实验设置等方面给出合理化建议。 七、实验注意事项1在实验中如遇到问题,可仔细阅读该工具箱自带的用户指南(User guide)。 八、思考题1在图1-7中使用主成分分析进行特征提取,为什么提取的特征数目为1时(见图1-7(b),分类效果不尽人意?附录1实验报告固定格式实验报告班级姓名学号组别同组人课程名称实验室实验时间(使用实验报告纸的,以上内容可按照实验报告纸格式填写)实验一实验项目名称 一、实验目的 二、实验内容与原理 三、实验器材(设备、元器件、软件工具、平台) 四、实验步骤 五、实验数据及结果分析 六、实验结论 七、思考题 八、其他(实验总结、心得体会及对本实验方法、手段及过程的改进建议等)。 实验二用人工神经网络对二维样本分类(2学时) 一、实验目的1掌握人工神经网络的运行机理、参数设置和模型选择等;2熟悉感知器的原理、特性与功能;3熟悉误差反传网的原理、特性与功能;4熟悉径向基函数网的原理、特性与功能; 二、实验内容1观察人工神经元的输出随权值w与b的变化;2生成两类样本,然后用感知器对两类样本进行分类;3用误差反传网实现函数逼近,观察参数设置和拓扑结构对逼近性能的影响;4用径向基函数网逼近任意函数; 三、实验仪器、设备1PC机系统最低配置512M内存、P4CPU;2Matlab仿真软件7.0/7.1/xxa等版本的Matlab软件。 四、实验原理1人工神经网络人工神经网络(artificial neuralworks,ANN)学习,在模式识别领域占有重要地位。 现在的计算机尽管有很高的计算速度与超大的存储容量,但它却缺乏感知、识别、联想、决策和适应环境等人脑具备的能力,因此能否让计算机象人脑那样工作多少年来一直是不同领域的学者试图认识并回答的问题。 人脑是由极大量的的生物神经元经过复杂的相互连接而成的一种非线性并行信息处理系统,尽管单个生物神经元的反应速度比构成计算机的基本单元逻辑门慢五六个数量级,但人脑中神经元数目巨大且连接复杂,因此对有些问题的处理速度比计算机还快。 由此看来人脑的组织结构和运行机制有其绝妙的特点,从模仿人脑出发,探究更接近人类智能的信息处理系统具有重大意义,这促使人们大力研究人工神经网络学习方法与模型。 人工神经网络是用大量的简单计算-处理单元(神经元)构成的非线性系统,它具有学习能力、记忆能力、计算能力以及各种智能处理功能,在不同程度和层次上模仿人脑神经系统的信息处理、存储及检索功能。 当然这种模拟是粗略而且简单的,无论是在规模上还是功能上都与人脑差得太远,但这并不妨碍它在一些实际工程应用领域显示出威力。 2一个典型的人工神经元模型生物神经元是生物神经系统总最基本的单元,是构成生物神经系统的基石。 它由细胞体、树突和轴突组成,轴突与其它神经元形成功能性接触。 当外界刺激达到一定阈值时,神经元处于兴奋状态并经轴突输出,否则处于抑制状态。 人工神经元是生物神经元的某种简化和抽象,下面以M-P神经元为例介绍其基本原理。 图2-1(a)是一个M-P神经元模型,它有d个输入结点,一个输出结点。 若输入()i()d() (1),Txxx=x?,则输出()i1diiyfw xb=?=?,其中i w为第i个输入结点与输出结点间的连接权值,f为激活函数,d为激活阈值。 ()a()b()c()dx()1x()1x()1x()2x()2x()2x()dx()dx1w2wnwy1ym y1wmwyKK图2-1神经网络模型拓扑结构图。 (a)M-P神经元;(b)感知器;(c)径向基函数网3两个重要的学习规则学习是神经网络最重要的特征之一。 神经网络通过学习改变其内部状态,使输入与输出呈现出某种规律性。 学习是按照一定的学习规则进行的,Hebb规则和误差修正规则是两种最重要的规则。 Hebb规则可以归结为如果神经网络中某一神经元与另一直接与其相连的神经元同时处于兴奋状态,那么这两个神经元间的连接强度(权值)应增强。 假设第i和j个神经元的状态分别为iu和j u,则两个神经元间的权值修正量为jiijuuw=?,称为学习因子。 误差修正规则的最终目的是使网络中某一神经元的实际输出在均方意义上最逼近于期望输出,令第j个神经元的期望输出为je,实际输出为jy,则第i个输入结点与第j个神经元间的权值修正量为()()iijjjweyx=?。 4三种经典的网络模型在神经网络的研究中经常提到神经网络学习模型的概念,神经网络模型是关于一个神经网络的综合描述,包括网络的拓扑结构、信息传递方式、学习方式和学习算法等。 目前人们已提出了上百种神经网络模型,表2-1列出了其中最经典的三种。 神经网络模型按学习方式可分为有监督学习和无监督学习;按拓扑结构可分为前向网和反馈网,前向网有明显的层次,信息的流向由输入层到输出层,反馈网没有明显的层次,存在输出单元到输入单元的反馈连接;按网络活动方式可分为确定型网和随机型网,确定型网由确定性输入经确定性作用函数,产生确定性输出,随机型网由随机输入或随机作用函数,产生遵从一定概率分布的随机输出。 网络模型感知器误差反传网径向基函数网英文缩写BP RBF提出时间195719861988学习方式有监督有监督有监督拓扑结构前向前向前向活动方式确定型确定型确定型表2-1三种经典的神经网络模型比较感知器感知器在神经网络乃至整个机器学习领域都有重要意义。 即使是对其持激烈批评态度的Minsky,在1988年重版其名著感知器时也在扉页上写上了“仅以此纪念Rosenblatt”。 图2-1(b)就是一个感知器示意图,它是一个双层网络,输入层有n个结点,输出层有m个计算单元,采用误差修正规则作为学习准则。 误差反传网误差反传网(BP网)得名于运行其上的BP算法,它又名多层前向网或者多层感知器(multi-layer perceptron,MLP)。 与经典的感知器只有输入层与输出层相比,BP网在输入层与输出层间还有若干隐层,通过BP算法从后向前修正各层之间的连接权值,能求解感知器所不能解决的问题。 经典的感知器的收敛性不受权值的初值影响,但BP网权值的初值选择会影响收敛速度,而且有时会陷入局部极小点,不能保证收敛到全局最优点;当BP网的层数大于三层时,陷入局部极小点的可能性很大,此时需利用先验知识缩小搜索范围。 另外BP网的输入层与输出层结点数由问题本身决定,例如在模式识别中输入层结点数为特征维数,输出层结点数为类别数;但中间隐层的结点数只能靠经验确定。 一般而言,要解决的问题越复杂,需要的隐层的结点数越多,但过多的结点会导致“过学习”,从而使网络的泛化能力变差。 径向基函数网1988年Broomhead等将径向基函数(radial basisfunction,RBF)首先用于神经网络设计,从而构成了RBF网。 RBF网如图2-1(c)所示,它与感知器很相似,只是感知器多了一个隐层,因此是一种三层网。 隐层单元采用径向基函数K作为其输出特性,输入层到隐层的权值固定为1,输出结点为线性求和单元,隐层到输出结点间的权值i w可调。 假设RBF网输入层有d个结点,隐层有m个结点,若输入()i()d() (1),Txxx=x?,()()22,exp/2K=?x xxx,c x是基函数的中心,为基函数的宽度,则输出为()()2211,exp/2mmiciciiiyfw Kfw=?=?x xxx。 一个函数可以表示成一组基函数的加权和,因此RBF网可以看作是用隐层单元的输出函数构成的一组基去逼近一个函数。 五、实验步骤1在MATLAB命令行状态下,键入DEMO并按回车键;得到如图2-2所示的界面。 然后点击“Toolboxes”,打开MATLAB工具箱。 再点击“Neural works”,选定神经网络工具箱,如图2-3所示。 图2-2打开MATLAB工具箱图2-3选定神经网络工具箱2观察并记录人工神经元(Neurons)的特性与功能。 首先在如图2-3所示界面上,将鼠标移至“simple neuronand transferfunction”并双击之,得到如图2-4所示界面。 然后双击如图2-4所示界面上的文字“run thisdemo”,得到图2-5。 图2-4选定神经元演示程序Neural NetworkDESIGNOne-Input NeuronAlterthe weight,biasand inputby draggingthetriangular shapedindicators.Pick thetransferfunction withtheF menu.Watch thechange totheneuron functionandits output.Chapter21pwbaInputLinear Neuron:a=purelin(w*p+b)F:-202w-202b-4-20p24-4-2024a图2-5神经元演示模块在如图2-5所示界面上,拖动与w与b对应的“”符号,从而改变w与b的值,观察神经元的输出随权值w与b的变化情况,并将改变后的界面保存下来(在菜单“Edit”中选择“Copy figure”,再粘贴至WORD文档中)。 3观察并记录感知器(Perceptrons)的特性与功能。 在如图2-3所示界面上,将鼠标移至“Decisions Boundaries”并双击之,得到一个界面;然后双击界面上的文字“run thisdemo”,得到图2-6。 仔细阅读该图上的英文说明,并照该说明一步步操作,以此实现用感知器对两类样本分类的目标,最后将分类结果保存下来。 Neural NetworkDESIGNDecision BoundariesMovethe perceptrondecisionboundary bydraggingits handles.Try todivide thecirclesso thatnoneof theiredges arered.The weightsand biaswilltake onvaluesassociated withthechosen boundary.Drag thewhite andblackdots todefinedifferent problems.Chapter4W=1.790.894b=1.79-3-2-10123-3-2-10123W图2-6感知器演示模块4观察并记录误差反传网(Back propagationNetworks)的特性与功能。 在如图2-3所示界面上,将鼠标移至“Generalization”上并双击之,得到一个界面;然后双击界面上的文字“run thisdemo”,得到图2-7。 仔细阅读该图上的英文说明,并照该说明进行操作,以此达到用误差反传网逼近函数的目标,最后将逼近结果保存下来。 Neural NetworkDESIGNGeneralizationClick theTrainbutton totrain thelogsig-linearwork onthedata pointsat left.Use theslide bartochoose thenumberof neuronsinthe hiddenlayer.Chapter11Number ofHidden NeuronsS1:319Difficulty Index:119-2-1.5-1-0.500.511.5200.511.52InputTargetFunction Approximation图2-7误差反传网演示模块5观察并记录径向基函数网(Radial BasisNetworks)的特性与功能。 在如图2-3所示界面上,将鼠标移至“Radial basisapproximation”并双击之,得到图2-8。 现将该图上的所有源代码拷贝至一个新文件“Raba.m”中,并在MATLAB命令行状态下执行Raba,以此实现用径向基函数网逼近函数的目标,最后将逼近结果保存下来。 图2-8径向基函数网演示模块 六、实验报告要求1按照固定格式(见实验一的附录1)撰写实验报告;2在实验报告中,必须对实验指导书中所列思考题给予回答;3详细写出实验总结与心得体会,可以根据自己的实验情况,在实验设置等方面给出合理化建议。 七、实验注意事项1如果实验有充裕时间,可在如图2-3所示界面上,用鼠标双击“Application examples”中的几个例子,进一步加深对人工神经网络的理解。 八、思考题1请详述感知器、误差反传网与径向基函数网等三种经典的网络模型间的联系与区别。 实验三用支持向量机进行人脸识别(2学时) 一、实验目的1掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等;2熟悉人脸识别的一般流程与常见识别方法;3熟悉不同的特征提取方法在人脸识别的应用;4了解在实际的人脸识别中,学习样本数等参数对识别率的影响;5了解非人脸学习样本库的构建在人脸识别的重要作用。 二、实验内容1构建非人脸学习样本库;2观测不同的特征提取方法对人脸识别率的影响;3观测不同的学习样本数对人脸识别率的影响;4观测支持向量机选用不同的核函数(线性核或径向基核)后对人脸识别率的影响;5观测支持向量机选用不同的核参数后对人脸识别率的影响。 三、实验仪器、设备1PC机系统最低配置512M内存、P4CPU;2Matlab仿真软件7.0/7.1/xxa等版本的Matlab软件。 3CBCL人脸样本库; 四、实验原理1人脸识别人脸识别也就是利用计算机分析人脸图象,进而从中提取出有效的识别信息,用来“辨认”身份的一门技术。 人脸识别技术应用背景广泛,可用于公安系统的罪犯身份识别、驾驶执照及护照等与实际持证人的核对、银行及海关的监控系统及自动门卫系统等。 常见的人脸识别方法包括基于KL变换的特征脸识别、基于形状和灰度分离的可变形模型识别、基于小波特征的弹性匹配、基于传统的部件建模识别、基于神经网络的识别、基于支持向量机的识别等。 其中特征脸方法、神经网络方法、基于支持向量机的方法等是基于整体人脸的识别,而基于提取眼睛等部件特征而形成特征向量的方法就是基于人脸特征的识别。 虽然人类的人脸识别能力很强,能够记住并辨别上千个不同人脸,可是计算机则困难多了。 其表现在人脸表情丰富;人脸随年龄增长而变化;人脸所成图象受光照、成象角度及成象距离等影响;而且从二维图象重建三维人脸是病态过程,目前尚没有很好的描述人脸的三维模型。 另外,人脸识别还涉及到图象处理、计算机视觉、模式识别以及神经网络等学科,也和人脑的认识程度紧密相关。 这诸多因素使得人脸识别成为一项极富挑战性的课题。 通常人类进行人脸识别依靠的感觉器官包括视觉、听觉、嗅觉与触觉等。 一般人脸的识别可以用单个感官完成,也可以是多感官相配合来存储和检索人脸。 而计算机的人脸识别所利用的则主要是视觉数据。 另外计算机人脸识别的进展还受限于对人类本身识别系统的认识程度。 研究表明,人类视觉数据的处理是一个分等级的过程,其中最底层的视觉过程(视网膜功能)起信息转储的作用,即将人眼接收的大量图象数据变换为一个比较规则的紧凑表达形式。 生理学的研究表明,人眼视网膜上存在着低层次和高层次的细胞。 其中,低层次的细胞对空间的响应和小波变换的结果相似;而高层次的细胞则依据一群低层次细胞的响应,而作出具体的线、面乃至物体模式的响应。 以此为依据,在计算机人脸识别中,可以将那些通过大量图象数据简单处理后获得的特征定义为低层次特征,而将线、面、模式等描述特征定义为高层次特征。 由此图象变换后的系数特征、小波变换特征及一些统计特征均属低层次特征的范畴,而人脸部件形状分析的结果则为高层次特征。 由于视觉数据经传输后的重建,需依赖于人脑中早期形成的先验知识,因此在人的识别系统中,人脸的检测是一个整体识别和特征识别共同作用的结果。 具体说来,远处辨认人,主要是整体识别,而在近距离的人脸识别中,特征部件的识别则更重要。 另外,人脸的各部件对识别的贡献也不相同,如眼睛和嘴巴的重要程度大于人的鼻子,人脸上半部分重要性大于人脸下半部分,其中特别的人脸更容易被识别记住,比如说歪嘴,或是独眼龙等人脸就更容易为人记起,没有个性的人脸相对就需要更长的时间来辨认。 根据对人脑的研究表明,人脸的表情识别和人脸识别虽然存在联系,但总体说是分开的、并行的处理过程。 这些结论对于设计有效的识别方法起到了一定启发作用。 人脸识别是一个跨学科富挑战性的前沿课题,但目前人脸识别还只是研究课题,尚不是实用化领域的活跃课题。 人脸识别难度较大,主要难在人脸都是有各种变化的相似刚体,由于人脸部件不仅存在各种变形,而且和皮肤之间是平缓过渡,因此人脸是不能用经典的几何模型来进行识别分类的典型例子。 如今人脸识别研究人员已经慢慢地将研究重点从传统的点和曲线的分析方法,过渡到用新的人脸模型来表达和识别人脸,其中弹性图匹配就是较成功的尝试。 2支持向量机SVM近年来成为模式识别领域发展最快的研究方向之一,并且在各个领域得到了广泛应用。 SVM通过一个非线性映射将输入空间中的学习样本映射到高维特征空间F中,然后利用结构风险最小化原则在F中求取线性分类超平面,巧妙地引入核函数实现特征空间中的内积运算。 SVM的基本原理可用图3-1来说明。 如图3-1(a)所示,如果N个独立样本()11,tx,()22,tx,,(),NNtxR T不是线性可分的,这时可以通过一个的映射函数:RF?将样本映射到某特征空间F中,得到()()11,t?x,()()22,t?x,()(),NNt?xF T,然后在F中构造线性最优分类面(图(b),从输入空间R的角度看,所得最优分类面是非线性的(图(c)。 可记12,Nx xx?的集合为,()x()()12,?,N?xx?的集合为()?。 ()a()b()c1H2H3HRRF图3-1SVM基本原理示意图(a)输入空间R中的N个待分类样本(b)样本被映射到特征空间F中,并构建最优分类面(c)从输入空间R的角度看,分类面是非线性的在F中构造线性最优分类面的方式与上节在输入空间R中构造最优分类面的方式是一样的。 设与2H对应的线性判别函数表达式为()x()bxf+?=w(3.1)上式中求取w与b可归结为求解下面的约束优化问题min2212w(3.2).t s()x1+?btiiw?Ni?2,1=上式的解由下面的拉格朗日函数的鞍点给出()()x()=i?+?=NiibtbG12121,www(3.3)上式中0i,Ni?,2,1=为拉格朗日乘子。 为得到鞍点令0=?wG?()x=i=Niiit1w?(3.4)0=?bG?=Niiit10(3.5)将(3.4)和(3.5)一起代入到(3.3)中可得(3.2)的对偶规划max()x()()11112NNNiij ijt tijiijG?=?=?x(3.6).t s=Niiit100i上式含有映射函数?。 若在F中定义内积()()x(),ijijK?=?x xx(3.7)将之代入到(3.6)后有max()x x()1111,2NNNiij ijt tKijiijG=?=?(3.8).t s=Niiit100i又设()TNi,21?=,(,1,1?)T1,=d,()TNNttt,21?=t,矩阵Q的第i行第j列为()jijiijt tQxx,=,则(3.8)可写成矩阵形式。 解(3.8)可得i的最优值,并将(3.4)代入到(3.1)中可得F中的线性判别函数表达式()x()b+KtfNiiii=1,xx(3.9)式(3.7)中的()jiKxx,被称为核函数,它欲成为F中的内积必须满足Mercer条件使得积分算子()()x()(),kiijjjT fKfd=x xxx为正。 如果F的维数很高,(3.7)等号右边的计算量会很大,甚至会陷入“维数灾难”而使得计算不可行;但通过上述代换,F中的内积可基于R中的变量通过给定的核函数直接计算得到,即使F的维数非常高,SVM本身也并没有增加多少计算复杂度。 特别是对某些映射函数而言,F的维数是无限的,此时内积必须用积分来计算,这种代换的作用就更为明显。 另外从以上推导过程可看出,在特征空间中构造最优分类面,并不需要以显式形式来考虑特征空间,也没有必要知道映射函数的形式,只需通过(3.7)计算内积即可。 值得指出的是,以上推导的假设前提是N个样本被映射到F中以后能够线性可分,如果该前提不满足,则必须在F中构造广义最优分类面。 相应地(3.2)要改成min=i+NiC1221w(3.10).t s()xiiibt?+1w在(3.9)中,假设输入空间R内的向量为()1()2()d()Txxx?,=x,另有s个向量1x,2x,s x对应的i不为零,它们被称为支持向量,则SVC的拓扑结构如图3-2所示,从图中看出SVM的计算复杂度取决于支持向量的数目。 11tsst)()xf()1,xxK(sKxx,()1x()2x()dx图3-2SVC拓扑结构图 五、实验步骤1将CBCL人脸样本库放在硬盘上的指定位置;构建非人脸学习样本库并将之放在硬盘上的指定位置;2观测不同的特征提取方法对人脸识别率的影响。 在MATLAB命令行状态下,首先键入faceclassify1 (1)并按回车键,记录不采用任何特征提取时,程序的执行结果;然后键入faceclassify1 (2)并按回车键,记录采用主成分方法进行特征提取时程序的执行结果;最后键入faceclassify1 (3)并按回车键,记录采用核主成分方法进行特征提取时程序的执行结果;3观测不同的学习样本数对人脸识别率的影响。 将源代码中的一个语句“face_lean=200”(见本实验附录1中的源代码片段),分别修改成“face_lean=20”、“face_lean=50”、“face_lean=100”、“face_lean=300”后,再在MATLAB命令行状态下键入faceclassify1 (1)并按回车键,记录程序的执行结果;4观测支持向量机选用不同的核函数(线性核或径向基核)后对人脸识别率的影响。 先将源代码中的一个语句“ker=linear;”(即线性核),修改成“ker=rbf;”(即径向基核),再在MATLAB命令行状态下键入faceclassify1 (1)并按回车键,记录程序的执行结果;5观测支持向量机选用不同的核参数后对人脸识别率的影响。 先将源代码中的一个语句“p1=sqrt(sumsqr(svm_xlean(1,:)-mean(svm_xlean(1,:)./idlean);”,分别修改成“p1=0.5;”、“p1=1;”、“p1=2;”(即改变核参数p1的值),再在MATLAB命令行状态下分别键入faceclassify1 (1)并按回车键,记录程序的执行结果。 六、实验报告要求1按照固定格式(见实验一的附录1)撰写实验报告;2在实验报告中,必须对实验指导书中所列思考题给予回答;3详细写出实验总结与心得体会,可以根据自己的实验情况,在实验设置等方面给出合理化建议。 七、实验注意事项1在人脸识别源代码中(见附录一),有一行语句为“face_pname=D:userdatasetfaceface19X19_mit_cbcl;”,从该语句看出人脸学习样本库在硬盘上的具体位置为D:userdatasetfaceface19X19_mit_cbcl。 如果人脸学习样本库在硬盘上的具体位置改变,上述语句也应随之修改,否则程序运行时会出现找不到人脸样本的情形。 八、思考题1为什么用计算机识别人脸比起人类自己识别人脸要困难得多?附录1基于支持向量机的人脸识别源代码片段function faceclassify1(iflag)%参数faceclassify(iflag)%iflag=1不进行特征提取,直接利用象素点信息进行分类%iflag=2用主成分分析方法进行特征提取后,再进行分类%iflag=3用核主成分分析方法进行特征提取后,再进行分类%作者Zhou yatong(Xian jiaotonguniversity)xx.01.18if(nargin=1)help faceclassify1return end%The parameterof faceand non_face datasetface_pname=D:userdatasetfaceface19X19_mit_cbcl;%人脸学习样本库在硬盘上的位置face_fname=face;nonface_pname=D:userdatasetnonface;%非人脸学习样本库在硬盘上的位置nonface_fname=nonface;nonface_test_pname=D:userdatasetnonfacenonface_test;%非人脸测试样本库在硬盘上的位置nonface_test_fname=nonface_test;imlen=19;%i mages pixels number in horizontaldirection(image matrixs colnum)imhigh=19;%i mages pixels numberin vecticaldi rection(image maxtixs row num)idlean=imlen*imhigh;%t hedi mensionof l earning sample idtest=idlean;%t hedi mensionof t esting sample%学习样本与测试样本参数设置face_lean=200;%人脸学习样本数nonface_lean=200;%非人脸学习样本数face_test=100;%人脸测试样本数nonface_test=100;%非人脸测试样本数face_test_startnumber=1100;%第一个人脸测试样本在人脸库中的序号nlean=face_lean+nonface_lean;%the totallearning samplesnumber ntest=face_test+nonface_test;%t het otalt estingsample number%读取学习样本for ix1=1:1:face_lean%face learnix1temp=ix1;fprintf(+learn sampleno:%dn,ix1temp);face_sample=face_sampleread(face_pname,face_fname,ix1temp,imlen,imhigh);xlean(ix1,:)=face_sample;end for ix2=face_lean+1:1:nlean%nonface learnix2temp=ix2-face_lean;fprintf(-learn sampleno:%dn,ix2temp);nonface_sample=nonface_sampleread(nonface_pname,nonface_fname,ix2temp,imlen,imhigh);xlean(ix2,:)=nonface_sample;end%读取测试样本for ix3=1:1:face_test%f acet estix3temp=ix3+face_test_startnumber;fprintf(+test sampleno:%dn,ix3temp);face_sample=face_sampleread(face_pname,face_fname,ix3temp,imlen,imhigh);xtest(ix3,:)=face_sample;end forix4=face_test+1:1:ntest%nonface testix4temp=ix4-fac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 患者血尿的护理
- 2025年工业自动化系统服务合同协议
- 2025年工业智能制造设备租赁合同协议
- 沙盘心理疗法分享
- 2025年工业元宇宙平台合作协议
- 梅花鹿养殖可行性研究报告
- 高标准农田监理质量及安全管理措施
- 2025年青岛版(新教材)小学信息科技第三册期末综合测试卷及答案
- 印刷设备项目可行性分析报告范文(总投资19000万元)
- 天津市宝坻区何仉中学2025-2026学年高一生物第一学期期末考试试题含解析
- 腘绳肌损伤康复
- 比亚迪海豹培训
- 互联网医院运营与服务规范手册
- 2025年汽车驾驶员(技师)实操考试题带答案
- 幼儿园的账务处理及税收优惠分析
- DB15T 3529-2024 饲用大麦干草储备技术规程
- 化学高考核心考点精讲
- 第10课《唐雎不辱使命》知识梳理-统编版语文九年级下册
- ALD法制备纳米级介电层-洞察及研究
- 消极怠工管理办法
- 高血压脑出血病例讨论
评论
0/150
提交评论