关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于色彩对比最大化的彩色图像边界检测

基于色彩对比最大化的彩色图像边界检测

作者:时间:2016-10-15来源:网络收藏

摘要:针对彩色图像,提出一种基于度最大化的图像方法,并在此基础上进行彩色图像的边缘检测,首先将彩色图像的色彩转为符合人眼感知的色彩空间,然后建立目标方程,使的图像的颜色对比与人眼感知一致,然后对方程求解。最后,使用图像边缘检测算子进行边缘检测,结果证明,比一般彩色图像的边缘检测效果好。

本文引用地址:http://www.eepw.com.cn/article/201610/307178.htm

0 引言

图像的是一项应用广泛的技术,在计算机视觉中,边界线和轮廓线描述了物体的形状信息,是识别、理解图像的基础。迄今,对灰度图像已经有多种成熟的算子,如基于梯度计算的Sobel算子,Previtt算子等。这些方法都比较成熟,因此被一些图像处理软件集成,如Matlab。对彩色图像而言,其边界线的检测与灰度图像类似,但由于彩色图像的颜色表示与灰度图相比,较为复杂,因此对彩色图像的边缘检测目前也是一个比较热门的课题。本文实现一个新型的彩色图像的方法,基于颜色对比度最大化保留的理论。可以使用灰度图像的边缘检测算子对彩色图像的结果进行检测。

1 相关研究

边界检测作为计算机视觉、图像理解等领域较为基础的问题,已经有若干年的研究历史。有一些成熟的方法,如基于微分和梯度计算的灰度图象边缘检测。对彩色图像,最早的方法就是把彩色图像先转换为灰度图象,再使用灰度图象的一些经典算子来确定图像的边缘。根据色彩的表示模型,对彩色图像灰度化处理中,传统的方法有几种:分量方法、最大值法、平均值法、加权平均法。所谓分量方法,就是根据RGB的颜色模型,用彩色的一个分量R,G,B来代替像素的灰度值。因此,只能反映一种分量在图像表达中的对比量。最大值,则是根据RGB各分量中取最大值来代替象素的灰度值。平均值是对RBG各个分量,用三个分量的平均值来表示象素的灰度。这三种方法都没考虑彩色模型中,真正对物体的边界和颜色对比起作用的因素。

加权平均法根据重要性及其它指标,将三个分量以不同的权值进行加权平均。考虑到人眼对绿色的敏感最高,对蓝色敏感最低,因此,对RGB三分量进行按照权值为0.299:0.587:0.114加权平均能得到较合理的灰度图像。该过程是将彩色的不连续性转换为灰度的不连续性,操作起来比较方便,但在这个过程中失去了很多信息,影响了彩色图像边缘检测的结果。而且对于颜色的表示,没有充分的依据解释各种颜色分量对于边界线的贡献。

因此,有一些方法,先把彩色图像从RGB空间转化到其他的颜色空间,进行检测。如转化到HSV或YUV空间,对亮度或色度值计算微分求对比度,文献提出了基于HSI颜色空间的彩色边缘检测方法,即首先对HSI颜色空间中的每个分量分别用Sobel算子来得到各自的检测结果,然后加权平均这3个检测结果。文献则提出了基于颜色矢量差和矢量角的彩色边缘检测方法。该方法一方面把颜色看作一个矢量,同时认为矢量的长度就是该颜色的亮度并将两个颜色矢量的矢量差作为这两个颜色的亮度差,另一方面它认为两个颜色矢量之间所张的角的正弦值反应了这两个颜色的色度差的大小。在假设色度差和亮度差的单位一致的情况下,加权平均亮度差和色度差即可得到两个颜色之间的差异。还有一些类似的方法,如文献根据人类视觉系统,通过分立颜色的亮度和色度信息,分别计算亮度差和色度差,加权平均作为最终的颜色距离,文献也是通过将颜色转为YUV空间,并增强亮度和色度的差异来得到图像边缘信息。文献通过设计基于点的对比度增强的方法,提出了对彩色图象增强对比度的方法提取边缘。文献中,将色彩表示的三个元素表示为三角形,然后计算梯度时,根据相邻两象素的颜色三角形的相似性,可以进行多种梯度计算,由此得到较为细腻的边界线。

通过对上述的彩色图像边界检测方法分析,大多数方法使用梯度和差分运算,也就是检测出相邻象素的颜色或亮度的差值,作为边缘点的数据。为了得到明显的边界,通过各种不同方式增强对比度。但上述每个方法中,对比度的增强都是遵循同一个标准,不足以说明对所有图像的有效性。因此,本文根据经典的边界检测方法,设计一种对彩色图像进行对比度最大化的灰度处理方法,使其能够在人眼所能感受的最大对比条件下检测出边界,所检测的结果也更符合人眼的要求。

2 算法

本文提出的彩色图像边界检测的过程分为4个步骤:1.将图像转化到CIELab颜色空间。2.将目标灰度图像的相邻象素的颜色差分与对应象素的CIELab的颜色距离对应,建立目标方程。3.求解目标方程,得到保留最大对比度的灰度图。4.对灰度图进行边界检测。在图像灰度化过程中,使用了最优化理论,可以最大程度地保留初始颜色的对比度,在边界检测过程中,本文分析了传统的灰度图像边界检测算子对我们处理的灰度图像的使用效果,通过与一般的灰度化图像的结果进行比较,证明我们的灰度化结果能够得到明显较好的边界效果。

2.1 图像颜色空间转换

在众多颜色模型中,RGB是一种基于设备的颜色模型,因此像素在颜色空间的差值并不能完全反映出人眼对色彩的感受。CIELab颜色空间是一种基于生理特征的颜色系统,它是用数字化的方法来描述人的视觉感应。所以,对一副图像在人眼中的感受可以用cIElab颜色来表示。通过普通图像的RGB颜色信息,CⅡ丑ab的颜色信息可以通过下面两个步骤转换。

首先,图像的初始颜色的RGB转化为cIExYz颜色空间,XYz颜色空间也是一种与设备无关的模型。cIExYz颜色与RGB的转换可表示为下式。

a.jpg

然后,再由CIEXYZ转化为CIELab颜色空间。因为在cIExYz或cIEYxy空间中,两种不同颜色之间的距离值并不能正确地反映人们色彩感觉差别的大小,也就是说在色度图中,在不同的位置不同方向上颜色的宽容量是不同的,而CIELab颜色空间更能反映人眼的感受。cIExYz转化为cIELab可以按照公式(2.1)-(2.6)进行。

b.jpg

两种颜色的差异可以用其在空间中的点的欧几里得距离来表示:

c.jpg

根据生理和医学研究证明,人类视觉系统并不能精确感知到亮度和色度,相反,它们在图像表达中的关系至关重要。例如,在cIELab颜色系统中,亮度通道的表示中绿色比蓝色亮一些,但对人而言,不同的文化背景等信息,则会影响人对此的判断。因此,单纯研究颜色的对比形成的效果对人眼未必明显。因此我们不是直接基于CIELab颜色空间进行梯度计算。

2.2 建立目标方程

由于边界的计算以梯度和微分计算为主,所以,我们对彩色图像的象素颜色表示从三维降为一维形式,也就是将图像灰度化,但一般的灰度化方法如加权平均,各个颜色分量的贡献并不是对所有的图像都是最好的。为了得到清晰的边界信息,相邻象素的对比度需要很好地保留下来,而对不同的彩色图像,使用任何一个固定的灰度化的公式未表示都不一定能使得最后的对比度与上式一致。即d=a*R+b*G+c*B,a+b+c=1中,权值a,b,c的取值不应该是固定的。

因此,为了使得灰度化后的象素颜色对比与公式一致,我们对即d=a*R+b*G+c*B,a+b+c=1中的a,b,c设置为动态系数,并满足

min∑(x,y)(gx-gy-δx,y)2 (4)

公式4说明我们的目标灰度图中的两个像素的颜色对比最大程度地接近该像素初始颜色在人眼中的对比度。

2.3 方程求解

为了求出系数a,b,c的值,理论上可以使用最优理论进行迭代求解,但对所有的实数计算是比较耗时的。实验证明,系数的微小变化,对生成的灰度图的结果影响不大。因此,可以求出近似的最优解,同时将问题规模降低,从而使算法能够实时实现。我们将解空间离散到[0,1]之间,并设置相邻两个解间隔为α(0α1)。于是,方程解的查找空间降低为1/α*(1/α+1)/2个,如α=0.1,则解空间有11*10/2=66个不同的解。我们在这些解中求出最优的组合的结果,即作为最后图像灰度化的加权系数。实验证明,该系数可以得到较好的灰度化效果。

2.4 灰度图像检测边界

由于灰度图像的边缘检测技术相对比较成熟,因此我们对通过上述步骤灰度化的图像,采用传统的检测算子进行边界检测。首先是传统的Sobel梯度算子对我们处理过的图像的边界检测效果和一般的灰度化结果边界检测效果对比。中间一副是直接未加处理的图像的边界检测,最右边一副是我们处理过后的图像进行检测的结果。通过对比,可以看出经过优化处理灰度化之后的图像,所得到的边界信息比一般的灰度化图像的边界信息更清晰。

e.jpg

对于其他传统的灰度图像检测算子,如Roberts,Prewitt等,我们处理过的图像同样能够得到更充分和清晰的边界信息。Canny算子检测的过程中,我们发现在相同的参数条件下,采用我们的灰度化处理的图像能够得到更准确的边界线。结果如下图,中间图是直接进行边界检测的结果,右图是进行对比度保留后检测的边界线效果。

f.jpg

3 结论

本文针对彩色图像的边界检测,提出了一种对比度最大化保留的灰度化方法,首先,将彩色图像转化到CIELab色彩空间,然后基于人眼对彩色图像的感知,建立目标优化方程,使得象素的视觉差异与转化的目标灰度图一致,然后,通过快速的求解方法,将彩色图像中的颜色信息和亮度的对比信息最大程度地保留,从而在基于梯度和差分算子的边界检测算法中得到更好的边界。



评论


技术专区

关闭