哈尔滨工程大学-模式识别实验报告

上传人:su****e 文档编号:204927322 上传时间:2023-04-27 格式:DOC 页数:24 大小:907KB
返回 下载 相关 举报
哈尔滨工程大学-模式识别实验报告_第1页
第1页 / 共24页
哈尔滨工程大学-模式识别实验报告_第2页
第2页 / 共24页
哈尔滨工程大学-模式识别实验报告_第3页
第3页 / 共24页
点击查看更多>>
资源描述
实 验 报 告实验课程名称: 模式识别 姓名: 班级: 20120811 学号: 实验名称规范程度原理叙述实验过程实验结果实验成绩图像的贝叶斯分类K均值聚类算法神经网络模式识别平均成绩折合成绩注:1、每个实验中各项成绩按照5分制评定,实验成绩为各项总和2、平均成绩取各项实验平均成绩3、折合成绩按照教学大纲要求的百分比进行折合2015年 4月实验1 图像的贝叶斯分类1.1 实验目的将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图像分类的基本方法,通过实验加深对基本概念的理解。1.2 实验仪器设备及软件HP D538、MATLAB1.3 实验原理1.3.1基本原理阈值化分割算法是计算机视觉中的常用算法,对灰度图象的阈值分割就是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中每个像素的灰度值与这个阈值相比较。并根据比较的结果将对应的像素划分为两类,灰度值大于阈值的像素划分为一类,小于阈值的划分为另一类,等于阈值的可任意划分到两类中的任何一类。此过程中,确定阈值是分割的关键。 对一般的图像进行分割处理通常对图像的灰度分布有一定的假设,或者说是基于一定的图像模型。最常用的模型可描述如下:假设图像由具有单峰灰度分布的目标和背景组成,处于目标和背景内部相邻像素间的灰度值是高度相关的,但处于目标和背景交界处两边的像素灰度值有较大差别,此时,图像的灰度直方图基本上可看作是由分别对应于目标和背景的两个单峰直方图混合构成。而且这两个分布应大小接近,且均值足够远,方差足够小,这种情况下直方图呈现较明显的双峰。类似地,如果图像中包含多个单峰灰度目标,则直方图可能呈现较明显的多峰。 上述图像模型只是理想情况,有时图像中目标和背景的灰度值有部分交错。这时如用全局阈值进行分割必然会产生一定的误差。分割误差包括将目标分为背景和将背景分为目标两大类。实际应用中应尽量减小错误分割的概率,常用的一种方法为选取最优阈值。这里所谓的最优阈值,就是指能使误分割概率最小的分割阈值。图像的直方图可以看成是对灰度值概率分布密度函数的一种近似。如一幅图像中只包含目标和背景两类灰度区域,那么直方图所代表的灰度值概率密度函数可以表示为目标和背景两类灰度值概率密度函数的加权和。如果概率密度函数形式已知,就有可能计算出使目标和背景两类误分割概率最小的最优阈值。 假设目标与背景两类像素值均服从正态分布且混有加性高斯噪声,上述分类问题可用模式识别中的最小错分概率贝叶斯分类器来解决。以与分别表示目标与背景的灰度分布概率密度函数,与分别表示两类的先验概率,则图像的混合概率密度函数用下式表示 式中和分别为 、是针对背景和目标两类区域灰度均值与的标准差。若假定目标的灰度较亮,其灰度均值为,背景的灰度较暗,其灰度均值为,因此有 现若规定一门限值对图像进行分割,势必会产生将目标划分为背景和将背景划分为目标这两类错误。通过适当选择阈值,可令这两类错误概率为最小,则该阈值即为最佳阈值。 把目标错分为背景的概率可表示为 把背景错分为目标的概率可表示为 总的误差概率为 为求得使误差概率最小的阈值,可将对求导并令导数为零,可得 代换后,可得 此时,若设,则有 若还有的条件,则 这时的最优阈值就是两类区域灰度均值与的平均值。上面的推导是针对图像灰度值服从正态分布时的情况,如果灰度值服从其它分布,依理也可求出最优阈值来。一般情况下,在不清楚灰度值分布时,通常可假定灰度值服从正态分布。因此,本课题中亦可使用此方法来求得最优阈值,来对实验图像进行分割。1.3.2 最优阈值的迭代算法 在实际使用最优阈值进行分割的过程中,需要利用迭代算法来求得最优阈值。设有一幅数字图像,混有加性高斯噪声,可表示为 此处假设图像上各点的噪声相互独立,且具有零均值,如果通过阈值分割将图像分为目标与背景两部分,则每一部分仍然有噪声点随机作用于其上,于是,目标和可表示为 迭代过程中,会多次地对和求均值,则 可见,随着迭代次数的增加,目标和背景的平均灰度都趋向于真实值。因此,用迭代算法求得的最佳阈值不受噪声干扰的影响。 利用最优阈值对实验图像进行分割的迭代步骤为: (1)确定一个初始阈值,可取为 式中,和为图像灰度的最小值和最大值。 (2)利用第k次迭代得到的阈值将图像分为目标和背景两大区域,其中 (3)计算区域和的灰度均值和。 (4)计算新的阈值,其中 (5)如果小于允许的误差,则结束,否则,转步骤(2)。 利用迭代法求得最优阈值后,仍需进行一些人工调整才能将此阈值用于实验图像的分割,这是因为,这种最优阈值仍然属于全局阈值,它利用了图像中所有像素点的信息,但当光照不均匀时,图像中部分区域的灰度值可能差距较大,造成计算出的最优阈值分割效果不理想,此时,可设一人工经验因子进行校正。 1.4、实验步骤及程序实验步骤:1、读取指定图像,取矩阵的最大值和最小值,并以最大值、最小值的平均值为初始阈值A。2、比较所有的矩阵因子和初始阈值的大小,若某矩阵因子较大,则有效区域的像素点数增加1,该点灰度值需计入有效区域的灰度总值。反之,背景的像素点增加1,该点灰度值需计入背景的灰度值。3、所有的矩阵因子都比较完以后,计算有效区域的像素平均灰度值和背景的平均灰度值。取这两个平均值的平均,记为B,若A=B,则循环结束,该值为最优阈值。否则,令A=B,重复步骤2、3。 读取指定图像,取矩阵的最大值和最小值,并以最大值、最小值的平均值作为初始的阈值A矩阵因子A?有效区域的像素点数增加1,该点灰度值需计入有效区域的灰度总值背景的像素点增加1,该点灰度值需计入背景的灰度值计算有效区域的像素平均灰度值和背景的平均灰度值。取这两个平均值的平均,记为B比较完毕?A-B=TK) iForeground=iForeground+1; ForegroundSum=ForegroundSum+double(tmp); else iBackground=iBackground+1; BackgroundSum=BackgroundSum+double(tmp); end end end ZO=ForegroundSum/iForeground; ZB=BackgroundSum/iBackground; TKTmp=double(ZO+ZB)/2); if(TKTmp=TK) bCal=0; else TK=TKTmp; endenddisp(strcat(diedaihoudeyuzhi,num2str(TK);newI=im2bw(I,double(TK)/255);imshow(I)figureimshow(newI)1.5、实验结果与分析实验得到的迭代后的分割阈值:94.8064分割效果图如下所示。 图1.5.1 原始图像 图1.5.2 分割后的图像 图1.5.3 原始图像的灰度直方图实验分析:对灰度图象的阈值分割就是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中每个像素的灰度值与这个阈值相比较。并根据比较的结果将对应的像素划分为两类,灰度值大于阈值的像素划分为一类,小于阈值的划分为另一类,等于阈值的可任意划分到两类中的任何一类。其中确定阈值是分割的关键。最优阈值的求得需要使用迭代算法。它将会影响到迭代的次数和结果精度。实验2 K均值聚类算法2.1 实验目的将模式识别方法与图像处理技术相结合,掌握利用K均值聚类算法进行图像分类的基本方法,通过实验加深对基本概念的理解。2.2 实验仪器设备及软件HP D538、MATLAB、WIT2.3 实验原理K均值聚类法分为如下几个步骤:一、 初始化聚类中心1、 根据具体问题,凭经验从样本集中选出C个比较合适的样本作为初始聚类中心。2、 用前C个样本作为初始聚类中心。3、 将全部样本随机地分成C类,计算每类的样本均值,将样本均值作为初始聚类中心。二、 初始聚类1、 按就近原则将样本归入各聚类中心所代表的类中。2、 取一样本,将其归入与其最近的聚类中心的那一类中,重新计算样本均值,更新聚类中心。然后取下一样本,重复操作,直至所有样本归入相应类中。三、 判断聚类是否合理采用误差平方和准则函数判断聚类是否合理,不合理则修改分类。循环进行判断、修改直至达到算法终止条件。2.4 实验步骤及程序实验步骤:1、读取原始图像,确定四个初始聚类中心。2、计算各点与聚类中心的距离,以及各点到不同聚类中心的距离之差,选取距离最近的聚类中心作为该点的聚类中心,依据此原理将属于不同聚类中心的元素聚类。3、求各类的平均值作为新的聚类中心,检验是否满足精度条件。4、输出的四个聚类中心值,将图像分成四类输出。开始读取原始图像,确定四个初始聚类中心计算各点与聚类中心的距离,以及各点到不同聚类中心的距离之差,选取距离最近的聚类中心作为该点的聚类中心,据此原理将属于不同聚类中心的元素聚类将各类的平均值作为新的聚类中心满足误差条件?新的聚类中心即为最终结果NY结束图2.4.1 实验程序流程图实验程序:clccleartic% A=imread(peppers.jpg);A=imread(N: 模式识别实验资料实验图片peppers.bmp);figure,imshow(A)figure,imhist(A)A=double(A);for i=1:200 c1(1)=25; c2(1)=75; c3(1)=120; c4(1)=200; r=abs(A-c1(i); g=abs(A-c2(i); b=abs(A-c3(i); y=abs(A-c4(i); r_g=r-g; g_b=g-b; r_b=r-b; b_y=b-y; r_y=r-y;g_y=g-y;n_r=find(r_g=0&r_b=0&r_y0&g_b=0&g_y0&r_b0&b_y0&g_y0&b_y0); i=i+1; c1(i)=sum(A(n_r)/length(n_r); c2(i)=sum(A(n_g)/length(n_g); c3(i)=sum(A(n_b)/length(n_b); c4(i)=sum(A(n_y)/length(n_y); d1(i)=sqrt(abs(c1(i)-c1(i-1); d2(i)=sqrt(abs(c2(i)-c2(i-1); d3(i)=sqrt(abs(c3(i)-c3(i-1); d4(i)=sqrt(abs(c4(i)-c4(i-1); if d1(i)=0.001&d2(i)=0.001&d3(i)=0.001&d4(i)=0.001 R=c1(i); G=c2(i); B=c3(i); Y=c4(i); k=i; break; endendRGBYA=uint8(A);A(find(A(R+G)/2&A(G+B)/2&A(B+Y)/2)=255;tocfigure,imshow(A)figure,imhist(A)2.5 实验结果与分析 使用MATLAB所得结果:聚类类别数为4类,聚类中心 R = 19.0109,G =66.1286,B = 132.6709,Y =175.5442,迭代次数 9次、运行时间0.323323s。 图2.5.1 原始图像 图2.5.2 原始图像的灰度直方图 图2.5.3 聚类后的图像 图2.5.4 聚类后的灰度直方图使用witDemo所得结果:聚类类别数为4类,聚类中心 R = 17.9247,G =64.4222,B = 127.926,Y =172.09,迭代次数 7次、运行时间27.265ms。 图2.5.5 witDemo运行界面图图2.5.6 原始图像图2.5.7 原始图像的灰度直方图图2.5.8 聚类后的图像图2.5.9 运行次数和时间结果图2.5.10 聚类中心实验分析: 初始的聚类中心的不同,对聚类的结果没有很大的影响,但是对迭代次数有明显的影响。数据输入顺序的不同也是影响迭代次数的,但是对最后的聚类结果没有太大的影响。witDemo中迭代次数是实验者设定的,而MATLAB中则是根据精度要求自动完成迭代的。实验3 神经网络模式识别3.1 实验目的掌握利用感知器和BP网进行模式识别的基本方法,通过实验加深对基本概念的理解。3.2 实验仪器与设备HP D538、MATLAB3.3 实验原理一、设计线性可分实验线性分类器原理见教材。设计线性分类器对线性可分样本集进行分类,样本数目10个以上,训练及分类步骤齐全,记录分类器训练的迭代次数和训练时间。二、奇异样本对网络训练的影响奇异样本:该样本向量同其他样本向量比较起来特别大或特别小时,网络训练所花费的时间将很长。设计实验考察奇异样本对感知机训练的影响,比较有无奇异点时的训练时间及迭代次数,设计解决此问题的方案并实验验证。三、分类线性不可分样本利用线性分类器对线性不可分样本进行分类,考察训练时间及迭代次数。利用BP网对该样本集进行分类,考察训练时间及迭代次数并作对比。3.4 实验步骤及程序实验步骤:感知器实验:1、设计线性可分实验,要求训练样本10个以上 2、奇异样本对网络训练的影响 3、以线性不可分样本集训练分类器BP网实验:利用BP网对上述线性不可分样本集进行分类线性可分实验程序:tic;P=-5 -7 -4 -1 0 -5 4 2 -4 -2 1 4 4 3 1 -2;0 -5 4 2 -4 1 4 1 -1 -3 -1 7 -2 -3 5 -5;T=1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0;figure,plotpv(P,T);net=newp(minmax(P),1);linehandle=plotpc(net.IW1,net.b1);E=1;n=0;while(sse(E) net,y,E=adapt(net,P,T); n=n+1; perf(n)=sse(E); linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;endtocdisp(strcat(迭代次数 ,num2str(n);figure,plot(perf);奇异样本对网络训练的影响实验程序:tic;P=-5 -9 -4 -1 0 -5 11 2 -1 -2 1 7 4 3 1 -2;0 -20 8 2 -4 1 4 1 -1 -3 -1 7 -2 -3 5 -5;T=1 0 1 0 0 1 1 0 1 0 0 1 1 1 1 0;figure,plotpv(P,T);net=newp(minmax(P),1);linehandle=plotpc(net.IW1,net.b1);E=1;n=0;while(sse(E) net,y,E=adapt(net,P,T); n=n+1; perf(n)=sse(E); linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;endtocdisp(strcat(迭代次数,num2str(n);figure,plot(perf);以线性不可分样本集训练分类器实验程序:tic;P=-5 -3 -4 -1 0 -5 4 2 2 -2 1 4 -2 3 1 -2;0 12 4 2 -4 1 4 -8 -1 -3 -1 7 -2 -3 5 9;T=1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0;figure,plotpv(P,T);net=newp(minmax(P),1);linehandle=plotpc(net.IW1,net.b1);E=1;n=0;while(sse(E) net,y,E=adapt(net,P,T); n=n+1; perf(n)=sse(E); linehandle=plotpc(net.IW1,net.b1,linehandle);drawnow;endtocdisp(strcat(迭代次数,num2str(n);figure,plot(perf);BP网实验程序clear;tic;P=-5 -3 -4 -1 0 -5 4 2 2 -2 1 4 -2 3 1 -2;0 12 4 2 -4 1 4 -8 -1 -3 -1 7 -2 -3 5 9;T=1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0;figure,plotpv(P,T);net=newff(minmax(P),5,5,1,tansig,purelin,logsig,trainlm);inputWeights=net.IW1,1;inputbias=net.b1;layerWeights=net.LW2,1;layerbias=net.b2;net.trainParam.show=300;net.trainParam.lr=0.05;net.trainParam.mc=0.9;net.trainParam.epochs=1000;net.trainParam.goal=1e-4;ticnet,tr=train(net,P,T);tocA=sim(net,P);E=T-A;MSE=mse(E);3.5 实验结果与分析 线性可分实验:迭代次数为3次,训练时间6.700444s。 图3.5.1 样本分布图a 图3.5.2 样本分布图b实验结果分析:由输入矢量建立感知器网络,通过经过网络训练得到的结果矢量与目标矢量做差,得到的误差,对其平方求和与0比较,如不为0,则继续经过adpat算放训练建立的感知器网络,知道它能够将输入的样本集分开,并且得到的结果与目标矢量一致。此时感知器网络的阈值是一定的。奇异样本对网络训练的影响实验图3.5.3 样本分布图以线性不可分样本集训练分类器实验图3.5.4 样本分布图BP网实验:利用BP网对上述线性不可分样本集进行分类图3.5.5 样本分布图图3.5.6 样本平均方差图实验分析:通过此实验加深理解了BP神经网络的结构和原理,了解了线性可分实验、奇异样本对网络训练的影响以及分类线性不可分样本,巩固了理论知识。参考教材1 边肇祺,张学工模式识别清华大学出版社,20002 董长虹Matlab神经网络与应用国防工业出版社,20053 冈萨雷斯数字图像处理(第二版)电子工业出版社,20054 徐飞,施晓红MATLAB应用图像处理西安电子科技大学出版社,2002
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!