版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模式辨认实验报告姓名:班级:学号:提交日期:实验一线性分类器的设计实验目的:掌握模式辨认的基本概念,理解线性分类器的算法原理。实验规定(1)学习和掌握线性分类器的算法原理;(2)在MATLAB环境下编程实现三种线性分类器并能对提供的数据进行分类;(3)对实现的线性分类器性能进行简朴的评估(例如算法使用条件,算法效率及复杂度等)。算法原理介绍(1)判别函数:是指由x的各个分量的线性组合而成的函数:若样本有c类,则存在c个判别函数,对具有形式的判别函数的一个两类线性分类器来说,规定实现以下鉴定规则:方程g(x)=0定义了一个鉴定面,它把两个类的点分开来,这个平面被称为超平面,如下图所示。(2)广义线性判别函数线性判别函数g(x)又可写成以下形式:其中系数wi是权向量w的分量。通过加入此外的项(w的各对分量之间的乘积),得到二次判别函数:由于,不失一般性,可以假设。这样,二次判别函数拥有更多的系数来产生复杂的分隔面。此时g(x)=0定义的分隔面是一个二阶曲面。若继续加入更高次的项,就可以得到多项式判别函数,这可看作对某一判别函数g(x)做级数展开,然后取其截尾逼近,此时广义线性判别函数可写成:或:这里y通常被成为“增广特性向量”(augmentedfeaturevector),类似的,a被称为“增广权向量”,分别可写成:这个从d维x空间到d+1维y空间的映射虽然在数学上几乎没有变化,但十分有用。虽然增长了一个常量,但在x空间上的所有样本间距离在变换后保持不变,得到的y向量都在d维的自空间中,也就是x空间自身。通过这种映射,可以将寻找权向量w和权阈值w0的问题简化为寻找一个简朴的权向量a。(3)样本线性可分即在特性空间中可以用一个或多个线性分界面对的无误地分开若干类样本;对于两类样本点w1和w2,其样本点集合表达为:
,使用一个判别函数来划分w1和w2,需要用这些样本集合来拟定判别函数的权向量a,可采用增广样本向量y,即存在合适的增广权向量a,使得:则称样本是线性可分的。所有满足条件的权向量称为解向量。通常对解区限制:引入余量b,规定解向量满足:余量b的加入在一定限度上可防止优化算法收敛到解区的边界。(4)感知器准则函数这里考虑构造线性不等式
的准则函数的问题,令准则函数J(.)为:其中Y是被权向量a错分的样本集。当且仅当JP(a*)=minJP(a)=0时,a*是解向量。这就是感知器(Perceptron)准则函数。(5)基本的感知器设计感知器准则函数的最小化可以使用梯度下降迭代算法求解:其中,k为迭代次数,η为调整的步长。即下一次迭代的权向量是把当前时刻的权向量向目的函数的负梯度方向调整一个修正量。即在每一步迭代时把错分的样本按照某个系数叠加到权向量上。这样就得到了感知算法。(6)批解决感知器算法(7)单样本感知器算法通常情况,一次将所有错误样本进行修正不是效率最高的做法,更常用是每次只修正一个样本或一批样本的固定增量法:(8)最小均方差算法对于前面提出的不等式组:在线性不可分的情况下,不等式组不也许同时满足。一种直观的想法就是,希望求一个a*使被错分的样本尽也许少。这种方法通过求解线性不等式组来最小化错分样本数目,通常采用搜索算法求解。为了避免求解不等式组,通常转化为方程组:矩阵形式为:。方程组的误差为:,可以求解方程组的最小平方误差求解,即:Js(a)即为最小平方误差(MinimumSquared-Error,MSE)的准则函数:准则函数最小化通常有两种方法:违逆法,梯度下降法。梯度下降法梯度下降法在每次迭代时按照梯度下降方向更新权向量:直到满足或者时停止迭代,ξ是事先拟定的误差灵敏度。参照感知器算法中的单步修正法,对MSE也可以采用单样本修正法来调整权向量:这种算法即Widrow-Hoff算法,也称作最小均方根算法或LMS(Least-mean-squarealgorithm)算法。实验结果及分析(1)单样本感知器算法分析:通过对分类结果的观测知,单样本感知器可以将数据1和数据2的数据进行对的的分类,达成了分类器的设计目的。同时观测到对两组数据计算的迭代次数都是40次左右,耗时为0.6ms和0.8ms左右。单样本感知器的算法效率高于批解决感知器的算法效率。(2)批解决感知器算法分析:通过对分类结果的观测知,批解决感知器可以将数据1和数据2的数据进行对的的分类,达成了分类器的设计目的。同时观测到对两组数据计算的迭代次数相差较大。对数据1迭代17次,耗时1.0ms左右,相比于单样本感知器,迭代次数少但是耗时大,重要是由于批解决感知器一次迭代要对所有样本进行计算;对于数据2迭代次数和耗时都比单样本感知器多。(3)最小均方差算法分析:通过观测分类结果知,对于数据1和数据2都存在一个分错的点,重要是由于步长选择不同会导致收敛时的分类结果存在分错的点。同时假如选择的步长不合适,会导致a不收敛,所以步长的选择非常重要。源代码(1)单样本感知器算法function[solutioniter]=SinglePerceptron(Y,tau)%%solution=SinglePerceptron(Y,tau)固定增量单样本感知器算法实现%%输入:规范化样本矩阵Y,裕量tau%输出:解向量solution,迭代次数iter%[y_kd]=size(Y);a=zeros(1,d);k_max=10000;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k_iter=0;whilek_iter<k_maxcount=0;forj=1:1:y_kifa*Y(j,:)'<taua=a+Y(j,:);k_iter=k_iter+1;count=count+1;endendifcount==0break;endendk_max=k_iter;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k=k_max;solution=a;iter=k-1;(2)批解决感知器算法function[solutioniter]=BatchPerceptron(Y,tau)%%solution=BatchPerceptron(Y,tau)固定增量批解决感知器算法实现%%输入:规范化样本矩阵Y,裕量tau%输出:解向量solution,迭代次数iter%[y_kd]=size(Y);a=zeros(d,1);k_max=10000;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k_iter=0;Y_temp=zeros(d,1);whilek_iter<k_maxcount=0;forj=1:1:y_kifa'*Y(j,:)'<=tauY_temp=Y_temp+Y(j,:)';count=count+1;endendifcount==0break;enda=a+Y_temp;k_iter=k_iter+1;endk_max=k_iter;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k=k_max;solution=a;iter=k-1;(3)最小均方差算法function[solutioniter]=Widrow_Hoff(Y,stepsize)%%solution=Widrow_Hoff(Y.tau)最小均方差实现算法%%输入:规范化样本矩阵Y,裕量tau,初始步长stepsize%输出:解向量solution,迭代次数iter%[y_kd]=size(Y);a=zeros(1,d);k_max=10000;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%b=ones(1,y_k);k_iter=0;whilek_iter<k_maxcount=0;forj=1:1:y_kifa*Y(j,:)'~=b(j)a=a+stepsize*(b(j)-a*Y(j,:)')*Y(j,:);k_iter=k_iter+1;count=count+1;endendifcount==0break;endendk_max=k_iter;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k=k_max;solution=a;iter=k-1;ﻬ实验二人脸检测系统的设计与实现实验目的:了解人脸检测及跟踪系统的算法原理及设计实现过程。实验规定(1)学习和了解基于OpenCV的人脸检测算法原理;(2)在VC++环境下基于OpenCV实现一个简朴的人脸检测和跟踪程序,规定运用笔记本摄像头或者其他网络摄像头进行实时检测,最佳有良好的人机交互界面(如使用MFC编程);(3)对检测到的人脸进行辨认(即能辨认不同的人)或对检测到的人脸做一些有趣的解决。算法原理介绍(1)人脸检测原理
人脸检测属于目的检测(object
detection)
的一部分,重要涉及两个方面:先对要检测的目的对象进行概率记录,从而知道待检测对象的一些特性,建立起目的检测模型。用得到的模型来匹配输入的图像,假如有匹配则输出匹配的区域,否则什么也不做。(2)Harr特性级联表OpenCV在物体检测上使用的是haar特性的级联表,这个级联表中包含的是boost的分类器。一方面,采用样本的haar特性进行分类器的训练,从而得到一个级联的boost分类器。训练的方式包含两方面:1.正例样本,即待检测目的样本2.反例样本,其他任意的图片一方面将这些图片统一成相同的尺寸,这个过程被称为归一化,然后进行记录。一旦分类器建立完毕,就可以用来检测输入图片中的感爱好区域了,一般来说,输入的图片会大于样本,那样,需要移动搜索窗口,为了检索出不同大小的目的,分类器可以按比例的改变自己的尺寸,这样也许要对输入图片进行多次的扫描。级联分类器是由若干个简朴分类器级联成的一个大的分类器,被检测的窗口依次通过每一个分类器,可以通过所有分类器的窗口即可鉴定为目的区域。同时,为了考虑效率问题,可以将最严格的分类器放在整个级联分类器的最顶端,那样可以减少匹配次数。基础分类器以haar特性为输入,以0/1为输出,0表达未匹配,1表达匹配。(3)Haar特性边界特性,包含四种线性特性,包含八种中心围绕特性,包含两种在扫描待检测图片的时候,以边界特性中的(a)为例,正如前面提到的那样,计算机中的图片是一个数字组成的矩阵,程序先计算整个窗口中的灰度值x,然后计算矩形框中的黑色灰度值y,然后计算(x-2y)的值,得到的数值与x做比较,假如这个比值在某一个范围内,则表达待检测图片的当前扫描区域符合边界特性(a),然后继续扫描。(4)非固定大小目的检测由于是基于视频流的目的检测,我们事先不太也许知道要检测的目的的大小,这就规定我们的级联表中的分类器具有按比例增大(或者缩小)的能力,这样,当小的窗口移动完整个待检测图片没有发现目的时,我们可以调整分类器的大小,然后继续检测,直到检测到目的或者窗口与待检测图片的大小相称为止。(5)算法介绍环节一:图片预解决
在从摄像头中获得一个帧(一张图片)后,我们需要先对这张图片进行一些预解决:
1.
将图片从RGB模式转为灰度图将灰度图
2.
进行灰度图直方图均衡化操作。环节二:检测并标记目的OpenCV中,对于人脸检测的模型已经建立为一个haarcascade_frontalface_alt2.XML文献,其中包含了上面提到的harr特性的分类器的训练结果,我们可以通过加载这个文献而省略掉自己建立级联表的过程。有了级联表,我们只需要将待检测图片和级联表一同传递给OpenCV的目的检测算法即可得到一个检测到的人脸的集合。环节三:用highgui画出视频窗口由于视频流是动态的,所以我们可以在程序的入口中使用一个无限循环,在循环中,每次从视频中读入一个帧,将这个帧传输给人脸检测模块,检测模块在这个帧上进行标记(假如有人脸的话),然后返回这个帧,主程序拿到这个帧后,更新显示窗口。程序流程图实验结果及分析人脸检测结果:分析:通过实验结果知,程序基本达成了人脸检测以及跟踪人脸的规定,同时可以检测出不同的人脸。通过本次实验了解了人脸检测及跟踪系统的算法原理及设计实现过程。源代码#include<D:\ProgramFiles\opencv\build\include\opencv2\opencv.hpp>#include"stdio.h"#include<iostream>#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include"opencv2/objdetect/objdetect.hpp"usingnamespacecv;usingnamespacestd;stringface_cascade_name="haarcascade_frontalface_alt2.xml";CascadeClassifierface_cascade;stringwindow_name="人脸辨认";voiddetectAndDisplay(Matframe){ﻩstd::vector<Rect>faces; Matframe_gray; cvtColor(frame,frame_gray,CV_BGR2GRAY);ﻩequalizeHist(frame_gray,frame_gray); face_cascade.detectMultiScale(frame_gray,faces,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招投标法规在电商行业的应用
- 城市更新项目报价模板
- 城市绿化养护招投标守则
- 数字化与绿色技术促进可持续发展专题政策研究报告2024
- 水上乐园建设项目预审表
- 本溪市燃气管道维修质量
- 培训机构参观管理规定
- 智能家居招投标合同样本模板
- 建筑工程烟囱施工合同样本
- 城市商业综合体书店门面租赁合同
- 广西医药流通行业融资现状、存在问题及建议
- IATF16949-2016程序文件-设备管理程序
- [精品]我是消防员——《快速跑》
- 《电工学》试题库及答案(考试必备)
- 单相智能电表硬件电路设计
- 如何辩论谎言比真话伤害更大
- 如何构建生态班级
- 健康教育宣传栏(冬季常见几种疾病)第1版
- 搅拌车驾驶员管理制度
- 北京市建设工程质量检测收费指导价汇总
- (完整word版)施工现场组织机构框图及说明最新(精华版)
评论
0/150
提交评论