图像分割算法简介(上)

(ps:这是我的一份作业,寒假看了一些资料,写的这篇关于图像分割的简介,删除了作业中一些凑字数的话...)

摘要:本文将分类介绍以下算法:基于边缘的图像分割(包括一阶、二阶梯度算子、Canny算子),基于阈值的图像分割(全局阈值、局部阈值),基于区域的图像分割(区域生长合并、区域分裂合并、形态学分水岭、mean shift图像分割以及JSEG算法),基于图论的图像分割(Graph cut、GrabCut),以及基于PDE的主动轮廓模型的分割(Snakes算法、Level set水平集方法)。

1. 基于边缘的图像分割

        最常见的基于边缘的图像分割算法是用于空域的梯度算子。它们往往是用来处理灰度图像,一阶的梯度算子通过对图像空域上的差分来求取一阶导数。在两块不同灰度区域的边缘上,一阶导数的模值达到最大。通过设定的阈值,将梯度值大于阈值的位置确定为边缘。常见的一阶梯度算子有:Prewitt、Roberts、Sobel。通过,选用不同的模板,与图像卷积得到结果。

        但是,一阶梯度算子存在检出边缘较多的问题,采用二阶微分的梯度算子,能取得更好的效果。因为,一阶导数的局部极大值对应着二阶导数中的零交叉点,通过找出二阶导数的零交叉点就能确定精确的边缘点[1]

        常用的二阶梯度算子是Laplacian算子,但是这种二阶梯度算子对噪声非常敏感,二阶差分的运算起着双倍加强的噪声的影响。因而,更好的二阶梯度算子是将有着图像平滑效果的Gaussian滤波器和Laplacian算子结合,一定程度上减弱噪声的影响,同时较好的提取边缘。这就是LOG(Laplacian of Gaussian)算法[2]

 John F. Canny于1986年提出的Canny算法[3]在边缘提取中也是效果很好一种方法。Canny算法对边缘处理有以下步骤:

1) 用高斯滤波器去除图像的噪声。

2) 用一阶偏导数来计算梯度的幅值及其方向。

3)对梯度幅值进行非极大值抑制。即比较某像素位置梯度的四邻域,若其不是五个值中的最大值,则将其置0。

4)使用双阈值检测和连接边缘。设置一高一低两个阈值,将梯度值大于高阈值的标记为强边缘,梯度值只大于低阈值的标记为弱边缘。强边缘都是目标边缘,在此基础上,寻找其8邻域内是否存在弱边缘,若有则将其连入边缘中形成最终结果。

       Canny算法得到的是单像素连通的边缘,由于对梯度幅值的非极大值抑制,使得面对图像纹理较复杂的情况时,往往会丢失边缘信息。其他基于边缘的图像分割算法还有小波多尺度边缘检测:利用二进小波变换,在大尺度下抑制噪声,小尺度定位边缘,抗噪能力比较好。形态学的top-hat(顶帽变换)变换,能提取出灰度图像中亮边缘,通过改变形态学模板的大小还能控制边缘的精细程度。

2. 基于阈值的图像分割

        利用阈值对图像进行分割是最直观也是最方便的一种方法。根据使用阈值的情况,可以分为全局阈值分割和局部阈值分割。

        全局阈值适合前景灰度值相对集中,光照均匀的图像中。通过设置一个适用于整个图像范围的阈值进行分割。有时候,图像受光照不均的影响,使得待分割的目标区域灰度变换很大,全局阈值不再适用,这时需要通过设置窗口范围,对每个窗口区域使用局部阈值进行分割,最后再将所有局部的分割结果进行融合。

        利用阈值进行分割,最重要的是阈值的选择。简单图像可以通过固定阈值进行分割,而自适应阈值则介绍以下几种方法:直方图阈值选取、迭代阈值选取、最大类间方差阈值[4](Ostu)。

        直方图阈值选取,是将区域的直方图,先进行高斯平滑处理,再对其包络曲线进行拟合,利用极小值点一阶导数为0二阶导数大于0的特性,选取极小值点作为分割阈值。高斯平滑能消除一些局部极小值的干扰,当直方图还存在多个极小值点时,可算出极大值点,综合考虑极值间的位置关系选出位于两波峰之间波谷的极小值作为阈值。

迭代阈值法通选取区域灰度的中值作为初值,通过迭代公式计算阈值:

图像分割算法简介(上)_第1张图片

         图像总共有L个灰度级,表示灰度级为k的像素的个数。迭代计算的终止条件为阈值收敛到一个稳定值。

        最大类间方差阈值法,又称为大津法,是日本学者大津(Ostu)于1979年提出。设阈值将图像分割成两部分A和B,计算每部分的像素个数占整个图像像素个数的比例,分别为、(+=1),同时计算整个图像,前景及背景区域的灰度平均值,分别为:。计算该分割下的类间方差:


将阈值从[0,L-1]取一遍,找出最大方差下的阈值,即为最终分割阈值。


3. 基于区域的图像分割

        图像分割目标的区域性质是最重要的性质之一,因而基于区域的图像分割技术中产生了很多优秀的算法。首先介绍区域算法的相关特性:区域生长合并以及区域分裂合并。

 

区域生长:将一些像素作为区域生长的初始位置,称之为种子。通过相似性准则,计算种子与邻域像素之间的欧式距离,若该值小于某个阈值那么将这个像素吸收到种子区域并将其设置为新的生长点,如此循环实现生长。区域生长的好坏取决于种子点的选取是否能代表该区域特征,相似性准则的选取是否合理。

 

区域分裂:与区域生长相反,区域分裂将整个图像看作一块区域,采用四叉树结构的迭代分裂算法进行分裂。其分裂过程为,设定一个区域算子P,当P满足某一条件时将区域一分为四,对新的区域重新计算,直到所有的区域都不满足分裂条件,那么分裂结束。可以选取区域内像素的方差作为判断是否继续分裂的条件,或者梯度幅值等等。

 

区域合并:区域合并是以相似性准则为基础,将空域上相邻的区域合并为一个区域的过程。在区域生长和区域分裂的过程中往往有区域合并同时进行。将区域生长和区域分裂产生的过多的分割数合并到最符合图像分割要求的区域数量。

        形态学分水岭分割算法:利用形态学梯度来构建地形图,结合分水岭算法实现图像分割。上世纪90年代,Vincent与Soille提出来一个浸入模拟的算法[5]。其思想是,将图像看做一块地形,像素变化缓慢的图像区域对应地形上海拔低的地方,例如山谷。而像素变化剧烈即边界区域对应地形中的山脊。假设海平面不断升个,那么山谷开始被淹没,随着海平面不断上涨,当来自两个山谷的水要汇合的时候,在他们将要汇合的地方筑上一道坝,直到每片流域都被各自的坝完全包围时,那么海平面停止上涨,分割也就完成了。

分水岭分割算法主要由两部分组成,一是地形图的构建,二是泛洪上涨。地形图采用形态学梯度计算得到:


        水域上涨阶段先从梯度图中统计各点的梯度值大小,将同一梯度值的像素存入一个梯度层级中。将所有梯度层级按递增顺序进行排列。取最小梯度层级中的像素,他们将作为区域分割的第一批种子点。

        处理最小梯度层级,取出其中一个像素将其标记为1。遍历最小梯度层级中的剩余的点,将邻域内存在已标记点的像素加入一个队列中,每次弹出队首元素,用邻域内已标记点标记自己,并将其邻域内同一梯度层级中未标记的点加入队列中,循环执行至到队列为空。队列为空后检查当前处理梯度层级中是否还有未标记点,若有则将标记号+1对其标记,此处为一个新的区域的极小点,然后重复上述过程,当该梯度层级像素全部标记完成,则处理下一梯度层级,直至整个图像被标记。标记过程中若一个点领域内同时有多个标记点时,则将该点标记为坝。

分水岭图像分割对具有清晰几何外形的目标取得不错的分割效果,但其存在一个过分割的问题。通过采取一定的预处理策略结合区域合并的方法,能获得更好的分割效果。

 

        Mean Shift图像分割[6]方法:Mean Shift向量是由FuKunaga[7]等在1975年关于概率密度梯度函数的估计中提出来的,1995年,Cheng对基本Mean Shift算法定义了核函数与权重系数,Comaniciu等人把Mean Shift成功运用到特征空间分析和非刚体目标跟踪上。Mean Shift又称均值偏移,是一个迭代的步骤。简单来说,根据一个函数算出当前点的偏移均值向量,移动该点到其偏移均值,再次计算新的偏移向量,循环执行,直至满足收敛或一定条件结束。Mean Shift的本质是梯度下降法,利用一个核函数估计样本概率分布函数的概率密度并以此求取密度梯度方向,梯度方向指向概率密度的极大值。这样多次迭代之后,一个向量就找到了其分布函数的概率密度极大值点,同一分布的向量最终将会收敛到同一密度极大值处,根据这一思想将指向同一极大值点的像素划分到一起,从而实现图像分割。而估计概率密度梯度的核函数主要有Epanechnikov核函数:


高斯核函数:


核密度估计式为:


Mean Shift向量计算式:


最后再通过相似性准则根据需要进行区域融合,完成最后的图像分割。

        JSEG图像分割:全称为Joint Systems Engineering Group是一种彩色图像分割方法[8]。其算法过程,类似分水岭水域分割,需要生成一种与图像边缘信息相关的J图,然后在次基础上进行区域生长合并完成分割。算法的精髓在与J图的生成,其过程大致为:

       利用同等组滤波 [9](PGF)方法对图像进行滤波,然后对滤波后图像进行颜色量化(VQ),一般将复杂的自然场景降低到十数种颜色。最后根据窗口函数,计算每个像素点的J值,从而生成一幅J图。
       假设Z是一个区域中N个数据点的集合,设 ,m是均值,即 Z中的数据由于量化之后被分为C类,Zi(i=1,2,...,C),mi为Zi类中Ni个数据的均值,则有   

J值的本质是,计算窗口区域类内距与类间距的比值,对比较细微的纹理变化有较好的检测效果。







你可能感兴趣的:(imageprocessing)