基于改进Canny算子高低阈值选取的遥感图像边缘检测
来源:用户上传
作者:李�m星 任江龙
摘 要:针对传统Canny算子存在梯度算子简单、阈值选取缺乏自适应性等问题,提出一种改进的高低阈值选取算法。首先将卷积模版扩大到3×3,并对45°和135°方向上的权值进行优化;然后利用改进的Otsu法自适应地生成高低阈值;最后对局部阈值进行优化,从而完成对Canny算子的改进。实验结果表明,针对不同的影像,改进算法能自适应地生成符合局部特征的高低阈值,在纹理细节丰富和图像对比度较小的区域,能够在避免过多冗余信息的情况下最大限度地保留局部细节,改进后的方法能够为边缘提取提供参考。
关键词:Canny;高低阈值;Otsu;中值;局部阈值优化
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2022)20-0081-04
Remote Sensing Image Edge Detection Based on Improved Canny Operator High and Low Threshold Selection
LI Bingxing, REN Jianglong
(Zhongshui North Survey, Design and Research Co., Ltd., Tianjin 300222, China)
Abstract: Due to the traditional Canny algorithm has the problems of simple gradient operator and the threshold selection is not adaptive, an improved high and low threshold selection algorithm is proposed. First, the convolution template is expanded to 3×3, and the weight in 45°and 135°direction is optimized. Then, the improved Otsu method is used to adaptively generate high and low thresholds. Finally, the local threshold is optimized to improve the Canny operator. The experimental results show that, for different images, the improved algorithm can adaptively generate high and low thresholds consistent with local features. In areas with rich texture details and low image contrast, the local details can be retained as much as possible without too much redundant information. The improved method can provide a reference for edge extraction.
Keywords: Canny; high and low threshold; Otsu; median value; local threshold optimization
0 引 言
随着数字化信息技术的快速发展,数字影像的边缘提取技术越来越广泛地应用于深空探测、摄影测量、医疗、交通等各大领域[1,2]。进行深空探测时,通过获取不同图像之间有效的共有边缘信息,进行区域的三维重建,这样我们就可以深入地了解星体地貌概况。在摄影测量中,可以通过自动识别的方式来提取地物边缘信息,降低人工矢量化操作时间,提高了作业效率。可以说,准确高效的边缘提取技术对社会各大领域的发展有着十分重要的作用。
有关边缘提取技术,国内外学者已经做了大量研究。由于边缘是发生突变像素的集合,大多经典边缘提取方法是基于微分算子实现的,例如经典一阶微分算子Roberts、Sobel、Prewitt算子,经典二阶微分算子Lapliance、Log算子等[3-5],但是微分算子受噪干扰的影响大,鲁棒性低易提取出伪边缘。John Canny于1986年提出的多级边缘检测方法具有较好的提取效果,但使用该方法进行图像平滑及双阈值选择时需要人工设置阈值,这样就降低了提取算法的自适应性,同时会导致识别出伪边缘或丢失真实边缘情况的发生,并且对于微弱边缘的提取有一定的困难。因此,国内外学者在经典Canny的基础上提出各种新方法以获取更好的提取效果。文献[6]中提出将Canny卷积模板扩大为3×3,使用邻域内的像素平均梯度代替原梯度进行边缘提取,该方法可准确提取出边缘信息,冗余较少,但是不易提取出微小边缘。文献[7]中提出结合Canny与决策树模型的信息提取方法,该方法可检测出大量边缘,但是算法复杂度较高。以上方法虽然可在一定程度上提取出边缘信息,但是却不能提取出符合图像分布的微弱边缘。有鉴于此,本文结合改进的3×3梯度模版,利用改进的Otsu法进行初始高低阈值选取并在此基础上进行局部阈值优化,提出新的高低阈值选取方法,从而完成对算法的改进。
1 经典Canny算法
Canny边缘检测算法的运算过程主要包括以下4个步骤:
(1)高斯滤波平滑影像。为了有效减少噪声的影响,进行噪声去除操作,通过高斯滤波器进行图像平滑,具体如式(1)所示:
nlc202211211604
(2)梯度及梯度方向计算。设滤波后图像水平两个方向的梯度值分别为Gx(i,j)和Gy(i,j),则该点的梯度值与梯度方向为:
(3)非极大值抑制。在梯度方向上,如果相邻两个像素的梯度幅值都大于该处的梯度幅值,则该点标记为非边缘点;否则,该点标记为边缘候选点。
(4)边缘点筛选及连接。对极大值抑制后的图像进行阈值化和边缘连接:遍历图像,若像素点梯度幅值大于高阈值,确定为边缘点;若像素点梯度幅值小于低阈值,确定为非边缘点;若像素点梯度幅值介于高低阈值之间,则判断其八邻域内是否有大于高阈值的点,若有,则为边缘点,否则为非边缘点。
按照以上步骤即可对图像进行边缘检测,对于分辨率、对比度较高的图像,通过该方法可实现单像素精度边缘检测,该方法应用广泛,可为图像处理提供可靠的检测数据。
2 Canny算子改进算法
2.1 梯度算子的改进
由于传统Canny算子在统计像素梯度时,只考虑了水平和竖直两个方向的梯度,并未对倾斜方向的梯度信息进行统计,导致梯度计算精度不高,为获取更加符合图像自身分布的梯度,依次添加45°和135°方向上的梯度分量,并按距离加权确定最终梯度幅值和方向,示意图如图1所示。
将45°与135°方向上的梯度幅值按水平与竖直方向进行分解,并确定最终梯度,分解公式为:
其中,G(i,j)表示最终梯度,θ(i,j)表示梯度方向。
2.2 双阈值求取算法改进
2.2.1 Otsu法双阈值提取
Otsu法以图像目标和背景的类间方差为测度准则,当该测度准则函数取最大值时,得到最佳的阈值。本文利用改进的Otsu法,将图像分为非边缘点梯度幅值集合C1类、候选点梯度幅值集合C2类、边缘点梯度幅值集合C3三类,计算类间方差,找到最佳阈值。计算过程如下:
(1)计算各个梯度幅值所对应的概率并计算图像梯度期望E:
其中,N为图像像素的总个数,ni为梯度对应的像素个数。
(2)分别计算三类的梯度幅值期望后,计算类间方差,可得:
其中,k∈[1,L],m∈[k+1,L]。当σ2(k,m)达到最大值时,默认为类间方差最大,分离性最好。此时,gradk、gradm分别对应Canny算子的高低阈值Thigh、Tlow。
2.2.2 局部阈值优化
在确定的高低阈值的基础上,为保证图像局部微弱边缘信息的完整性,避免真实边缘漏检,依据图像局部特征进行局域阈值优化,从而保证不同程度的边缘均可进行有效检测,提高了边缘检测精度,具体流程为:
(1)首先选择3×3大小的模板,并对9个像素值进行重新排列,取中值Gmed(i,j)代替中心像素值,然后遍历整幅影像,找到整幅影像中值幅值的最大值Gmax。
(2)局部窗口阈值优化。在3×3窗口中将Canny法中的高低阈值Thigh、Tlow按照二者的比例进行分配,得到该像素处新的高低阈值TNhigh(i,j)、TNlow(i,j),其中:
(3)遍历整幅影像,计算所有小窗口内的高低阈值TNhigh(i,j)、TNlow(i,j),并进行检测。
3 实验与分析
为了验证本文算法的可行性,分别采用经典的Lena图像、两张无人机航摄影像1、航摄影像2、遥感影像3、遥感影像4进行实验。
本文采用两组实验,实验1利用不同影像,分别采用相同的高低阈值进行实验,说明经典canny算法缺点。其中高阈值1取7.5,高阈值2取15,低阈值取高阈值的0.4倍。其中(a~e)依次为五幅实验数据原始图像,(f~j)为取低阈值7.5时的边缘检测结果,(k~o)为取高阈值15时的边缘检测结果。具体检测细节如图2所示。
由图2的实验结果可以得出,对于经典canny算法,发现当高阈值由7.5增加到15时,由于高阈值设置过大,导致弱边缘被剔除,造成提取的边缘显著减少。对比(f)(k)、(g)(l)、(h)(m)、(i)(n)和(j)(o),发生如(k)中帽子顶端断裂,(l)中花坛旁边道路边缘信息丢失严重,(m)中公路边缘信息丢失等情况。而且,对于五张不同的影像而言,由于各影像的性质存在差异,采用相同阈值提取出的最终效果也不一样。当阈值变化相同时,(k)(n)信息丢失较少,(l)次之,(m)(o)信息丢失较多。
实验2采用高阈值1为7.5和本文确定阈值对上述图像进行边缘信息提取。(f~j)依次为canny低阈值取7.5时检测出的边缘结果,(k~o)为本文算法阈值下的边缘检测结果,具体细节如图3所示。
由图3的实验结果可以得出,对于纹理细节比较丰富的地区,本文算法在提取微小边缘的情况下尽可能地减少冗余信息,并且保证所提取小边缘的相对完整性。在影像Lena中,(f)中对帽子中间部分,中间小的褶皱并不是边缘但也被提取出来了,而在(k)中只提取了帽子的主要轮廓,将微小的细节舍弃,减少不必要的冗余信息;在遥感影像3中,(i)中提取了农田的微小信息,(n)则没有这一部分。对比原图,发现此处地物性质一致,(n)结果更合理;航摄影像1中花坛中低矮的植被和航摄影像2中道路旁边的绿化树木,经典canny虽然能提取所需信息,但结果比较零散,不能反映所提取对象的形状特征,如(g)(h)中绿、蓝色边框所示。而本文所得提取结果的连续性、完整性较强,提取结果如(l)(m)所示。在图像对比度较小的区域,经典的canny算法由于采用单一的高阈值,可能会将对比度差异较小的边缘信息剔除。如遥感影像3中,由于农田边缘间的差异较小,造成农田边缘结果丢失。而在(o)中,这一部分则被提取了出来。
改进方法先从图像整体特性出发,利用改进的Otsu方法先找到符合整幅图像特征的高低阈值。然后对高低阈值进行局部阈值优化,对于不同区域,自适应地根据周围的情况生成合适本区域的高低阈值,这样能够在避免过多冗余信息的情况下,最大限度地保留局部细节。因此,该算法在自动化程度、准确性与适应性方面均优于经典Canny算法。
4 Y 论
本文提出一种改进的Canny算法,分别统计水平、竖直和倾斜方向的梯度分量,获取了更加可靠的梯度和梯度方向信息:同时,利用改进的Otsu方法自适应地生成梯度双阈值的初始值,并结合局部梯度特征对高低阈值进行优化,从而完成对Canny算法的改进。改进方法可自适应地获取高低阈值,避免了手动设置阈值带来的不确定性,在确定梯度双阈值时结合了局部区域的特征,相较于经典Canny算法,不仅能提取相对完整的细节部分边缘,而且还能有效地减少冗余信息。
参考文献:
[1] 娄平,杨欣,胡辑伟,等.基于边缘计算的驾驶疲劳检测方法 [J].计算机工程,2021,47(7):13-20+29.
[2] 王超.基于图像增强的几种雾天图像去雾算法 [J].自动化应用,2018(2):70+80.
[3] 李军军,曹建农,廖娟,等.多方向小波变换高分影像边缘提取 [J].国土资源遥感,2019,31(1):8-15.
[4] 孙汝萍.一种改进的图像边缘提取方法 [J].科技通报,2018,34(10):158-161+167.
[5] 王文豪,姜明新,赵文东.基于Canny算子改进的边缘检测算法 [J].中国科技论文,2017,12(8):910-915.
[6] 徐辛超,付晨,徐爱功.一种改进的Canny边缘提取方法 [J].遥感信息,2016,31(5):43-46.
[7] 郑健,王继,宋世铭.Canny双阈值算子在边缘提取中的优势 [J].地理空间信息,2019,17(11):128-130+12.
作者简介:李m星(1990―),男,汉族,山西忻州人,工程师,硕士研究生,研究方向:工程管理、测绘工程、摄影测量与遥感。
nlc202211211604
转载注明来源:https://www.xzbu.com/1/view-15442409.htm