数字图像处理课程设计(共16页).doc

上传人:飞****2 文档编号:14051887 上传时间:2022-05-02 格式:DOC 页数:16 大小:452KB
返回 下载 相关 举报
数字图像处理课程设计(共16页).doc_第1页
第1页 / 共16页
数字图像处理课程设计(共16页).doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《数字图像处理课程设计(共16页).doc》由会员分享,可在线阅读,更多相关《数字图像处理课程设计(共16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上摘 要图像是信息的一种重要来源,对数字图像的处理已经成为国内外研究的一项重点。图像分割作为图像处理中的重要环节,已经引起大量研究者的关注。由于图像分割无统一的分割标准,传统的图像分割仅适用于特定的应用。而利用支持向量机算法进行图像分割,可以利用图像的多种特征,理论应该能够得到比较的分割效果。本文首先对传统的图像分割方法进行研究,并利用Matlab实现了图像分割算法,对分割的结果进行分析和比较。然后将图像分割看做像素分类,将支持向量机用于图像的分割,包括样本的选择、特征的提取,训练支持向量机,最终实现了基于支持向量机的图像分割算法,结果表明,支持向量机能够很好的将图像目

2、标从源图像中分割出来。 关键词:图像分割;支持向量机;样本选择;特征提取专心-专注-专业1 支持向量机与图像分割的关系对一幅图像而言,像素是基本组成,从图像分割定义来说,对图像的分割实际就是对像素进行分类,SVM就是通过对每一个像素进行分类来完成图像分割的,根据支持向量机原理,样本特征到最优分类面的距离大于零为+1类,样本特征到最优面的距离小于零为-1类,因此它是一种全局门限分割方法,全局门限T=0,只是这时的图像由图像是由图像的多种特征组成的SVM的图像12。支持向量机是一种有监督的分类方法,因此实现基于支持向量机图像分割就是要完成训练样本的选择、特征提取、核函数及其参数确定。首先分别选择代

3、表两类的像素作为训练样本,提取两类的特征,作为支持向量机的输入:然后选取合适的核函数及其参数,训练分类器。获得支持向量模型:最后提取测试样本特征,产生待分类样本集,用支持向量机进行分类,将像素点归入所属类,从而完成图像分割。2 基于支持向量机在图像分割算法设计传统图像的分割方法,大多是基于图像的部分特征来进行分割的。因此,目前尚未有对所有的图像都有合适的方法。而分类的算法是一种重要的图像分割方法。本章主要介绍如何使用支持向量机,来对图像进行分割。基于支持向量机的图像分割,主要有三个问题:样本的选择、特征的提取、核函数及其参数确定。本文采用SVM-1.5工具箱,针对这三个问题进行讨论。 2.1

4、算法设计及流程此处进入SVM的训练阶段,一般来说,SVM的训练分为5个阶段,分别为:输入训练样本。训练样本选择、提取训练样本、确定核函数及其参数和训练样本。根据结果是否理想,来决定是否调整参数,重新进行训练。整个过程如图3-2-1:训练样本选择特征提取确定核函数参数训练样本图像分割是开始结束 图3-2-1 基于支持向量机分割流程图 首先对训练样本进行选择,选定对训练样本采用33区域的灰度值、均值和方差作为基本特征,然后确定利用高斯核函数为本次设计的函数,最后训练样本,对图像进行分割,最终得到分割图像。2.2 样本选择根据对支持向量机图像分割研究,选取尺度为 256256的大米粒图像作为分割样本

5、,图4-2为分割样本图。之所以选择此图,在于大多基于支持向量机的图像分割都在此样本图像上进行,便于进行分割方法的比较13。支持向量机是一种有监督的分类方法,需要预先确定训练样本分类,训练样本的正确与否决定了支持向量机分类的效果。本文通过两种方式训练样本,手动选择训练样本和自动选择训练样本。(1)手动选择训练样本:对于未知样本分类的情况下,样本选择最直接的方法就是手动选择训练样本,通过人为的判断目标和背景区域,随即选择目标和背景的样本点。本文尝试采用随机选点和随机选择区域两种方式。随机选点方式点与点之间没有固定的位置关系,利用手动选点方式来选择训练样本,需浪费大量的时间和精力,因此尝试采用手动选

6、择区域和方式来选择训练样本,可以减少重复选点的麻烦,可以减少重复选点的麻烦。随即选择样本区域,点与点之间在空间上是连通的。(2)自动选择训练样本:为了克服手动选择样本的盲目性,本文引入模糊C均值聚类的方法来选择训练样本。常用的均值聚类方法有硬C均值聚类的算法和模糊C均值聚类的方式来选择训练样本14,对于图像分类来说,两者的不同在于像素对聚类子集的隶属关系即隶属度函数不同。在硬C均值聚类中,样本像素和聚类子集的隶属度函数为: (3-2-1)即样本是绝对的非此即彼的属于某一类。对于模糊C均值来说,样本对子集的隶属度函数不是定值,而是0,1之间的一个数。它表明样本对某一类的相似程度,隶属度越大,表明

7、跟某一类越相似。相比硬C均值聚类来说,模糊C均值聚类更符合图像分割的特点。模糊C均值聚类算法是通过最小化以下的目标函数: (3-2-2)来实现同性质像素聚类的。目标函数越小,表明同类间像素的相似性越大。C为聚类数目,n为样本数,m1,+为加权指数,是为了加强图像之间的对比度。ij表示第j像素点对第i类的隶属度,d(xj,vi)表示第j个像素点距离第i个聚类的距离。根据拉格朗日乘数法优化目标函数得: (3)模糊C均值聚类后,每个像素产生了对背景和目标的隶属度,隶属度的大小代表了像素与类的相似程度,因此设计了一种选择训练样本的方法。首先将各个像素对目标类的隶属度按照从大到小的顺序排列,选择前隶属度

8、对应的像素作为训练样本的+1类;然后将各个像素对背景类按照从小到大排列。这样做的目的是保证了样本的正确性,可以减少模糊像素对支持向量机的影响。通过此处选择的聚类样本为:图2 聚类样本由以上前提条件便对其进行训练样本,对其用仿真实现运行结果如下:图3 训练样本2.3 特征提取样本的特征是支持向量机分类的依据,分类效果的好坏在很大程度上取决于从图像中提取的特征。可以说,所提取的特征越完备,则分割效果越有保障。而特征的提取,并不以单一类别的特征为主,在选取特征的时候,需要考虑所移动窗口中所有像素的各种性质,才能获取较完备的图像特征,为图像分割做好准备。此处主要提取灰度特征。其中灰度特征采用33邻域的

9、灰度值、均值和方差作为特征。由于所选择的大米粒图像,其背景和目标在灰度上差别较大,且灰度分布较为均匀,仅以待分割图像的一个小邻域里中低层次的灰度,作为输入矢量X.具体做法为:在待分割的样本图像上移动一个ss(其中s为奇数)的窗口,每个当前像素,及窗口中心的像素为(i,j)令I(i,j)为该像素的灰度值,且0i256,0j256,将其窗口中所有的灰度值按照从左到右、从上到下的顺序,组成一个包含ss个元素的矢量作为特征矢量。根据向量机的特点以及反复试验的结果,选取s=3的领域窗口作为其分割窗口。即形成一个由当前像素灰度值与其8个领域像素的灰度值所组成的包含了9个元素的特征矢量。I(i-1,j-1)

10、I(i-1,j)I(i-1,j+1)2I(i,j-1)I(i,j)I(i,j+1)I(i+1,j-1)I(i+1,j)I(i+1,j+1)图像的均值和方差的大小表示灰度区域是否均匀,因此本次设计方案采用像素灰度值及其领域的灰度均值和方差作为特征向量。灰度均值为: (4)方差为: (5) 将33窗口内对应像素的灰度值构成的九维向量作为特征向量。P(i,j)为窗口内的灰度统计值。为了避免各个分量在量值上的差异对分类的影响和特征向量可能出现的溢出,故将特征进行归一化处理,将特征归一化到0,1。2.4 核函数选择本文中鉴于高斯核函数和线性核函数的参数比较少,因此选用高斯核函数其形式为: (6)此处的=

11、100即为其高斯核函数的参数。高斯核函数(决定着平滑程度)是由参数表征的,而且和平滑程度的关系是非常简单的越大,高斯核函数的频带就越宽,平滑程度就越好通过调节平滑程度参数,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷。2.5 分割结果及其分析用训练好的支持向量机对原图进行分割,分割结果如下:图4 原始图像图5 用支持向量机对图像的分割结果本文所采取的细菌图像像素大小为256256,在图像上移动一个33大小的窗口,共获取51302个样本数据。采取随机抽取的方式,从中获取多个样本作为训练样本,所抽取的样本数量较大。可以做到较为准确的分割

12、,并且此方法是在大量的样本抽取下进行的,可以大大提高分割的精度和准确度,较其他传统分割方法相比较而言,其对边缘分割精度和对于背景和灰度值相比较而言都有了非常明显的进步,并且利用自动选择法对其进行分割也可较少工作量与降低计算难度,节省了我们分割过程中较为宝贵的时间。3 MATLAB程序设计3.1Matlab图像编程概要读入图像: RGB=imread(1.jpg); 该函数的返回值RGB是一个三维的数组,分别代表像素点所在的行号、列号和像素点的R、G、B三个通道的值。例: RGB(1,1,1); %图像第一行第一列的R值;RGB(1,3,2); %图像第一行第三列的G值;RGB(2,4,3);

13、%图像第二行第四列的B值;RR=RGB(:,:,1); %彩色图像的红色像素通道GG=RGB(:,:,2); %彩色图像的绿色像素通道BB=RGB(:,:,3); %彩色图像的蓝色像素通道鼠标输入:xx,yy,button=ginput;接受鼠标输入直到敲回车键结束。其中:xx、yy:记录鼠标按下时横坐标和纵坐标值;button:记录鼠标按下时的状态。1表示左键,2表示中间键,3表示右键。绘制图形:plot(x,y,b*);plot(x,y,b*):在坐标(x,y)处绘制一个蓝色的”*” 3.2 SVM的Matlab工具箱使用指南1训练SVM: nsv, alpha, b0 = svc(X,Y

14、,ker,C)X:训练样本的输入特征,X的行数为训练样本的个数,X的列数代表训练样本的特征维数;Y:训练样本对应的标号,为一个列矩阵。矩阵的行数为样本的个数。Y的值只能是1或者-1;Ker:核函数类型,常用的包括:linear, poly,rbfC:经验风险与结构风险的权衡参数,详见SVM的数学优化模型。nsv:支持向量的个数;alpha:对偶问题的解;b0:svm表达式中的偏移量。2.测试SVM: preY = svcoutput(trnX,trnY,tstX,ker,alpha,bias)trnX - 训练样本的输入特征;trnY - 训练样本的标号;tstX - 测试样本的输入特征;ke

15、r - 核函数alpha - SVM的求解结果bias - SVM的偏移量3.核函数参数的设置: svkernel.mswitch lower(ker) case linear k = u*v; case poly p1=2; k = (u*v + 1)p1; case rbf p1=1; k = exp(-(u-v)*(u-v)/(2*p12); case sigmoid p1=1;p2=1; k = tanh(p1*u*v/length(u) + p2); otherwise k = u*v;end4.在二维坐标中绘制SVM的训练和测试结果: svcplot(X,Y,ker,alpha,b

16、ias)其中:X - 训练样本的输入特征Y - 训练样本的标号ker - 核函数alpha - SVM的求解结果bias - SVM的偏移量参考文献1 里朝锋,曾生根,许磊.遥感图像智能处理M.北京:电子工业出版社.20072 罗述谦,周果宏.医学图像处理及分析M,北京:科技出版社,20033 Su Ruan,Stephane Lebonvallet,ect.Tumor Segmentation Form aMultisectral By Using Support Vector Machine ClassificationJ.Biomedical Imaging:From Nano to M

17、acro:20074 邢伟,基于支持向量机的图像分割J,微计算机信息,2008:24(I)5 CR.Brice,C.L.Fenema,Scene Analysis Using RegionsJ.Artificial Intelligence1970,2052266 郭磊,武优西,刘雪娜等.基于主成分分析和支持向量机的MRJ图像多目标分割J,中国生物医学工程学报.2007:26(4):4985027 赵衍运,蔡安妮. 使用支持向量机分割指纹图像的方法J,北京邮电大学学报,2006:29(02)8 Cheng,H D.Jiang,X H,Sun,J.Color image segmentation

18、:J.New York;Springes Verlag,19959 徐海洋.基于支持向量机方法的图像分割与目标分类D.武汉:华中科技大学,200510 杨丽,杨新.基于区域划分的曲线演变多目标分割J.计算机学报,2004,27(3):42042511 王萍,苏秀琴,刘雅轩.基于区域合并的动态阈值分割算法.光子学报,2004 3(3):378-38112 赵凤,范九伦.二维熵取小法和模糊熵相结合的图像分割的坑识别方法.计算机工程与应用,006,1:2522813 Pun T new Methd for Gray-Level Picture Thresholding Using the entro

19、py of the Histogram. Signal Processing, 1980, 2(3):233-23714 贺玲,玲达,益朝. 数据挖掘中的聚类算法综述J. 计算机应用研究,007:0-13附 录附录A 程序源代码利用Matlab在图像上采集训练样本的示例程序Figure,subplot(1,2,1);imshow(S3a.bmp);Title(鼠标左键点印章,鼠标右键点纸面,回车结束)xx,yy,button=ginput;RGB=imread(S3a.bmp);RR=RGB(:,:,1);GG=RGB(:,:,2);BB=RGB(:,:,3);count,asd=size(x

20、x);subplot(1,2,2); hold on;for i=1:count trnx(i,:)=RR(yy(i),xx(i),GG(yy(i), xx(i); switch button(i) case 1 trny(i,:)=-1; plot(trnx(i,1),trnx(i,2),r*); case 2 trny(i,:)=-1; plot(trnx(i,1),trnx(i,2),b+); otherwise endendxlabel(R)ylabel(G) hold off利用SVM的Matlab工具箱进行印签提取的示例程序ker=linear; %选择线性核函数nsv alpha

21、 bias=svc(trnx,trny,ker,10); %训练SVMsvcplot(trnx,trny,ker,alpha, bias); %显示分类器效果利用SVM的Matlab工具箱进行印签提取的示例程序tstnum=1;for i=1:size(RGB,1) for j=1:size(RGB,2) testx=double(RGB(i,j,1:2); preY=svcoutput(trnx,trny,testx,ker,alpha,bias); tstnum=tstnum+1; if (preY=1) resIm(i,j)=255; else resIm(i,j)=0; end endendimshow(resIm);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁