基于Canny边缘检测算子的图像检索算法

2010-07-13 06:01赵宏中张彦超
电子设计工程 2010年2期
关键词:梯度方向算子梯度

赵宏中,张彦超

(1.武汉理工大学 经济学院,湖北 武汉 430070;2.武汉理工大学 计算机科学与技术学院,湖北 武汉 430070)

近年来,随着数字图像的大量应用以及大容量存储空间的获得,人们迫切需要一种存储、管理与检索图像的方法,于是图像检索技术应运而生,图像检索就是利用图像的物理属性或者描述关键词在图像数据库中寻找与所查询图像相关或相似的图像[1]。基于内容的图像检索方法CBIR(Content-Based Image Retrieval)[2]依赖图像的色彩、形状、纹理等物理属性检索相似图像。其中形状是图像的显著特征之一,其概念非常明确,而且由形状的特征来区分物体也较为直观,因此形状特征广泛应用于CBIR中。而形状的提取以图像的边缘检测[3-4]为前提,边缘检测的效果直接影响检索结果。

为了提高基于边缘检测的图像检索系统性能,Canny提出边缘检测算子应满足的最优准则[5]:信噪比准则、定位精度准则及单边缘响应准则,并由此推导出了Canny最佳边缘检测算法。Canny算法首先应用高斯滤波器平滑图像,再采用窗口计算灰度梯度的幅值和方向,然后对梯度图像进行非极大值抑制,最后采用双阈值方法从候选边缘点中检测和连接边缘。然而,实际图像采集过程易受光源照度、信号传输等因素的影响,不可避免地会引入噪声。同时,一些重要的边缘细节也会由于干扰或对比度不足而变得模糊、微弱。因此,在实际图像中,部分边缘细节可能具有与噪声类似、甚至更低的梯度幅值。此时,传统Canny算法基于梯度幅值的双阈值方法往往难以在抑制噪声的同时保护低强度边缘,在一定程度上影响边缘检测的效果,进而影响图像检索性能。

基于上述问题,本文采用改进的Canny算子,提出一种基于改进Canny边缘检测的图像检索算法。首先使用改进的Canny算子进行边缘检测,然后提取边缘信息作为形状特征进行图像检索。

1 传统的Canny边缘检测方法[6-7]

1.1 图像平滑

Canny用范函求导方法推导出高斯函数的一阶导数即为最优边缘检测算子的最佳近似。由于卷积运算可交换,可结合,Canny方法首先采用二维高斯函数对图像进行平滑:

式中,σ为控制平滑程度的高斯滤波器参数。σ较小的滤波器定位精度高,但信噪比低;σ较大,则反之。

1.2 梯度幅值和方向的计算

传统Canny算子利用一阶微分算子来计算平滑后图像I各点处的梯度幅值和梯度方向,从而获得相应的梯度幅值图像G和梯度方向图像θ。其中,点(i,j)处2个方向的偏导数Gx(i,j)和 Gy(i,j)分别为:

则点(i,j)处的梯度幅值和梯度方向分别为:

1.3 非极大值抑制

为了精确定位边缘,必须细化梯度幅值图像G中的屋脊带,而只保留幅值的局部极大值,即非极大值抑制(NMS)。Canny算子在梯度幅值图像G中以点(i,j)为中心 3×3的邻域内沿梯度方向 θ(i,j)进行插值,如果点(i,j)处的梯度幅值G(i,j)大于 θ(i,j)方向上与其相邻的 2 个插值,则将点(i,j)标记为候选边缘点,反之则标记为非边缘点。从而得到候选边缘图像N。

1.4 检测和连接边缘

传统Canny算子采用双阈值法从候选边缘点中检测和连接得到最终的边缘,首先选取高阈值Th和低阈值Tl,然后扫描图像,检测候选边缘图像N中标记为候选边缘点的任一像素点(i,j)。 若点(i,j)梯度幅值 G(i,j)大于高阈值 Th,则该点一定是边缘点;若点(i,j)梯度幅值 G(i,j)小于低阈值 Tl,则该点一定不是边缘点。而对于梯度幅值处于2个阈值之间的像素点,则将其看作疑似边缘点,需进一步依据边缘的连通性对其进行判断,若该像素点的邻接像素中有边缘点,则认为该点也为边缘点,否则,该点为非边缘点。

2 改进的Canny算子

由于实际图像在采集过程易受到光源照度、信号传输等因素的影响,不可避免地会引入噪声。同时,一些重要的边缘细节也会由于干扰或对比度不足而变得模糊、微弱。因此,在实际图像中,部分边缘细节可能具有与噪声类似,甚至更低的梯度幅值。若仅以梯度幅值大小为标准检测和连接边缘,则可能由于阈值设定过高而损失重要的边缘信息,或由于阈值设定过低不能有效抑制噪声,很难获得满意的效果。

2.1 基于梯度方向的边缘点检测和连接方法

仅使用梯度幅值信息容易混淆低强度边缘和噪声,因此需要寻找新的能够描述边缘点与噪声点之间差异的特征信息。图像中的像素点除了具有梯度幅值信息外,还具有梯度方向信息,而且边缘点的梯度方向一般指向边缘的法线方向,孤立的噪声点则通常没有特定的梯度方向。因此,根据两者在梯度方向特性上的差异,能有效区分边缘点与噪声点。

2.2 改进算子的原理

改进算子采用基于梯度方向的边缘点检测和连接方法,既能有效抑制噪声,又尽可能地保护边缘细节,较好地解决了上述问题,提高了Canny边缘检测算法的性能。如图1所示,在以点0为中心的8邻域内,定义各点与中心点的连线为 Segt={(0,t)/t=1,…,8},称为点 t到中心点的连接。 可以看出,当中心点0与邻域内任意一点处于同一边缘时,其连接Segt也处于该边缘上。定义Angt为中心点0与其邻域内任意点t的平均梯度方向与这两者的连接 Segt法线方向的夹角的绝对值。由于边缘上的点的梯度方向应指向该点处边缘的法线方向,则当中心点0与邻域内任意点t处于同一边缘上时,Angt应小于一个较小值T。而对于噪声点,由于其与相邻点梯度方向不同,使得Angt值通常较大。因此,依据梯度方向信息能够有效区分图像中的边缘点和噪声点,从而在抑制噪声的同时准确实现边缘点的检测和连接。

图1 8邻域结构

2.3 改进的Canny算子

改进的Canny边缘检测算法采用基于梯度方向的边缘点检测和连接方法,由于考虑了边缘点和噪声点在梯度方向上的差异,从而避免了传统方法在抑制噪声的同时损坏低强度边缘的缺陷,可获得更好的性能。

此外,在实际应用过程中,受到光的衍射等因素的影响,部分图像中可能含有一些梯度方向特性与边缘十分类似的暗纹,可能使得检测出的图像中存在部分无意义边缘。这类暗纹的梯度幅度通常很低,因此,可以在程序中引入一个较小的梯度幅度阈值,将梯度幅度低于该阈值的点直接标记为非边缘点,避免对其进行基于梯度方向的检测和连接,从而避免这类无意义边缘的出现。

3 基于Canny边缘检测的图像检索算法

本文的算法是通过改进的Canny算子提取精准的图像边缘,再根据边缘信息进行图像检索,其流程如图2所示。

图2 本文算法流程

3.1 图像边缘的表达

傅里叶描述子具有与起始点无关,旋转不变性和转置不变性的特点,因此采用傅里叶描述子来描述形状轮廓向量,以此作为图像的形状特征。

3.2 相似性度量

图像的相似性度量是基于内容的图像检索技术中又一关键问题。它是由图像内容的相似度得到图像相似性的一种比较方法。相似性度量研究如何用数值来有效的表示图像的相似程度。相似性度量将直接影响检索效果。在模式识别技术中,特征的相似度量多采用距离法,即特征的相似程度用特征向量的空间距离来表示,距离越大,图像之间的差别越大,反之就越相似。由于马氏(Manhanttan)距离[8]能准确匹配噪声图像和遮挡图像,具有很高的可靠性和稳定性,因此本文使用Manhanttan距离来衡量图像间是否相似。Manhanttan距离的计算公式如下:

3.3 算法实现

基于改进的Canny边缘检测算子的图像检索算法实现步骤如下:1)对图像库中的图像进行预处理,去除噪声及冗余信息;2)选择查询示例图像,使用改进的Canny算子提取图像边缘信息;3)使用傅里叶描述子表示查询示例图像。同时初始化图像数据库,对于每一幅图像用改进的Canny算子提取图像边缘信息并且使用傅里叶描述子表示。此时,图像特征转化为向量;4)根据向量间的Manhanttan距离在数据库中比对,并按照距离的大小对检索结果排序完成整个检索过程。

由于改进的Canny算子能够精准的提取图像边缘信息,因此本文的图像检索算法能在一定程度上提高检索效率,得到更好的检索效果。

4 实验及结果分析

基于上述思想,本文实现了一个实验系统。实验采用的测试图像数据库共有3 500幅图像,包含汽车、动物、花卉等共7类,每幅图像的分辨率为256×385,实验硬件环境为Intel Dual-Core1.6 GHz,Windows XP,1 GB 内存 PC 机。

4.1 边缘检测实验结果及分析

在测试图像数据库中选择测试图像,基于传统Canny算子以及基于改进Canny算子的边缘检测结果如图3所示。

图3 边缘检测结果

由图3可见,与传统Canny边缘检测算法相比,改进的Canny算子在保持传统算法优点的基础上,检测到了更多的低强度边缘,从而更全面地反映了图像的细节信息,此外,改进的Canny边缘检测算法在保持边缘清晰连贯的同时,具有更强的噪声抑制能力。

4.2 图像检索算法实验及分析

基于传统Canny算子边缘检测的图像检索算法和本文算法的检索结果比较如图4所示。

图4 两种算法的检索结果比较

本文使用查全率(Recall)和查准率(Precision)[9]评估算法的性能。查全率(召回率)A和查准率(准确度)C分别定义为:A=R/M,C=R/N。其中,R指有关联的正确结果,M指所有有关联的结果,N指所有检索到的结果。查全率是衡量检索系统和检索者检出相关信息的能力,查准率是衡量检索系统和检索者拒绝非相关信息的能力。传统基于Canny边缘检测的图像检索算法和本文算法的性能比较如表1所示。

表1 两种算法的检索结果比较

从图4和表1的检索结果可以看出,由于改进的Canny算子能够检测到低强度的边缘,而且较好的保持边缘清晰连贯,所以在此基础上的图像检索算法取得了较好的检索效果,提高了图像检索性能。

5 结束语

本文主要探讨在提高边缘检测性能的基础上改善图像检索效率,为基于形状的图像检索提出一种检索思路,提出基于Canny边缘检测的图像检索算法。该算法使用改进的Canny算子提取图像边缘特征,在此基础上,该特征被应用于图像检索算法中。由于改进的Canny算子能够检测到低强度的边缘而且能够较好的保持边缘清晰连贯,从而提高了算法检索效率。但是,由于图像往往被表示为高维空间中的矢量,因此在现有的技术条件下对其索引和检索都是较困难的,而且“语义鸿沟”问题同样影响图像检索结果。如何突破“语义鸿沟”,更加快速准确地检测出近似图像,将是今后研究的方向。

[1]Mostafa T, Abbas H M,Wahdan A A.On the use of hierarchical color moments for image indexing and retrieval[C]//Systems,Man and Cybernetics,2002 IEEE International Conference,2002,7(6):6-9.

[2]温泉彻,彭 宏,黎 琼.基于内容的图像检索关键技术研究[J].微计算机信息,2007,23(3):278-280.

[3]季 虎,孙即祥,邵晓芳.图像边缘提取方法及展望[J].计算机工程与应用,2004,40(14):70-73.

[4]姚峰林,詹海英,李元宗.机器视觉中的边缘检测技术研究[J].机械工程与自动化,2005(1):108-110.

[5]王 植,贺赛先.一种基于Canny理论的自适应边缘检测方法[J].中国图像图形学报,2004,9(8):957-961.

[6]张 斌,贺赛先.基于Canny算子的边缘提取改善方法[J].红外技术,2006,28(3):165-169.

[7]万 力,易 昂,傅 明.一种基于Canny算法的边缘提取改善算法[J].计算机技术与自动化,2003,22(1):24-26.

[8]宋 艳,刘方爱.基于相似性度量方法的图像检索[J].计算机应用与软件,2007,24(10):166-168.

[9]Smeulders A W M,Santini S,Worring M,et al.Content based image retrieval at the end of the early years[J].IEEE Transactions on Pattern Analysisand Machine Intelligence,2000,22(12):1 349-1 380.

猜你喜欢
梯度方向算子梯度
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
一个改进的WYL型三项共轭梯度法
拟微分算子在Hp(ω)上的有界性
基于机器视觉的钢轨接触疲劳裂纹检测方法
一种自适应Dai-Liao共轭梯度法
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一个具梯度项的p-Laplace 方程弱解的存在性
基于梯度方向一致性引导的边缘检测研究
一类Markov模算子半群与相应的算子值Dirichlet型刻画
一类扭积形式的梯度近Ricci孤立子