改进OTSU算法和边缘检测的图像分割算法研究
2014-05-12孙欢欢程耀瑜
孙欢欢,程耀瑜,冀 钰
(中北大学计算机与控制工程学院,山西太原030051)
无论是图像处理、分析,还是图像理解与识别,其基础工作都是建立在图像分割的基础上的,即将图像中有意义的特征或者应用所需的特征信息提取出来。图像分割是由图像处理过渡到图像分析的关键步骤,在图像技术中有着十分重要的作用[1]。图像分割是根据图像的组成结构和应用需求将图像划分成为若干个互不相交的子区域的过程,这些子区域是某意义下具有共同属性的像素的连通集合。
图像分割技术在现实生活中有着广泛的应用,只要对图像目标进行提取测量等都离不开图像分割。图像分割质量的好坏直接影响后续图像处理的效果,因此图像处理至关重要[2]。目前数以千计的文章已经提出了许多的分割方法,但是对于不同种类的图像、不同的应用要求并不存在一种所谓的普遍使用的最有效率的分割方法。几年来有不少的学者提出了边缘检测与阈值分割相结合的分割方法。借鉴于此本文提出了一种基于最大类间方差法也即OTSU算法和边缘检测相结合的图像分割方法。该算法能够很好地保留图像的边缘信息,避免过度分割,分割效果比较理想。
1 最大类间方差法
1.1 最大类间方差法原理
最大类间方差法是由日本学者大津于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU。它是在判决分析最小二乘法原理的基础上推导得到的,这种方法的依据是图像中属于同一目标内的像素之间的方差应该较小,而不同区域之间的方差应该达到最大。
用最大类间方差法确定阈值的步骤如下所示[3]:
设待分割图像为f(x),图像的灰度变化范围为0~L-1,ni为灰度为i的像素数目,N为图像的总像素数pi为灰度级出现的概率,门限值t将图像划分为两类C0={0,1....,t},C1={t+1,....,L -1},若f(x)≤t,则(x,y)∈ C0;若 f(x)> t,则(x,y)∈ C1。对图像的直方图进行归一化得到灰度级的概率分布:
C0、C1类出现概率为:
均值分别为:
图像总体灰度值为:
由公式(2)~(4)可求得C0、C1的方差为:
定义类间方差为:
定义类内方差为:
定义总体方差为:
由OTSU方法选取阈值的公式可知,在目标和背景的临界处,灰度变化较大,这时的灰度值为最佳阈值。由于方差是像素灰度分布均匀性的度量,方差越大,均匀性越好,图像目标背景差别越大,越容易分割。
1.2 改进的最大类间方差法
最大类间方差法简单有效、适用范围广,是一种很好的阈值化方法,它对噪声与目标大小十分敏感,对单峰图像或者双峰明显的图像能自动得到较好的分割效果。当目标和背景灰度差不明显时,会出现无法忽视的大片的黑色区域,甚至会丢失整幅图像的信息,产生比较严重的分割错误[4]。鉴于此,我们一般不直接使用OSTU算法,而是采用了一些改进的方法。
OTSU算法是从灰度均值角度出发,基于灰度类间距最大的原则,获得分割阈值,后来有人提出了它的扩展算法,从方差的角度出发,利用方差类间距最大原则获得图像分割阈值。由于基于灰度均值和方差的角度出发都有很好的自适应性,我们希望分割的目标和背景均值和方差都远离全图总体的方差和均值,因此有OTSU与方差推广方法的合并[5]:
满足式(11)的最大阈值t就是改进的最大类间方差法的最佳阈值。
0≤α≤1,0≤β≤1,且 α +β=1,通过 β/α 的值即可分别取得α、β的值。
首先对β/α设置一个较大的区间[a,b],以此区间的两个端点a、b来确定α、β,将其带入式(11)以计算最佳阈值。但是由于所设置的区间为随机的,所以第一次确定的分割情况可能有三种,最佳分割、过分分割及欠分割。若为最佳分割就不需要再计算,如果为过分分割或欠分割,则在期间一定存在最理想的分割情况。取β/α为区间的中点,计算最佳阈值并分割图像,若结果为过分割(欠分割),则以该中点值取代同为过分割(欠分割)的一个端点,并与另外一个端点构成新的区间,之后再取β/α为该新区间的中点值,计算最佳阈值后分割图像。按照此步骤不断以新区间的中点值作为β/α的值,如此反复计算直到β、α值对应的分割效果最满意为止。
2 边缘检测
数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础,也是图像识别中提取图像特征的一个重要属性。边缘检测算子是通过检查每个像素点的邻域并对其灰度变化进行量化来达到边界提取的目的,而且大多数的检测算子还可以确定边界变化的方向。常用的边缘检测算子为 roberts、sobel、prewitte、log、canny算子。
本文采用Sobel边缘检测算子进行边缘检测,下面对Sobel算子进行介绍。
Sobel算子是一组方向算子,从不同方向检测边缘。Sobel算子不是简单求均值再方差,而是加强中心像素上下左右四个方向像素的权重,运算结果是一幅边缘图像[6]。该算子计算公式如下:
图1 Sobel算子的模板
该模板是3×3算子,对灰度渐变或噪声较多的图像有较好的处理效果。
3 实验步骤及结果显示
首先将图像进行滤波处理,减小噪声的影响,此处使用3×3模板进行中值滤波;再分别用最大类间方差法和改进的最大类间方差法确定图像的最佳阈值;然后采用边缘检测算子(sobel)进行边缘检测,将差分算子与图像进行卷积,确定图像的边缘位置,检测边缘特征;最后根据边缘检测的结果将灰度变化急剧的地方用局部阈值分割,其他部分采用最大类间方差法。
为验证算法的有效性和可行性,本文选用大小为256×256,灰度级为256的两幅图像,在Matlab7.0平台进行仿真比较。
图2 各步骤图像处理结果显示
从图像的实验结果可以看到,此算法具有很好的适应性,受图像亮度变化及目标背景比例大小的影响较小,将改进最大类间方差法与边缘检测相结合,改善了原有算法的检测结果。但是改进的最大类间算法不仅考虑了目标和背景的方差也考虑了它们的均值,因此计算量有所增加,运行速度稍微减慢,之后还要在此方向进行研究改进。
4 结论
本文所采用的图像分割算法考虑了实际图像直方图目标、背景分布情况,在一定程度上减小了OTSU算法对目标背景大小比例敏感性,而且该算法能够很好地保留图像的边缘特征,分割效果比较理想,具有一定的应用前景。
[1]冈萨雷斯.数字图像处理[M].北京:电子工业出版社,2005.
[2]张德丰.MATLAB数字图像处理[M].第2版.北京:机械工业出版社,2012.
[3]王璇,张帆,程京.基于改进最大类间方差法的灰度图像分割[J].微计算机信息,2010(26):206-207.
[4]周鲜成.图像分割算法及其应用研究综述[J].信息技术,2007(6):11-14.
[5]Otsu N.A Threshold Selectoion Method from gray level histogram[J].IEEE Trans Action on SMC,1979(9):652-655.
[6]Pal N R,Pal S K.A Review on Image Segmentation Techniques[J].Pattern Recognition,1993,26(9):1277 -1294.