结合Mahalanobis距离的SUSAN彩色边缘检测方法研究
2013-01-30谭智仁
卢 军, 谭智仁
(陕西科技大学 机电工程学院, 陕西 西安 710021)
0 引言
图像的边缘是图像最基本的特征,是视觉感知的重要线索,同时也是进行图像分析、模式识别等深层次处理的关键步骤.图像的边缘点是指图像中周围像素灰度有阶跃变化或屋顶变化的那些像素点,即灰度值导数较大或极大的地方[1].长期以来,人们对图像的边缘检测主要致力于对灰度图像的研究,提出了许多有效的检测方法,主要有Sobel算子、Prewitt算子、Roberts算子、Log算子和Canny算子[2].而传统的彩色图像边缘检测方法主要是先将彩色图像转换成灰度图像,然后在灰度图像的基础上进行边缘检测.但研究表明彩色图像却能比灰度图像提供更多的信息,彩色图像与灰度图像大约有90%的边缘相同,而剩下的10%是在灰度图像中检测不到的[3].因此这种传统的检测方法就不能准确的将彩色图像边缘检测出来,所以一种有效的彩色图像边缘检测方法就越来越受到人们的关注.
近年来,许多研究人员对彩色图像的边缘检测做了大量的研究,并提出了许多的算法,比如基于四元数卷积的彩色图像边缘检测方法[4],基于邻域彩色变化矢量场的图像边缘检测技术研究[5], 这些算法复杂度高、运算量大,同时这些算法大多是在RGB空间中实现,而RGB颜色空间对色彩的感知不均匀,因此不能准确的检测出图像的边缘.为了克服RGB颜色空间不均匀,无法有效区分颜色相似性的缺点,选择了更加符合人类视觉特性的颜色空间.而HSI颜色空间便是其中的一种,它是从人的视觉系统出发,直接使用颜色的三要素色调(Hue)、饱和度(Saturation)、亮度(Intensity)来描述颜色,各个分量之间互相独立,且与人的感受方式紧密相联.而在Brown and MacAdam试验中[6],已经证实了可以通过Mahalanobis距离计算两种颜色的色差.文献[7]提出了在灰度图像中的最小核值相似区(Smallest Univalue Segment Assimilating Nucleus,SUSAN)边缘检测方法,首先用模板遍历图像,然后计算模板内像素与模板中心像素(核)的灰度差,用核值相似区域的大小来判断模板中心像素是否属于边缘,该算法思想简单,计算量小.因此本文结合Mahalanobis距离,提出了一种将改进后的SUSAN算子应用到基于HSI颜色空间的彩色图像边缘检测算法.实验结果表明,该方法可以很好的利用彩色图像的色调、饱和度和亮度信息,能够有效的检测出彩色图像的边缘.在保留图像边缘方面,性能优于传统的彩色边缘检测方法.
1 HSI颜色空间
HSI模型是从人的视觉系统出发,直接使用颜色的三要素色调、饱和度和亮度来建立的.H为色调,是彩色最重要的属性,决定颜色的本质,由物体反射光线中占优势的波长来决定的;S为饱和度,是指颜色的深浅和浓淡的程度,与白色比例有关,白色所占比例越高,饱和度越低;I为亮度,是指人眼感觉光的明暗程度.HSI颜色空间能够从彩色图像中携带的彩色信息里消去强度分量,因此这种颜色空间对人类来说更加自然直观[8].
图1 HSI模型示意图
如图1所示为用一个圆锥空间模型描述的HSI彩色空间模型示意图.通常我们把色调和饱和度统称为色度,用来表示颜色的类别和深浅程度.在图中圆锥中间的横截面圆就是色度圆,而圆锥向上或向下延伸的便表示亮度分量.HSI颜色空间与 RGB 颜色空间只是同一物理量的不同表示法,它们之间可以通过一定的算法相互之间进行转换.给定一幅RGB格式的图像,每一个RGB像素的H分量可以用下面的公式得到:
(1)
式中,θ=arccos {(1/2)[(R-G)+(R-B)]/[(R-B)2+(R-G)(G-B)1/2]}.饱和度分量由下列公式给出:
(2)
最后,亮度分量为:
(3)
假定RGB值归一化为[0,1]范围内,则色调可以通过式(1)得到的值除以360 °归一化为[0,1]范围内,而其它两个HSI分量已经在[0,1]范围之内[9].
从上式可以看出HSI存在几个重要的特点:首先HSI颜色模型中的I分量与图像的彩色信息无关,所以在一些亮度变化的环境中非常有用[10];其次是H与S分量和人的视觉系统感受颜色的方式密切相关,这对于区分颜色色差不大的物体特别适用.这些特点就使得HSI颜色空间比RGB彩色空间更加符合人的视觉特性.此外,由于HSI空间中亮度和灰度具有可分离特性,使得图像处理和机器视觉中大量灰度处理的算法都可以在HSI彩色空间中方便地使用.
2 色差的定义
色差的度量在彩色图像边缘检测中是非常重要的.从本质上来说,它是指两种颜色之间相似性的度量,色差大代表颜色相似性小,色差小则代表颜色相似性大.而在Brown and MacAdam试验中,已经证实了可以通过Mahalanobis距离计算两种颜色的色差.
Mahalanobis距离通常用在模式识别里,是表示两个或多个相关变量所定义空间中两点的距离.Mahalanobis距离的定义:X1,X2,…,Xn是n个相关变量,则它的表达式为:
(4)
δXi,Xj表示Xi,Xj两个变量的协方差.
那么以R、G、B为变量计算Mahalanobis距离可以表示成:
(5)
由于ωR,G=ωG,R,ωR,B=ωB,R,ωG,B=ωB,G,所以Mahalanobis距离又可以写成:
Δd=(ωR,RΔR2+ωG,GΔG2+ωB,BΔB2+2ωG,RΔRΔG+2ωB,RΔRΔB+2ωB,GΔBΔG)1/2
假设,变量R、G、B之间不相关,则ωG,R=ωB,R=ωB,G=0,上式就可以简化成
(6)
1994年,CIE提出了一种新的色差计算公式CIE94
(7)
(8)
3 边缘检测
3.1 SUSAN算法原理
在介绍SUSAN算法之前,首先介绍USAN角点检测准则.如图2所示,用一个圆形模板遍历图像,计算模板内每一个像素与中心像素(核)的灰度差值,若这个差值小于所设定的阈值t时,则认为该像素与模板中心(核)有近似的灰度,由这样的像素点所构成的区域就称之为USAN,当圆形模板完全处在图像前景或背景中时,USAN区域面积最大(如图2中e所示);当模板慢慢靠近边缘图像时,USAN区域面积逐渐变小(如图2中c和d所示);当模板中心处在边缘时,USAN区域面积为整个圆形模板面积的一半(如图2中b所示);当核心处于角点时,USAN区域面积最小(如图2中a所示).基于这一原理, S.M.Smith和J.M.Brady在他们的试验中,就提出了一种最小核值相似区(SUSAN)算法[7],该方法原理简单,不需要计算图像的梯度,因此降低了计算量,而且还能很好地检测图像的边缘.
图2 USAN角点检测原理
SUSAN边缘检测算法的基本思想是通过使用一个近似圆的模板来遍历整个图像(这里采用的是5×5圆形模板),计算模板内每一个像素与中心像素(核)的灰度差值,当这个差值小于所设定的门限t时,则认为该像素与模板中心(核)有近似的灰度,当差值大于门限t时,则判定该点不属于核值相似区,计算公式如下:
(9)
式中r0表示模板中心(核)的像素,r表示模板内的像素,I(r0)表示模板中心像素点的灰度值,I(r)表示模板内像素点的灰度值,c(r,r0)为模板内像素是否属于USAN区域的判别函数,|I(r0)-I(r)|表示两个像素之间的灰度差,t为灰度阈值,通过大量的实验证明,t通常取27.
USAN的大小就是统计圆形模板内与模板中心像素灰度值相近的所有像素点个数,因此,该区域的计算公式如下:
(10)
将n与一个给定的门限g进行比较,SUSAN的边缘检测就是将g设定为nmax(圆形像素区域内像素点的总和)的0.75倍[7],通过下列计算公式来产生图像边缘的响应函数.
(11)
3.2 提出的基于HSI模型的彩色图像边缘检测算法
在HSI颜色空间的彩色图像中,Mahalanobis距离作为两种颜色的色差度量,应用改进的SUSAN算子遍历整个图像检测彩色边缘[11].首先将彩色图像从RGB颜色空间转换成HSI颜色空间,然后用一个5×5的圆形模板遍历彩色图像,计算模板内每一个像素与模板中心像素(核)的Mahalanobis距离,并设定一个判断阈值t,当计算得到的色差小于阈值t时,则认为该像素点与模板中心像素点颜色相似,属于USAN区域;否则,则认为该像素点不属于USAN区域.如公式(9)所示,c(r,r0)则作为判别模板内像素是否属于USAN区域的函数,通过大量的实验测试,当T取0.12时有比较好的检测效果.然后根据公式(10)计算模板中心像素点处USAN区域面积的大小,设定一个门限g,依据公式(11)就可以判断模板中心像素点是否属于边缘点.通过此方法,依次去遍历整个彩色图像就能够有效的检测出彩色图像的边缘,由于不需要计算图像的梯度,因此计算量较小,检测效率较高[12].
4 实验及分析
图3 Flower图像的边缘检测结果
从图3中(c)中Sobel检测算子和(e)中传统SUSAN边缘检测算子可以发现对于对比度较低,亮度差异较小的灰度图,不能很好的检测出图像的某些边缘,而(e)所示的Canny算子在灰度图像中的检测效果要优于这两种方法.由图(f)显示,可以发现本文所提出的算法能够直接利用彩色图像的色度和亮度信息,有效的检测出在灰度图中难以检测出的某些对比度较低的边缘信息,比如叶、花和茎的边,由此可见,这种方法的检测效果都要优于前面所提到的几种传统的基于灰度图像的彩色图像边缘检测方法.本文算法在HSI空间中充分利用了彩色图像的色调、亮度和饱和度信息,选取合适的色差阈值,对于不同的彩色图像,都能够有效的检测出彩色边缘.
5 结束语
本文选择了符合人眼视觉特性的HSI颜色空间对彩色图像的边缘进行检测,并提出了利用Mahalanobis距离作为两种颜色的色差度量,在此基础上将改进的SUSAN算子应用到基于HSI颜色空间的彩色图像边缘检测方法.通过设定阈值进行比较判定当前像素点是否属于USAN区域,然后进一步判定是否属于边缘点.实验结果表明,该方法能够充分的利用彩色图像的色调、饱和度和亮度信息,是一种有效的彩色图像边缘检测方法.检测效果要优于基于灰度图像的传统彩色边缘检测方法.
[1] 张 铮,王艳萍,薛归降,等.数字图像处理与机器视觉-Visual C++与Matlab实现[M].北京:人民邮电出版社,2010:335-336.
[2] Canny J.A computational approach to edge detection[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[3] 田军委,黄永宣.基于熵约束的快速FCM聚类多阈值分割算法[J].模式识别与人工智能,2008,21(2):221-226.
[4] Sangwine S J.Color image edge detector based on quaternion convolution[J].Electronic Letters,1998,34(10):969-971.
[5] 刘思远,李晓峰,李在铭.基于邻域彩色变化矢量场的图像边缘检测技术研究[J].计算机应用研究,2007,24(7):290-291.
[6] 原春锋,王传旭,张祥光,等.光照突变环境下基于高斯混合模型和梯度信息的视频分割[J].中国图象图形学报,2007,12(11):2 068-2 072.
[7] Smith S M,Brady J M.SUSAN-A new approach to low level image processing[J].International Journal of Computer Vision,1997,23(1):45-78.
[8] 李贵俊,刘正熙,游志胜,等.一种基于色差和彩色归一化的车身颜色识别算法[J].计算机应用,2004,24(9):47-49.
[9] 叶齐祥,高 文,王伟强,等.一种融合颜色和空间信息的彩色图像分割算法[J].软件学报,2004,15(4):522-530.
[10] 景晓军,李剑锋,刘郁林.一种基于三维最大类间方差的图像分割算法[J].电子学报,2003,31(9):1 281-1 285.
[11] 郭 阳,徐心和.在基于形状信息的视觉识别中颜色信息的应用[J].仪器仪表学报,2006,27(S):758-759.
[12] 宗常进,毕军涛,董军宇.基于离散小波变换的信号分解算法研究[J].计算机工程与应用,2009,45(8):165-167.