版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于(jy)多分类(fn li)支持向量机的图像(t xin)分割数据分析报告1 数据集来源及理解这里的数据集来源于麻省大学的一个视觉小组,并由由其中的Carla Brodley贡献给UCI数据集。用于训练的实例源于一个包含有7个户外图像的数据库的随机采样结果,这些图像中的各个部分已被手工分类,从而可以创建一个分类器来给其他图像的不同区域进行分类。每一个样本实例都由原始图像上某个取样点所在的3x3邻域的RGB值获得,并根据一系列的分析,可得到以下属性:中心点横坐标(region-centroid-col):取样中心点所在的图像的横坐标;中心点纵坐标(region-centroid-row):取
2、样中心点所在的图像的纵坐标;每个样本所含点的数量(region-pixel-count):为9;低密集度计数(short-line-density-5)指在通过这个区域的在任意方向上的,长度为5的线段当中,有多少条对比度大小要低于或等于5;高密集度计数(short-line-density-2)指在通过这个区域的在任意方向上的,长度为5的线段当中,有多少条对比度大小要高于5;横向像素差值的平均(vedge-mean):指在3x3的样本中,所有的左右相邻的两像素亮度之差的绝对值(共有6个)的平均数;横向像素差值的标准差(vedge-sd):上述像素差值的标准差;纵向像素差值的平均(hedge-m
3、ean):指在3x3的样本中,所有的上下相邻的两像素亮度之差的绝对值(共有6个)的平均数;纵向像素差值的标准差(hedge-sd):上述像素差值的标准差;整体亮度的平均数(intensity-mean):亮度按(R + G + B)/3计算(上同),再根据9个点的这些亮度取平均数红分量平均(rawred-mean):整个样本区域的红分量的平均值蓝分量平均(rawblue-mean):整个样本区域的绿分量的平均值绿分量平均(rawgreen-mean):整个样本区域的lan分量的平均值红色超出量(exred-mean):测量红色多于其他颜色分量的程度,按(2R - (G + B)的公式计算蓝色超
4、出量(exblue-mean):测量蓝色多于其他颜色分量的程度,按(2B - (G + R)(的公式计算绿色超出量(exgreen-mean):测量绿色多于其他颜色分量的程度,按(2G - (R + B)的公式计算HSV空间中的V值平均(value-mean):从RGB到HSV颜色(yns)空间的转换是一种三维的非线性转换,这个算法可以在交互式计算机图形学基础教材Foley and VanDam中找到。HSV空间(kngjin)中的S值平均(satue-mean)HSV空间(kngjin)中的H值平均(hue-mean)此外,在这个数据集当中,一个图像的各个部分被分成了7种类别,包括了砖块表面
5、(BRICKFACE),天空(SKY),树叶(FOLIAGE),水泥(CEMENT),窗户(WINDOW),小路(PATH),以及草地(GRASS)。在这些数据集当中,每个类别均提供了30个训练数据和300个测试数据,这两个数据集分别按csv(逗号分隔)的格式储存在segmentation.data和segmentation.test中,另外还有一个文件s储存了这个数据集的说明。2 方法与思路2.1 方法理解与简介LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易用和快速有效的SVM模式识别与回归的软件包,不但提供了编译好的
6、可在Windows系列系统的执行文件,而且提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,并提供了交互检验(Cross Validation)的功能。利用这些参数和功能可以解决很多有关分类与回归的问题,包括C-SVM、-SVM、-SVR和-SVR等问题,也包括了包括基于一对一算法的多类模式识别的问题。LIBSVM 使用的一般步骤是:1) 准备训练的数据集,包括每个样本的维数l,每个样本的属性集x,以及每个样本的对应分类编号y;2) 对数据进行简单的缩放和平移操作来实现数据的归一化;3) 考虑选用核函数,包括线性核,RGF核,
7、多项式核,sigmoid核等;4) 采用交叉验证选择最佳损失参数C与最合适的gamma系数 ;5) 采用最佳参数C与gamma系数 对整个训练集进行训练获取支持向量机模型;6) 利用获取的模型进行测试。LibSVM是以源代码和可执行文件两种方式给出的。如果是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译。使用软件包提供的程序时,该软件使用的训练数据和检验数据文件格式如下: : : .其中 是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。 是以1开始的整数,可以是不连续的;为实数,也就是我们常说的自变量。检验数据文件中的lab
8、el只用于计算准确度或误差,如果它是未知的,只需用一个数填写这一栏,也可以空着不填。使用源代码进行编译时,对于用于训练的数据集,需要(xyo)按以下的格式进行填写:用于训练(xnlin)的数据集被定义为struct svm_problemint l;double *y;struct svm_node *x;其中l表示样本的数量,y表示每个样本对应的分类ID值的集合,x代表每个样本每个维的属性集合的索引(每个样本首个节点(ji din)的内存地址),而这个属性集合需要额外创建,令维数为n,则这个属性的集合的长度为l*(n+1)。对于用来测试的数据集,需要一个长度为(n+1)的struct svm
9、_node数组,这里的svm_node被定义为:struct svm_nodeint index;double value;其中的value表示的是节点的值,index表示当前样本的属性节点的编号(从1开始,单调递增),每个样本的节点在每个维均赋值完成后,需要紧接着额外地加入一个index值为-1,value可以不设置的节点。这也是每个维度为n的样本的属性需要定义(n+1)个节点的原因。对于训练的参数而言,在struct svm_parameter的定义中,kernel_type(核函数类型),gamma(RBF核的gamma系数),和c(损失系数),是经常要设置的参数,其他的参照照svm-t
10、oy.cpp中给出的默认值进行赋值即可。kernel_type的属性一览表:0 线性:uv1 多项式:(r*uv + coef0)degree2 RBF函数:exp(-r|u-v|2)3 sigmoid:tanh(r*uv + coef0)svm_type的属性一览表:0 - C-SVC1 -v-SVC2 一类(y li)SVM3 - e -SVR4 - v-SVR本程序(chngx)用的是C-SVC2.2 具体分析方法(fngf)和流程程序运行的流程图如下图所示:在训练数据集当中(dngzhng)可以看出(参见转换格式后的电子表格文档segmentation.data. xls),训练(xn
11、lin)的数据里的B、C两列为取样区域中心点的坐标,不能作为训练的列来使用,D列(REGION-PIXEL-COUNT)恒为9,E(SHORT-LINE-DENSITY-5)和F(SHORT-LINE-DENSITY-2)列中的非零数的个数很少,也不能用于训练分类器。因此,只能用之后的最多为14个列作为分类器来使用,为了测试方便,可以让测试者自己在这14个列当中(dngzhng)选择适当地列进行训练。如下图所示:图上的上半部分的14个复选框可用于设置哪些类可以参与训练,下半部分可以设置Gamma值与损失系数c,右方两个的复选框用来设置是否使用RBF核(否则用线性核),以及是否对数据进行按最大值
12、和最小值进行归一化处理。在segmentation.data.xls中,G-R列的最大值都没有超过151,而现在的rgb值通常取0-255。为了量化的统一,需要在读取到原始数据数组rawData时将这12个列乘以系数(256.0/151.0),否则不能用于完整的户外图像的测试操作。另外,第一列需要改写成类别的ID,这里按出现顺序分别赋了1-7这几个整数,其余的列按原样写到rawData中。随后需要根据每列的最大值和最小值进行进行对rawData的归一化,由于归一化的运算属于线性运算,为此可以另外定义一个数组columnScale,长度为segmentation.data. xls的列数的两倍,
13、用来储存其中每列的的缩放系数和平移系数,在构建svm属性的svm_note数据集时再进行这项运算。归一化的代码(di m)如下:/获得(hud)归一化数据int probRowCount=rawData.GetSize()/20;double minValue=0.0;double maxValue=0.0;for(i=0;i20;i+)if(!willCalculateColumnsi)continue;if(!willScale)columnScale2*i=1.0;columnScale2*i=0.0;continue;minValue=rawDatai;maxValue=rawData
14、i;for(j=1;jrawDataj*20+i)minValue=rawDataj*20+i;if(maxValuerawDataj*20+i)maxValue=rawDataj*20+i;if(minValue!=maxValue)columnScale2*i=1.0/(maxValue-minValue);columnScale2*i+1=-minValue*columnScale2*i;elsecolumnScale2*i=0.0;columnScale2*i+1=0.5;进行(jnxng)测试时,也同时需要归一化的数据,而且每列的线性运算必须相同。为此,可以先定义一个原始的数组vx,
15、长度为segmentation.data. xls的列数,然后再在写入svm_node节点时进行归一化操作,将vx用来测试的代码如下:void CTest1View:predict(double (&vx)20)/从向量开始算出预测值if(model=NULL)return;int probColumnCount=0;/svm训练数据集的维数int i=0,j=0;for(i=1;i20;i+)if(willCalculateColumnsi)probColumnCount+;struct svm_node *nx=new struct svm_nodeprobColumnCount+1;/筛
16、选(shixun)过的向量j=0;for(i=1;i20 & jprobColumnCount;i+)if(willCalculateColumnsi)nxj.index=j+1;nxj.value=columnScale2*i*vxi+columnScale2*i+1;j+;nxj.index=-1;/nxj.value=0;double predictValue=svm_predict(model,nx);vx0=predictValue;delete nx;对于完整的真彩色bmp图片,在计算的过程中,需要从非边缘中的所有(suyu)点的3x3邻域内进行各种属性的运算,具体代码在segme
17、nt函数中,输出的结果按不同的颜色显示在第二张图中。3 实验(shyn)及分析3.1 实验环境3.1.1 硬件环境电脑型号:戴尔 Inspiron N4050 笔记本电脑处理器:英特尔 第二代酷睿 i3-2350M 2.30GHz 双核主板:戴尔 02JCHC (英特尔 HM67 芯片组)内存:4 GB ( 三星 DDR3 1333MHz / 昱联 DDR3 1333MHz )主硬盘:西数 WDC WD10JPVX-75JC3T0 ( 1 TB / 5400 转/分 )显卡:英特尔 HD Graphics Family ( 1809 MB / 戴尔 )显示器:友达 AUO183C ( 14 英
18、寸 )光驱:东芝-三星 DVD+-RW SN-208BB DVD刻录机声卡:IDT 英特尔 6 Series Chipset 高保真音频网卡:瑞昱 RTL8105E Family PCI-E FE NIC / 戴尔3.1.2 软件(run jin)环境操作系统(co zu x tn):Windows 7 旗舰版 64位 SP1 ( DirectX 11 )libSVM版本(bnbn):libSVM 3.1.7开发工具:Ms Visual C+ 6.0简体中文企业版开发工具版权:1994-98 Microsoft Corporation开发工具汉化者:swordxy(辛玉强),WuZuWu(吴祖
19、武)3.2 实验结果与分析3.2.1 软件的使用方法打开程序目录test1下的debug或release文件夹,在这个文件夹中,test1.exe是程序的主文件。exe所在目录下segmentation.data按csv(逗号分隔)的格式储存了训练数据,segmentation.test也按csv的格式储存了测试数据,另外的s储存了这个数据集的说明。运行test1.exe,先点击文件菜单下的“训练样本”项,在对话框的上方选择需要训练的属性,下方设置的选项包括了gamma值和损失系数c,还有核函数是线性核还是RBF核,以及是否进行原始数据的归一化。点击“确定”按
20、钮后会生成model result.txt来输出训练的模型。然后点击文件菜单下的“测试结果”项,根据segmentation.test进行测试,判断程序预测的结果是否与segmentation.test中的结果一致,并弹出相应对话框显示正确率,详细的运行结果保存到了segmentation.out文件中,用来依次显示预测的结果。点击文件菜单下的“打开图片”项可以进行实际的bmp图像分割,注意图像不能太大。第一张图为原图,预测的结果按不同的颜色显示在第二张图中,具体的颜色图例为:红:砖;靛蓝:天空;绿:树叶;灰:水泥;蓝:窗户;紫:小路;黄:草地。再次点击文件菜单下的“训练样本”命令可以重新对分类器进行训练,从而可以获得不同的预测值。3.2.2 测试数据集的测试结果分析如下图所展示,默认选择这些列和参数进行分类器的训练。训练结果(ji gu):默认设置,相符1531个,不相符569个,相符率为72.90%。gamma值为5时,相符(xingf)1747个,不相符353个,相符率为83.19%。gamma值为100时,相符(xingf)1819个,不相符281个,相符率为86.62%。ga
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年修订:机器设备抵押合同范本3篇
- 银行员工年度个人工作总结
- 2024年购置住宅合同:商品房买卖具体规定2篇
- 计算机软件项目开发与实施合同
- 设备回购协议格式
- 设计软件著作权测试版
- 语文味如何融入课堂
- 质保书品质住宅
- 购买回收服务合同
- 购物安全天猫商家保证
- 小学2024年秋季学生1530安全教育记录表(全学期)
- 道 法+在劳动中创造人生价值 课件-2024-2025学年统编版道德与法治七年级上册
- 实验室安全教育课件
- 大学生职业生涯规划小学英语教育
- 《树立正确的“三观”》班会课件
- 2024年上海奉贤投资(集团)限公司招聘3人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 《中国溃疡性结肠炎诊治指南(2023年)》解读
- 《正确评估肾功能》课件
- RB/T 089-2022绿色供应链管理体系要求及使用指南
- 抽动症(精)PPT课件
- 叩背排痰操作流程及评分标准
评论
0/150
提交评论