基于多分类支持向量机的图像分割数据分析报告_第1页
基于多分类支持向量机的图像分割数据分析报告_第2页
基于多分类支持向量机的图像分割数据分析报告_第3页
基于多分类支持向量机的图像分割数据分析报告_第4页
基于多分类支持向量机的图像分割数据分析报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于多分类支持向量机的图像分割数据分析汇报1数据集来源及理解这里的数据集来源于麻省大学的一种视觉小组,并由由其中的CarlaBrodley奉献给UCI数据集。用于训练的实例源于一种包具有7个户外图像的数据库的随机采样成果,这些图像中的各个部分已被手工分类,从而可以创立一种分类器来给其他图像的不一样区域进行分类。每一种样本实例都由原始图像上某个取样点所在的3x3邻域的RGB值获得,并根据一系列的分析,可得到如下属性:中心点横坐标(region-centroid-col):取样中心点所在的图像的横坐标;中心点纵坐标(region-centroid-row):取样中心点所在的图像的纵坐标;每个样本所含点的数量(region-pixel-count):为9;低密集度计数(short-line-density-5)指在通过这个区域的在任意方向上的,长度为5的线段当中,有多少条对比度大小要低于或等于5;高密集度计数(short-line-density-2)指在通过这个区域的在任意方向上的,长度为5的线段当中,有多少条对比度大小要高于5;横向像素差值的平均(vedge-mean):指在3x3的样本中,所有的左右相邻的两像素亮度之差的绝对值(共有6个)的平均数;横向像素差值的原则差(vedge-sd):上述像素差值的原则差;纵向像素差值的平均(hedge-mean):指在3x3的样本中,所有的上下相邻的两像素亮度之差的绝对值(共有6个)的平均数;纵向像素差值的原则差(hedge-sd):上述像素差值的原则差;整体亮度的平均数(intensity-mean):亮度按(R+G+B)/3计算(上同),再根据9个点的这些亮度取平均数红分量平均(rawred-mean):整个样本区域的红分量的平均值蓝分量平均(rawblue-mean):整个样本区域的绿分量的平均值绿分量平均(rawgreen-mean):整个样本区域的lan分量的平均值红色超过量(exred-mean):测量红色多于其他颜色分量的程度,按(2R-(G+B))的公式计算蓝色超过量(exblue-mean):测量蓝色多于其他颜色分量的程度,按(2B-(G+R))(的公式计算绿色超过量(exgreen-mean):测量绿色多于其他颜色分量的程度,按(2G-(R+B))的公式计算HSV空间中的V值平均(value-mean):从RGB到HSV颜色空间的转换是一种三维的非线性转换,这个算法可以在交互式计算机图形学基础教材《FoleyandVanDam》中找到。HSV空间中的S值平均(satue-mean)HSV空间中的H值平均(hue-mean)此外,在这个数据集当中,一种图像的各个部分被提成了7种类别,包括了砖块表面(BRICKFACE),天空(SKY),树叶(FOLIAGE),水泥(CEMENT),窗户(WINDOW),小路(PATH),以及草地(GRASS)。在这些数据集当中,每个类别均提供了30个训练数据和300个测试数据,这两个数据集分别按csv(逗号分隔)的格式储存在segmentation.data和segmentation.test中,此外尚有一种文献s储存了这个数据集的阐明。2措施与思绪2.1措施理解与简介LIBSVM是台湾大学林智仁(LinChih-Jen)副专家等开发设计的一种简朴、易用和迅速有效的SVM模式识别与回归的软件包,不仅提供了编译好的可在Windows系列系统的执行文献,并且提供了源代码,以便改善、修改以及在其他操作系统上应用;该软件对SVM所波及的参数调整相对比较少,提供了诸多的默认参数,并提供了交互检查(CrossValidation)的功能。运用这些参数和功能可以处理诸多有关分类与回归的问题,包括C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,也包括了包括基于一对一算法的多类模式识别的问题。LIBSVM使用的一般环节是:1)准备训练的数据集,包括每个样本的维数l,每个样本的属性集x,以及每个样本的对应分类编号y;2)对数据进行简朴的缩放和平移操作来实现数据的归一化;3)考虑选用核函数,包括线性核,RGF核,多项式核,sigmoid核等;4)采用交叉验证选择最佳损失参数C与最合适的gamma系数;5)采用最佳参数C与gamma系数对整个训练集进行训练获取支持向量机模型;6)运用获取的模型进行测试。LibSVM是以源代码和可执行文献两种方式给出的。假如是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译。使用软件包提供的程序时,该软件使用的训练数据和检查数据文献格式如下:<label><index1>:<value1><index2>:<value2>...其中<label>是训练数据集的目的值,对于分类,它是标识某类的整数(支持多种类);对于回归,是任意实数。<index>是以1开始的整数,可以是不持续的;<value>;为实数,也就是我们常说的自变量。检查数据文献中的label只用于计算精确度或误差,假如它是未知的,只需用一种数填写这一栏,也可以空着不填。使用源代码进行编译时,对于用于训练的数据集,需要按如下的格式进行填写:用于训练的数据集被定义为structsvm_problem{ intl; double*y; structsvm_node**x;};其中l表达样本的数量,y表达每个样本对应的分类ID值的集合,x代表每个样本每个维的属性集合的索引(每个样本首个节点的内存地址),而这个属性集合需要额外创立,令维数为n,则这个属性的集合的长度为l*(n+1)。对于用来测试的数据集,需要一种长度为(n+1)的structsvm_node数组,这里的svm_node被定义为:structsvm_node{ intindex; doublevalue;};其中的value表达的是节点的值,index表达目前样本的属性节点的编号(从1开始,单调递增),每个样本的节点在每个维均赋值完毕后,需要紧接着额外地加入一种index值为-1,value可以不设置的节点。这也是每个维度为n的样本的属性需要定义(n+1)个节点的原因。对于训练的参数而言,在structsvm_parameter的定义中,kernel_type(核函数类型),gamma(RBF核的gamma系数),和c(损失系数),是常常要设置的参数,其他的参照照svm-toy.cpp中给出的默认值进行赋值即可。kernel_type的属性一览表:0–线性:u'v1–多项式:(r*u'v+coef0)^degree2–RBF函数:exp(-r|u-v|^2)3–sigmoid:tanh(r*u'v+coef0)svm_type的属性一览表:0--C-SVC1--v-SVC2–一类SVM3--e-SVR4--v-SVR本程序用的是C-SVC2.2详细分析措施和流程程序运行的流程图如下图所示:在训练数据集当中可以看出(参见转换格式后的电子表格文档segmentation.data.xls),训练的数据里的B、C两列为取样区域中心点的坐标,不能作为训练的列来使用,D列(REGION-PIXEL-COUNT)恒为9,E(SHORT-LINE-DENSITY-5)和F(SHORT-LINE-DENSITY-2)列中的非零数的个数很少,也不能用于训练分类器。因此,只能用之后的最多为14个列作为分类器来使用,为了测试以便,可以让测试者自己在这14个列当中选择合适地列进行训练。如下图所示:图上的上半部分的14个复选框可用于设置哪些类可以参与训练,下半部分可以设置Gamma值与损失系数c,右方两个的复选框用来设置与否使用RBF核(否则用线性核),以及与否对数据进行按最大值和最小值进行归一化处理。在segmentation.data.xls中,G-R列的最大值都没有超过151,而目前的rgb值一般取0-255。为了量化的统一,需要在读取到原始数据数组rawData时将这12个列乘以系数(256.0/151.0),否则不能用于完整的户外图像的测试操作。此外,第一列需要改写成类别的ID,这里按出现次序分别赋了1-7这几种整数,其他的列按原样写到rawData中。随即需要根据每列的最大值和最小值进行进行对rawData的归一化,由于归一化的运算属于线性运算,为此可以此外定义一种数组columnScale,长度为segmentation.data.xls的列数的两倍,用来储存其中每列的的缩放系数和平移系数,在构建svm属性的svm_note数据集时再进行这项运算。归一化的代码如下://获得归一化数据 intprobRowCount=rawData.GetSize()/20; doubleminValue=0.0; doublemaxValue=0.0; for(i=0;i<20;i++){ if(!willCalculateColumns[i]){ continue; } if(!willScale){ columnScale[2*i]=1.0; columnScale[2*i]=0.0; continue; } minValue=rawData[i]; maxValue=rawData[i]; for(j=1;j<probRowCount;j++){ if(minValue>rawData[j*20+i]){ minValue=rawData[j*20+i]; } if(maxValue<rawData[j*20+i]){ maxValue=rawData[j*20+i]; } } if(minValue!=maxValue){ columnScale[2*i]=1.0/(maxValue-minValue); columnScale[2*i+1]=-minValue*columnScale[2*i]; }else{ columnScale[2*i]=0.0; columnScale[2*i+1]=0.5; } }进行测试时,也同步需要归一化的数据,并且每列的线性运算必须相似。为此,可以先定义一种原始的数组vx,长度为segmentation.data.xls的列数,然后再在写入svm_node节点时进行归一化操作,将vx用来测试的代码如下:voidCTest1View::predict(double(&vx)[20]){ //从向量开始算出预测值 if(model==NULL){ return; } intprobColumnCount=0;//svm训练数据集的维数 inti=0,j=0; for(i=1;i<20;i++){ if(willCalculateColumns[i]){ probColumnCount++; } } structsvm_node*nx=newstructsvm_node[probColumnCount+1];//筛选过的向量 j=0; for(i=1;i<20&&j<probColumnCount;i++){ if(willCalculateColumns[i]){ nx[j].index=j+1; nx[j].value=columnScale[2*i]*vx[i]+columnScale[2*i+1]; j++; } } nx[j].index=-1; //nx[j].value=0; doublepredictValue=svm_predict(model,nx); vx[0]=predictValue; delete[]nx;}对于完整的真彩色bmp图片,在计算的过程中,需要从非边缘中的所有点的3x3邻域内进行多种属性的运算,详细代码在segment函数中,输出的成果按不一样的颜色显示在第二张图中。3试验及分析3.1试验环境3.1.1硬件环境 电脑型号:戴尔InspironN4050笔记本电脑处理器:英特尔第二代酷睿i3-2350M@2.30GHz双核主板:戴尔02JCHC(英特尔HM67芯片组)内存:4GB(三星DDR31333MHz/昱联DDR31333MHz)主硬盘:西数WDCWD10JPVX-75JC3T0(1TB/5400转/分)显卡:英特尔HDGraphicsFamily(1809MB/戴尔)显示屏:友达AUO183C(14英寸)光驱:东芝-三星DVD+-RWSN-208BBDVD刻录机声卡:IDT@英特尔6SeriesChipset高保真音频网卡:瑞昱RTL8105EFamilyPCI-EFENIC/戴尔3.1.2软件环境操作系统:Windows7旗舰版64位SP1(DirectX11)libSVM版本:libSVM3.1.7开发工具:MsVisualC++6.0简体中文企业版开发工具版权:1994-98MicrosoftCorporation开发工具汉化者:swordxy(辛玉强),WuZuWu(吴祖武)3.2试验成果与分析3.2.1软件的使用措施打开程序目录test1下的debug或release文献夹,在这个文献夹中,test1.exe是程序的主文献。exe所在目录下segmentation.data按csv(逗号分隔)的格式储存了训练数据,segmentation.test也按csv的格式储存了测试数据,此外的s储存了这个数据集的阐明。运行test1.exe,先点击文献菜单下的“训练样本”项,在对话框的上方选择需要训练的属性,下方设置的选项包括了gamma值和损失系数c,尚有核函数是线性核还是RBF核,以及与否进行原始数据的归一化。点击“确定”按钮后会生成modelresult.txt来输出训练的模型。然后点击文献菜单下的“测试成果”项,根据segmentation.test进行测试,判断程序预测的成果与否与segmentation.test中的成果一致,并弹出对应对话框显示对的率,详细的运行成果保留到了segmentation.out文献中,用来依次显示预测的成果。点击文献菜单下的“打开图片”项可以进行实际的bmp图像分割,注意图像不能太大。第一张图为原图,预测的成果按不一样的颜色显示在第二张图中,详细的颜色图例为:红:砖;靛蓝:天空;绿:树叶;灰:水泥;蓝:窗户;紫:小路;黄:草地。再次点击文献菜单下的“训练样本”命令可以重新对分类器进行训练,从而可以获得不一样的预测值。3.2.2测试数据集的测试成果分析如下图所展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论