图像分割技术研究及MATLAB仿真
摘要:作为一项热门的计算机科学技术,图像分割技术已经在我们生活中越来越普及。顾名思义这项技术的目的就是,将目标图像从背景图像中分离出去。由于这些被分割的图像区域在某些属性上很相近,因此图像分割与模式识别以及图像压缩编码有着密不可分的关系。完成图像分割所采用的方法各式各样,所应用的原理也不同。但他们的最终目的都是把图像中性质相似的某些区域归为一类,把性质差异明显的不同区域分割开来。通常在分割完成之后,我们就要对某些特定区域进行分析、计算、评估等操作,因而分割质量的好坏直接影响到了下一步的图像处理[],因此图像分割是图像处理的一个关键步奏。图像分割技术在各个领域都有着及其重要的意义;在工业上有卫星遥感,工业过程控制监测等等;在医学方面,水平集的分割方法还可以通过医学成像帮助医生识别模糊的病变区域;在模式识别领域还可应用到指纹扫描、手写识别、车牌号识别等等。
本课题的研究内容是对图像分割技术的几种常用的方法进行综述和比较,并基于其中一种方法进行MATLAB仿真测试,给出性能分析比较结果。
关键字:图像分割,MATLAB仿真,模式识别
Image Segmentation and Matlab Simulation
Abstract:Image segmentation is to image representation for the physically meaningful regional connectivity set, namely according to the prior knowledge of target and background, we on the image of target and background of labeling and localization, then separate the object from the background. Because these segmented image regions are very similar in some properties, image segmentation is often used for pattern recognition and image understanding and image compression and coding of two major categories. Because the generated in the segmented region is a kind of image content representation, it is the image of visual analysis and pattern recognition based and segmentation results of quality of image analysis, recognition and interpretation of quality has a direct impact. Image segmentation it is according to certain features of the image (such as gray level, spectrum, texture, etc.) to a complete picture of the image is segmented into several meaningful area. These features made in a certain region of consistent or similar, and between different regions showed significantly different. Image segmentation technology in various fields have most of the field and its important significance in digital image processing, image segmentation has a wide range of applications, such as industrial automation, process control, online product inspection, image coding, document image processing, remote sensing and medical image analysis, security surveillance, as well as military, sports and other aspects. In medical image processing and analysis, image segmentation for body occurrence of three-dimensional display of the diseased organ or lesion location determination and analysis plays an effective role in counseling; in the analysis and application of road traffic conditions, available image segmentation technique from monitoring or aerial fuzzy complex background separation to extract the target vehicle.
The research content of this paper is to review and compare several methods of medical image segmentation, and based on one of the methods to carry out MATLAB simulation test, the results of performance analysis are given.
Key word:Image segmantation;Matlab simulation;Pattern recognition
引言
数字图像技术是计算机科学技术兴起后的一项对图像进行加工处理的技术。该技术利用计算机系统的数字识别能力,把图像信息转化为数字信息,并对之进行分析、加工、处理,以满足人们的具体需求,处理过后的图像易于识别且方便理解。数字图像处理是图像技术的总称,它的分支学科很多[]。图像分割技术就是其中的一种,它的主要目的是简化图像,确定我们所感兴趣的图像区域。图像分割技术的兴起推动了图像领域跨出了关键的一步,是图像领域进阶的一个分界点。
图像分割技术的目的就是把我们指定的目标区域从原图像中分离出来,使得下一步的操作更加简便。而图像的分割程度与我们所关注的问题紧密一致,现有的图像分割技术大抵可分为两类;第1类主要应用图像中某些区域的相似性来完成分割,如:图像区域处理;第2类主要应用图像边缘区域像素值会发生突变的性质来完成分割,如:边缘处理技术
本文对当前常用的几种图像分割技术做了系统的分类,介绍了分割技术的发展状况,再此基础上对阈值分割、区域分割、边缘分割以及水平集分割的原理进行简单的介绍,然后得出每个方法的优缺点;最后根据结论得出各个方法的应用领域,适应范围并对这些方法的性能进行评估。最后基于其中一种方法实现MATLAB软件仿真,完成对不同图像的分割,最后做出自己对这一方法进行合理性的评估并做出展望。
1 图像分割技术
1.1 图像工程与图像分割
图像是自然生物或人造生物对自然界某种现象的记录,有学者做过统计,图像中所蕴含的内容和信息占人类所获得信息的80%,图像传递的信息真实、贴切、丰富,从狭义角度来说用来提取、研究、处理图像信息的学科称为图像科学;从广义角度来说图像科学是各种视觉相关技术的总称。
把所有与图像相关的技术归结到一个整体流程框架,我们就得到了图像工程的概念。根据研究的层次和内容不同,图像工程可以被分为三个部分:图像处理、图像分析与图像理解。[]
图1.1 图像工程的三个层次
图像处理旨在对图像中各个元素进行人们所要求的特定的转换,转换之后得到的新图像用来进行下一步的操作和应用;图像分析主要是对图像中指定目标区域做检测与测量,依照这些测定结果来对客观信息做出分析与评判;而图像理解则是在建立在图像分析结果基础上研究各个部分之间的相关性或者是对原场景做出解释。本文重点研究的图像分割是图像处理和图像分析之间的一项流程,它把我们所感兴趣的研究区域信息进行重点提取,这样做可以帮助我们更好地进行下一步图像分析的研究。图像分割使得图像分析和图像理解成为可能,它是图像工程中一项必不可少的环节,图像分割受到了人们广泛的重视和认可。
1.2 图像分割的方法分类
从上个世纪发展至今,图像分割的研究发展一直层出不穷,百花争芳,据不完全统计现已有上千种关于图像分割的算法被提出,而这些算法大多数都与图像的两个特性有关:相似性和不连续性。无论何种技术,都会用到两者之一或者兼之,这是图像本身的性质所决定的。基于第一种性质的分割算法有一个共同特点,即是所有的分割算法都会根据某一特定的准则来进行分割,这个准则可以是确定某种相似的性质,比如区域生长分割;也可以是确定某种划分界限的值,比如阈值分割技术,也可以是两者兼有,比如区域生长合并技术。基于第二种特性的分割算法往往会用到一个关于图像的性质,图像中某一事物区域和外界背景区域的边缘部分的灰度值会发生突变,这种突变在人体视觉上的反应就是人们会明显察觉到这个地区是一个分界区域,应用这一知识人们做出了边缘分割算法。
从分割过程的处理与决策角度来看,图像分割技术又可分为串行分割技术与并行分割技术,这种分类方法在数字科学领域十分常见,所以它们的分类依据也大致一样:串行分割技术的工作流程是依次进行的,前一工作流程得出的结果会对下一工作流程提供帮助和依据,因而也会产生影响。假如前一工作完成的不充分或者产生偏差,后面的工作效果也会大打折扣,所以这种分割方式需要保证每一步的分割流程都有较好的效果,否则会导致分割效果较差。并行分割技术中每个判定和流程都会独立的完成,不会影响其他步奏的进行。因此并行分割技术的抗噪性也比较好。根据以上介绍,可以把分割算法的分类如下:①并行边界(Parallel Boundary ,PB);②串行边界 (Serial Boundary ,SB);③并行区域(Parallel Region ,PR);④串行区域(Serial Region ,SR)。
分类 | 相似性(区域) | 不连续性(边界) |
串行处理 | SR | SB |
并行处理 | PR | PB |
表1.1 图像分割算法分类
1.3 图像分割技术的发展
图像分割分割技术大致兴起于二十世纪七十年代,当时正是计算机科学兴起和发展的黄金时期,而计算机处理功能的扩展必然与图像处理密切相关,因此图像分割技术也引起了人们的注意。在当时人们还只是简单的运用阈值法来分割图像,这种早期的分割算法我们在下一章会提到,它的实现简单但局限性太大,所以随后慢慢被其他方法所取代。人们纷纷开始寻求一种适应范围更广的分割算法。边缘分割算法计算能力强,适应性较阈值法好,得到人们的认可,但它的抗噪性不好,尤其是区域边缘不明显时,分割效果不好;再加之区域分割技术的兴起,这种分割技术慢慢被取代。
20 世纪八十年代以后,越来越多的学者开始将模糊理论、马尔可夫模型、遗传算法理论、分形理论、神经网络、形态学理论、小波分析等研究成果运用于图像分割的研究中,取得了很大进展[]。但是无论哪一种分割技术都无法完全适应任何一种图像,由于图像的多样性,我们也无法用某一个精确的计算式来表达图像的分割过程。
近来,有一种基于活动轮廓模型的图像分割的算法变得热门起来,这种分割算法把图像分割领域带到了一个全新的高度,它的适应范围更大,处理面更广,再加之它更接近人们的视觉活动过程,得到了广泛的应用。本文的第三章水平集分割技术,也用到了这项分割算法。在不久的将来,分割技术也会不断的推陈出新,人们对图像技术的研究也会不断攀升。
2 图像分割技术算法综述
2.1 基于阈值的图像分割技术
所谓阈值分割技术就是在实现图像分割之前人为的确定一个或几个阈值,根据图像中的每个像素点灰度值的大小来判断是属于哪一个阈值范围之间,从而把这些判断过后的点归为不同的类别,即完成的图像分割。阈值分割法通常又可分为两类:当我们所关注的对象是全部图像并且只取一个阈值时,我们称之为全局阈值分割法;相反在不同的区域取不同的阈值,每个区域进行独立分割的方法叫做局部阈值分割法。阈值分割方法依据分割算法的特点,还可以分为最大类空间方差法、直方图与直方图变换法、基于过渡区的阈值选取法等。显然这些算法的关键就是确定最优阈值,我们可以人工设置阈值,当然这需要研究者有大量的研究经验;也可以通过系统来计算最优阈值。阈值选取不合适会导致分割失败。
阈值分割法是图像分割技术发展之初最原始的一种方法,它的实现难度低,当背景图像和目标图像灰度值差异明显时,功能实现的很好。人们往往会从灰度直方图的波谷区域读取相应的阈值,如若不满足此条件,分割效果往往不尽人意,这也成为它的主要局限是。另外,它只考虑图像像素的单一值,不能结合图像的空间特性进行具体分析,所以它所受的噪声干扰也会很明显。
图2.1 基于阈值分割的图片
此图是基于阈值的分割图片,根据日常经验我们可以知道,在一副图片中离镜头远的背景往往采光不足,而离镜头较近的目标在图片上就可以清晰的反应出来。因而在黑白图片中的反应就是背景图像的灰度值很低,在阈值以下,呈现右图中的结果就是白色;而目的图像灰度值很高,超过阈值所以在右图中显示为纯黑色。这样我们可以知道原始图片的灰度值直方图是连续不间断的,而完成阈值分割以后就只显示为单纯的黑白图片,这便是阈值分割的特点。
2.2边缘检测法
边缘检测法刚刚提到的第二类分割算法。在观察一幅图像时,人们往往会通过边缘区域来判断一个具体实物的所在范围,这是因为边缘区域会给人们的视觉带来强烈刺激,当灰度值的变化非常显著的时候,我们就可以大致判断此区域的两侧是不同的物体,在数学上的表现一阶倒数存在极值或二阶导数有零点,所以通过对边缘信息的检测可以帮助我们实现对图像的分割。边缘检测方法的检测原理很简单,即图像边缘区域灰度值会发生突变,而我们可以通过检测灰度值函数的倒数来判定边缘区域,这就所谓的微分算子法。常用的一阶微分算子有:Prewitt 梯度算子、Roberts 梯度算子、Sobel 算子等;二阶微分算子有:Laplacian算子以及高斯拉普拉斯算子(Laplacian of a Gaussian,LoG)。[]但是我们知道图像中的噪声点的灰度值周围也会产生突变,因而噪声的对边缘检测法的干扰极大,所以在进行分割需要进行去噪处理,例如高斯去噪。此方法的优点在于边缘计算准确且快速,定位准确,但是当边缘区域不明显时,这种分割方法容易出现边缘丢失或者分割出来的图像边缘模糊等现象,无法确保边缘区域的连续性和封闭性。
图2.2 Roberts算子边缘分割图像
图2.2 Sobel算子边缘分割图像
图2.3 Prewitt算子边缘分割图像[]
Roberts、Sobel、Prewitt算子都是常用的一阶微分算子,它们对应的算法分割出来的图像都有共同的特点,也有各自的差异。共同点就是三者都突出了原图像中的边缘部分,比如女士的帽檐、脸颊、眼眶等等这些边缘部分经过处理之后就变成了高灰度值的点,在右图中就对应为明显的白色点,这是因为系统检测到这些点的灰度值存在突变所以认定为图像边缘;而没有突变的点就转变为低灰度值的黑色。图像的不同之处在于三个算子对边缘的突出程度有差异Sobel算子略大于Prewitt算子,而这两者远大于Robert算子。这三个算法也都可以反应边缘分割法的局限性,图中区域有一处边缘模糊的地方,即女士帽檐的偏左侧区域,这个地方与背景图像的灰度值差异很小,所以在处理之后的图片中这块区域没有认定为边缘,即出现了边缘缺失。
2.3 区域分割法
区域分割的实质就是把图像中像元性质一致点的联合起来,达到联合分割区域的目的。此方法恰好弥补了阈值分割的缺点,能有效的解决分割的不连续性。区域分割方法按照不同的方法原理可以分为不同的类别,如果从全局出发,按照图像性质一致的准则来进行图像分割,划分每个像元的所属区域,这种方法叫做区域分裂的分割方法;如果从某一个像元点(种子点)出发,将属性接近的像元点连接起来的方法叫做区域生长的分割方法。把这两种方法结合起来的方法就称之为分裂-合并的方法,区域生长法的中心思想是把像元性质一致的点归为一个区域,其步奏流程是先人为的在待分割区域选取一个种子生长点,然后依照某种规则把种子点附近的某些像元依次添加到种子区域中去,最后这些性质相似的像元会自动的形成一个区域,这就达成了区域生长法的分割母的,完成这一系列程序的重点在于选取适当的生长准则。经常使用的生长准则大致如下:基于区域形状准则、基于区域内灰度分布统计性质准则、基于区域灰度差准则。分裂合并法的中心思想则恰好相反,它先把整幅图像分解成许多一致性比较高的小区域,在此之后仍然按照一定的合并准则把小区域合并成大区域,完成图像分割。
区域生长算法的优缺点很明显,它大多用于处理小型图像。因为一旦图像面积过大,该算法的计算速度会变得明显迟缓,而且需要它研究人员有很好的处理经验,去人工预先定义种子点。分裂-合并算法优点是不需要预先定义种子点,但是在分割过程中很有可能会破坏完成区域边缘。
无论是区域生长法还是分裂合并法都是一个图像动态变化的过程,其变化趋势无法用单一的图片显示,所以这里就不给出区域分割法的图例演示。
2.4 基于水平集的分割方法
水平集方法是由Sethian和Osher于1988提出,是一种处理曲线演化的新颖的方法。该方法的中心思想就是把变化的界面曲线方程用高一维的零水平集函数来表示。以这样一种间接的方式来表达闭合曲线,可以把跟踪复杂的曲线演化过程转化成偏微分方程的数值求解问题,这样一来无论曲线是分裂还是合并,都可以在数学上有着准确的表示,这种方法极大的简化了曲线演化的过程,有利于我们研究拓扑结构复杂的空间几何体。从提出至今,人们对水平集方法的研究日臻完善,研究领域也不断拓宽,从最初的跟踪曲线到如今用来解决图像处理方面的问题,都彰显它该方法的强大之处。在这里本节只对水平集方法做一个大致的轮廓性的介绍,更多方法原理及思路在下文里做具体的介绍。
水平集方法广泛应用在医学和航空领域,有着很好的发展前景。这其中最主要的原因在于它对处理空间结构复杂的图像有着无可比拟的优越性和不可替代性,可以肯定的是,在以后的几年里这种方法会发展得更加完善,应用面更广泛。
2.5 分割算法对比表格
上一章我们已经介绍过了四种比较热门的图像分割技术,这些技术的实现原理都不相同,比如阈值分割主要基于图像各处灰度值差异不同来完成分割;边缘分割的技术支撑点来源于边缘区域灰度值会发生突变;区域分割技术则是依照某种相似性把图像中的点归为不同的类别;水平集分割也是一种新颖的方法。这一节我们以表格的形式来对比以上几种技术,讨论它们的优缺点和适应方向
表2.1 分割算法对比
阈值分割法 | 边缘检测法 | 区域分割法 | 水平集法 | |
主要思路和原理 | 通过设定阈值来判定所有像元类别,即实现图像分割 | 利用图像中灰度值突变来确定分割边缘,边缘内为目标图像 | 把具有相似性质的像元点归为一类,然后进行像元合并或分割 | 用隐式方程表达闭合曲面,将曲线演化转化成求解偏微分方程 |
优点 | 简单有效,在区分不同类别的物体时效果明显 | 检测精度高,能快速确定分割图像边缘 | 区域生长法算法简单,适合分割小图像;分割合并法不需要预先定义种子点 | 算法准确,可以处理拓扑结构复杂,空间形状不单一的图像 |
缺点 | 要求图像的灰度直方图有明显的波峰或波谷,对噪声敏感 | 由于噪声也会使灰度值突变,所以对噪声非常敏感 | 区域生长法需要人工定义种子点,不能分割区域面积大的图像。分裂合并法可能会破坏分割图像边缘 | 算法应用泛函和偏微分方程的知识计算量大,对噪声比较敏感 |
根据以上图表的对比结合分析:我们可以看出,根据所分割图像的属性不同我们可以选用不用的图像分割方法:
在一个图像中有不同类别的物体时,可以用阈值分割法来分割出不同种类的物体,然而此方法要求图像灰度直方图有明显波峰和波谷,否则分割效果差;
‚当图像分割算法具有高精度,快速性的要求时,可以选用边缘分割法。具体选择何种边缘微分算子应视情况而定, 例如CANNY微分算子就可以有效的改善噪声对边缘分割算法的影响,大部分的边缘分割算法需要预先做去噪处理;
ƒ在目标图像较小时,使用区域生长法能够获得较好的效果;
„当待分割图像拓扑结构变化,外形复杂时使用水平集算法分割较好。
上诉几点已经比较明确的告诉我们各项技术的优缺点和使用范围,个人认为水平集方法的分割手段适用面广,发展前景比较好,而且它还能适应高维空间的分割,这是其他技术所不能企及的,所以下一章我们具体研究水平集分割技术。
3基于水平集的图像分割
3.1 水平集方法简介
通常情况下,我们所认知的图像都可以看作是前景和背景内容的数据结合,图像分割的目的就是把前景提取出来,然而使用传统的方法不能处理图像轮廓线拓扑变化等等问题,因而水平集方法应运而生,该方法由Osher 和 Sethian 提出,对处理拓扑结构变化的图像有着较好的效果。其核心思想是:把变化的界面曲线方程用高一维的零水平集函数来表示。以这样一种间接的方式来表达闭合曲线,可以把跟踪复杂的曲线演化过程转化成偏微分方程的数值求解问题。当水平集理论用于图像处理领域时都使用零水平集,因此我们可以做如下定义:用Ф表示n+1维(即高维函数),而零水平集可以看作是轮廓线C,C(Ф)=﹛(x,y)︱Ф(x,y)=0﹜,即轮廓线是图像上像素的集合,该集合中满足高维函数的值为 0。[]所以,我们所要做的就是使高维函数的零水平集逼近实际的轮廓线,通过改变高维函数,我们获得了不同的零水平集和不同的轮廓线。
图3.1 零水平集及其演化
当我们了解了轮廓线的定义以后我们就很容易理解这样一个事实:任何一个复杂的物体,我们都可以通过分析它的无数个零水平集来还原它的物理形状及拓扑结构。所以水平集方法的优势之处就在于它对复杂物体图像的分割效果好于传统方法。
3.2 水平集方法在图像分割上的应用
首先我们来简单了解一下图像分割的核心思想。
所谓的图像分割,如果用曲线演变的来解释,就是在要分割的图片上,先随便绘制一条包含有分割目标的曲线,然后让这条曲线演变成一条紧紧包围着分割物的曲线,那么图像分割的目的就达到了。而让这条曲线演变的关键就在于控制曲线上的每一个点运动的方向和速度,让它朝着分割物的边缘去移动,当曲线移动停止时,图像分割也就完成了。于是,图像分割的重点就落脚到了控制每一点的运动方向和速度,如何控制曲线的走向成为分割的关键。传统算法通常会求出曲线的参数化方程,但水平集方法所采用的是一种新的思路,它通过把曲线方程转化成高一维函数的零水平集这一做法,把曲线方程的演化变成了高维函数的偏微分方程的求解问题,这样做就会使曲线演化具体化。表面看把曲线表达成高维函数是把问题复杂化了,实际上却给我们提供了很多便利,概括如下:
1. 当曲线的速度函数连续不间断时,水平集函数始终保持连续性,那么该函数的零水平随着水平集函数的改变而改变,而这些改变即是拓扑结构变化的反应。
2. 在数学上有相应的近似算法可以实现用水平集函数的零水平集来表达曲线演化,如偏微分方程。
3. 传统曲线演化表示方法中,曲线的几何特征(曲率、法矢量)求解是一个难题,然后使用此方法就可以直接求得。
4. 水平集方法对处理高维曲线有着独特的优势,对比其他传统方法,它更容易体现其在高位空间中处理曲线演化的优越性[]。
这里就不给出曲线演化过程在数字表达式上的表现形式,因为它涉及到偏微分方程以及泛函数的相关知识,本人能力有限不做进一步的探讨。
3.3 仿真算法介绍
本文用到的算法模型是一种几何活动轮廓模型,该算法由李纯明于提出并完善[]。
以下为源代码:
clear all;
close all;
Img = imread('twocells.bmp'); % 读入一副图像
Img=double(Img(:,:,1));%转变图像格式
sigma=1.5; % 设置高斯滤波的参数
G=fspecial('gaussian',15,sigma);%fspecial用于预定义滤波算子,再此进行高斯滤波,参数分别是[15,1.5]
Img_smooth=conv2(Img,G,'same'); % smooth image by Gaussiin convolution
以G为模板对IMG做卷积运算,可以得到光滑过的IMG图像
[Ix,Iy]=gradient(Img_smooth);%求光滑过后的图像的水平梯度和垂直梯度
f=Ix.^2+Iy.^2;
g=1./(1+f); % edge indicator function.设置边缘检测函数
epsilon=1.5; the papramater in the definition of smoothed Dirac function
timestep=5; % time step定义时间步长
mu=0.2/timestep; % coefficient of the internal (penalizing) energy term P(\phi)
% Note: the product timestep*mu must be less than 0.25 for stability!
lambda=5; % coefficient of the weighted length term Lg(\phi)
alf=1.5; % coefficient of the weighted area term Ag(\phi);
% Note: Choose a positive(negative) alf if the initial contour is outside(inside) the object.
% define initial level set function (LSF) as -c0, 0, c0 at points outside, on
% the boundary, and inside of a region R, respectively.
[nrow, ncol]=size(Img);
c0=4;
initialLSF=c0*ones(nrow,ncol);
w=8;
initialLSF(w+1:end-w, w+1:end-w)=0; % zero level set is on the boundary of R.
% Note: this can be commented out. The intial LSF does NOT necessarily need a zero level set.
initialLSF(w+2:end-w-1, w+2: end-w-1)=-c0; % negative constant -c0 inside of R, postive constant c0 outside of R.
u=initialLSF;
figure;imagesc(Img);colormap(gray);hold on;
[c,h] = contour(u,[0 0],'r');
title('Initial contour');
% start level set evolution
for n=1:300
u=EVOLUTION(u, g ,lambda, mu, alf, epsilon, timestep, 1);
if mod(n,20)==0
pause(0.001);
imagesc(Img);colormap(gray);hold on;
[c,h] = contour(u,[0 0],'r');
iterNum=[num2str(n), ' iterations'];
title(iterNum);
hold off;
end
end
imagesc(Img);colormap(gray);hold on;
[c,h] = contour(u,[0 0],'r');
totalIterNum=[num2str(n), ' iterations'];
title(['Final contour, ', totalIterNum])[];
3.4 实验仿真及其结果
(1)由系统给定初始化曲线
本实验在MATLAB 2012a软件下进行仿真,原图是一副像素为83x65的图片,系统自动画出初始轮廓曲线
图3.2 原图像和初始轮廓线
此时我们选用迭代次数n=50,迭代时间间隔t=0.001s即初始曲线进行50次更新,每次更新时间间隔为0.001秒,然后观察曲线的走向。
图3.3 分割过程图像
可以从图中看出曲线正在朝要分割的两个细胞靠拢,但此时的曲线并不光滑,因而可以得出结论:曲线演化还没有完成。
当迭代了100次时:
图3.4 分割过程图像
曲线已经包拢了两个细胞,但还没有分割完全。
当迭代了200次时:
图3.5 分割完成图像
分割已经大致完成,曲线已经比较光滑。我们可以看一下迭代300次是什么结果。
迭代300次:
图3.6 迭代300次分割图像
曲线几乎与200次无异,这是因为指引曲线演化的函数已经检测到了在这个区域的曲线位置具有最小的泛函能量值,如果继续迭代的话只是稍微修正曲线的边缘,使之更加平滑。到这个阶段我们就可以说分割结束了。
同样我们在换一副图也可以完成图像分割:原图像素是84x84,系统自动画出初始轮廓曲线
图3.7 分割初始图像
我们设置迭代次数n=250,每次迭代时间间隔t=0.001s;分割后的图像如下:
图3.8 分割完成图像
可以看到初始轮廓线经过演变以后已经围绕在物体周围,此时图像已经完成分割。
(2)自定义初始化曲线
实验一:
图3.9 自定义初始轮廓线图像
系统会根据我们所画的初始轨迹来拟合出一条相似度最高的初始曲线,如下图
图3.10 系统自动分配初始轮廓线
同样我们还是和上一个实验取同样的参数,即迭代次数n=300,时间间隔t=0.001s
图3.11 分割完成图像
实验二:
图3.12 自定义初始轮廓线图像
保证与上一个实验具有同样的参数n=250,t=0.001s
图3.13 系统分配初始轮廓线图像
图3.14 分割完成图像
结论:以上实验结果表明,当实验参数选择合适时该算法可以准确的完成图像分割,而且通过以上实验结果的对照,我们可以认定,图像分割的最终结果与初始轮廓线的选取没有关系。它仅仅于图像本身的特征属性相关,因而有时我们也可以人工定义初始化轮廓线,从而达到简洁算法的目的。
结论
图像分割是图像处理技术当中一项重要的分支,它对一副图像的简化提高了人们对图像的研究效率。对图像分割技术的研究一直是数字图像处理技术当中一个热门且不可忽视的重点。它是从低级图像分割转变为高级图像分割的一个分水岭,所以近些年来对图像分割技术研究的迅猛发展极大的促进了数字图像技术的发展和创新,使它在高速发展的模式识别领域占有不可替代的地位。
本文主要对现有的图像分割技术做了系统性的归纳和阐述,详细介绍了当今常用的四种图像分割算法的原理,并对它们做了MATLAB仿真研究,得出了它们各自性能的优缺点:基于边缘的分割方法检测精度高,能快速确定分割图像边缘,但会明显的受到噪声的干扰;区域生长算法大多用于处理分割小型图像。因为一旦图像面积过大,该算法的计算速度会变得明显迟缓,而且需要它研究人员有很好的处理经验,去人工预先定义种子点;阈值分割算法简单有效,在区分不同类别的物体时效果明显;而水平集分割算法适用于研究拓扑结构复杂,空间形状不单一的图像,并且快速性和准确性都优于以上算法。因此我们重点研究仿真了水平集分割技术。并对其中参数设置和初始轮廓的演化做了重点分析和研究,总结出了以下结论:在迭代次数允许的范围之内,迭代次数越大分割进行的越彻底,而迭代次数超过一定数值时,只会使曲线边缘更加光滑,而不会改变曲线的轮廓形状。而且曲线的初始轮廓线的选取并不会影响曲线演化的进程,所以我们可以人为的选取初始轮廓线,这样可以达到简化程序的目的。