基于改进Canny的激光主动成像图像边缘检测算法研究
2016-03-16张腾飞张合新程展欣
张腾飞,张合新,孟 飞,孙 鹏,程展欣
(第二炮兵工程大学,西安 710025)
基于改进Canny的激光主动成像图像边缘检测算法研究
张腾飞,张合新,孟 飞,孙 鹏,程展欣
(第二炮兵工程大学,西安 710025)
针对传统Canny边缘检测算法存在的不足,结合激光主动成像末制导的实际特点,提出了一种改进的Canny边缘检测算法。该算法在Canny边缘检测算法的基础上,采用同态滤波和提升小波变换级联的方法代替传统的高斯滤波器;采用3×3邻域的权值梯度计算方法代替原有的2×2邻域差分运算;采用Otsu自适应阈值计算方法,使算法可根据图像自身特点选择最合适的阈值。实验证明:该算法提升了传统Canny算子的抗干扰能力和鲁棒性,能够较好地保存边缘信息,准确检测出激光主动成像图像的边缘,具有较强的自适应性。
激光主动成像; 末制导;边缘检测;Canny算子
0 引言
激光主动成像能够同时获取目标的多种特征信息,准确描述目标信息,因而突破传统成像概念,迅速成为研究的热点。运用激光主动成像技术的制导武器以其制导精确,抗干扰能力强,适应战场复杂环境等优点,得到各国军方的广泛应用[1-2]。在激光主动成像图像匹配制导中,特征之间的相似程度直接反映了匹配程度,而图像的边缘能够很好地反映出目标物体的曲线特征,因此边缘特征是图像匹配的重要参考依据。而在实际应用中,复杂的战场环境以及成像系统内部干扰,使得飞行器激光导航制导系统获取到的激光图像噪声大、分辨率低,加之激光主动成像特殊的成像机理,使用传统的图像边缘特征提取算法难以达到预期效果[3]。因此,研究准确率高、抗噪性好、实时性强的边缘检测算法,对于激光主动成像制导后续的图像匹配尤为重要。
在图像匹配领域,人们提出了许多边缘检测技术,典型的方法有一阶微分算法(如Poberts算法、Sobel算法、Prewitt算法、Krish算法)、二阶微分算法(如Laplacian算法、Mart算法、Hildret算法等)、高斯法、基于小波变换的多尺度法、神经网络法等等[4]。John F.Canny在文献[5]中提出了Canny边缘检测算法,相比以上经典算法,Canny算法具有信噪比高、定位精度高和抑制虚假边缘能力强的特点,在目标识别以及图像匹配中得到了广泛的应用。
但经过实际应用,我们发现传统的Canny算子仍存在一些问题,例如Canny算子中采用的高斯平滑滤波难以抑制激光主动成像的散斑噪声;Canny算子对噪声的抗干扰性不强,在信噪比较差的情况下的边缘提取效果不佳等[6]。所以针对这些问题,本文结合激光主动成像实际特点,设计了一种改进的Canny边缘检测算法,用同态滤波与提升小波变换级联的滤波算法替代高斯平滑滤波,3×3邻域的权值梯度计算方法代替原有的2×2邻域差分运算,采用Otsu自适应阈值计算高低阈值代替人为设定阈值。与经典Canny算法相比较,本文改进的Canny算法仅少量增加了运算开销,提高了激光主动成像图像边缘检测的精度和准确度,有效地实现了激光主动成像图像的边缘检测。
1 传统Canny边缘检测算法
Canny算子的基本思想为:首先采用高斯函数对初始图像进行平滑滤波;然后利用一阶微分极大值提取图像的边缘点,同时由二阶导数的零交点来确定图像强边缘和弱边缘,并通过使用2个检测阈值来分别检测影像中的强边缘和弱边缘。
传统Canny边缘检测算法流程如下。
1.1 图像平滑滤波
经典Canny算法使用二维高斯滤波函数G(x,y),对原始图像F(x,y)进行卷积操作,得到平滑图像I(x,y)。
二维高斯滤波函数为
(1)
平滑后图像为
I(x,y)=F(x,y)·G(x,y)
(2)
1.2 计算图像梯度
图像的梯度包含梯度幅值和梯度方向。经典Canny算法采用2×2邻域内的一阶偏导数有限差分进行计算平滑后的图像I(x,y)的梯度幅值和梯度方向。
将点(x,y)在x和y方向的一阶偏导数记为kx(x,y)和ky(x,y),则梯度幅值为
(3)
梯度方向为
(4)
1.3 非极大值抑制
非极大值抑制是通过2×2邻域中心像素点与梯度方向的相邻像素点梯度幅值,如果该中心像素点为梯度局部最大值点,则将该点标记为可能的边缘点,同时将非局部极大值点赋值为零。
1.4 双阈值检测和边缘连通
经典Canny算法是通过给定高低阈值系数图像直方图,分别计算高、低阈值Th(x,y)和Tl(x,y),对非极大值抑制后的图像进行阈值分割处理。经非极大值抑制后的边缘点梯度幅值大于Th(x,y)作为边缘点保留,小于Tl(x,y)予以删除;介于高、低阈值之间的,若邻域像素点有大于Th(x,y),作为边缘点保留,否则删除。最后根据边缘跟踪算法进行边缘连接。
2 传统Canny算法存在的不足
1)由于激光主动成像主要噪声为散斑噪声,使用高斯滤波噪声抑制效果不理想;
2)采用2×2邻域模型计算梯度幅值和方向,抗噪声能力差,容易漏检真实边缘和噪声虚假边缘;
3)高斯平滑参数σ、高阈值Th(x,y)和低阈值Tl(x,y)参数由人为设定,难以兼顾噪声抑制与边缘细节保留、虚假边缘之间的需求,算法自适应能力差。
3 改进的Canny边缘检测算法
针对经典Canny边缘检测算法存在的不足,结合激光主动成像的实际成像特点,做以下改进。
3.1 采用同态滤波和提升小波变换级联滤波算法代替高斯滤波算法
文献[7]分别从数学模型和噪声统计模型上论述了激光主动成像强度像的噪声主要是散斑噪声。散斑噪声是一种具有负指数分布特性的乘性噪声,可用同态滤波将乘性噪声变换为加性噪声,然后采用提升小波变换的方法进行去除。散斑噪声抑制步骤如下。
(1)对主动成像图像进行同态变换,使乘性散斑噪声变为加性噪声。
散斑噪声可以用下面模型表示
F(x,y)=R(x,y)·S(x,y)
(5)
其中,F(x,y)是观测到的图像,R(x,y)表示不含噪声的真实雷达强度图像,S(x,y)是噪声系数函数。可以通过式(5)两边取对数,进行同态变换,把乘性噪声变成加性噪声再进行处理。
F′=log(F)=log(R)+log(S)
(6)
文献[8]证明了log(S)的统计特性是高斯分布的,可用提升小波变换进行去除。
(2)对同态滤波处理后的图像进行提升小波变换滤波处理。
提升小波变换由3个步骤组成:
1)分裂(Split):采用惰性分割方法,将信号xj进行奇、偶采样,分割成偶样本序列evenj-1和奇样本序列oddj-1,分裂过程可以表达为
Split(xj)=(evenj-1+oddj-1)
(7)
2)预测(Predict):利用2个集合的相关性,用偶样本序列evenj-1对奇样本序列oddj-1进行预测,其误差为
dj-1=oddj-1-P(evenj-1)
(8)
其中,P为预测算子。dj-1为小波系数,在图像中对应着图像的细节部分(高频部分)。
3)更新(Update):定义更新算子U,使dj-1,即细节部分(高频部分),通过更新,再与偶样本序列evenj-1相加得到xj-1,即全局信息(低频部分)。更新的过程可以表达为
xj-1=evenj-1+U(dj-1)
(9)
提升小波重构:
提升小波分解的逆变换也称为提升小波的重构,共包含:反预测、反更新和合并(merge)。
反预测
evenj-1=xj-1-U(dj-1)
(10)
反更新
oddj-1=dj-1+P(evenj-1)
(11)
合并
xj=M(oddj-1,evenj-1)
(12)
其中,M为合并运算。
图1所示为一幅图像经过2次提升小波变换的过程。
图1 提升小波分解过程示意图Fig.1 Matching template
采用对称紧支撑,且具有较高的正则性和消失矩的D9/7小波对图像进行二层提升小波分解,得到分解后图像DD、DC、CD、CC,分别是行高频列高频、行高频列低频、行低频列高频、行低频列低频。
(13)
(3)进行同态逆变换,得到去噪图像I(x,y)。
去噪算法流程如图2所示。
图2 去噪算法流程图Fig.2 Flow chart of denoising algorithm
3.2 采用特定权值梯度计算方法
(14)
最后根据4个方向的梯度幅值计算水平与垂直方向梯度,同时考虑45°方向与135°方向的旋转可变性,采用加权梯度幅值计算公式。
水平方向为
(15)
垂直方向为
(16)
因此改进的梯度幅值为
(17)
梯度方向为
(18)
3.3 采用Otsu自适应阈值方法进行双阈值选取
传统的Canny算子中高、低阈值需要人工设定,无法根据不同图像的自身特征来自适应地确定。针对这个缺点,本文采用可以自动获取阈值的最大类间方差法,简称Otsu阈值法[10]。Otsu阈值算法是用阈值把图像像素分为目标类和背景类两类,通过划分后得到两类的类间方差最大值来确定最优阈值。
我们将目标和背景的分割阈值记为T,目标点数占图像比例为ω0,目标平均灰度为μ0;背景点数占图像比例为ω1,背景平均灰度为μ1,则图像总平均灰度为
μT=ω0×μ0+ω1×μ1
(19)
目标和背景方差为
σ2(T)=ω0×(μ0-μT)2+ω1×(μ1-μT)2
(20)
最佳阈值即是类间方差最大时的T值,此时目标与背景差异最大。令Otsu获得的最佳阈值为高阈值Th(x,y),再由高阈值为低阈值的2倍这一关系求得低阈值Tl(x,y),即Tl(x,y)=0.5Th(x,y)。
将Otsu算法引入Canny算法,使得改进的Canny算法可根据图像自身特点选择最合适的阈值,避免了人为设定高、低阈值的难题,增强了算法的自适应能力。
3.4 对经双阈值处理的图像进行边缘连接,得到最后的边缘图像
在经过Otsu算法得到高阈值Th(x,y)与低阈值Tl(x,y)后,对图像所有像素点进行检测。在高阈值检测结果中连接边缘轮廓,连接到端点时,到低阈值检测结果中寻找边缘点,直到高阈值检测结果所有间断连接起来为止。
4 仿真验证
本文算法是基于激光主动成像在平台探测和飞行器的匹配制导实际应用背景下提出的,所以传统的Canny检测算法的三条评价标准仅能对图像的边缘检测质量进行评价,对图像边缘检测结果的可匹配性无法判断。因此,本文采用相关长度和独立象元两种评价指标。
4.1 相关长度[11]
相关长度(Correlation Length)定义为自相关系数ρ与二维坐标轴所围成的面积L,并且其具有方向性,对于二维图像,分别分为水平方向与垂直方向的相关长度Lh与Lv,可以用以下定义求得:
(21)
其中,c1、c2为常数;h、v分别为水平方向和垂直方向上的增量。一般认为,凡是行距超过Lh或者列距超过Lv的2个像元是不相关的。
4.2 独立像元
独立像元数是图像独立信息的一种度量,定义为
(22)
其中,M、N分别为图像的尺寸大小,独立像元数从统计角度反映了实时图内包含的独立景物的多少,独立像元数越大,匹配效率会越高。
图3(a)所示为大小为256×256的某地区的下视图像,具有较好的分辨率和信噪比;图4(a)所示为大小为256×256距离某建筑物2km的正视激光雷达强度图像,信噪比较差。采用Matlab7.1软件对这两幅图像运用不同的算法进行边缘检测,仿真结果如图3、图4所示。
由图3的视觉效果上来看,在采用信噪比较高的激光强度图像时,Sobel边缘检测算法虽然能够检测出基本的图像特征信息,但明显地拓宽了边缘的轮廓,并在细节信息的处理上效果不理想,造成了部分信息的丢失;Canny算子和本文算法的检测效果均比较理想,但由于Canny算子中的高斯平滑滤波器采用统一的平滑尺度,因此在细节信息的处理和虚假边缘的抑制方面上逊色于本文算法。
从图4的检测效果来看,当采用信噪比较低、噪声干扰大的激光图像时,Sobel算子对于噪声的抑制能力极差,受到了严重的干扰,几乎没有检测到边缘;Canny算子由于存在高斯滤波器,对噪声具有一定的抑制作用,虽然能够检测出建筑的基本轮廓,但出现了明显的错检、漏检,丢失大量图像信息。首先采用同态滤波将乘性散斑噪声变为加性高斯噪声,再根据小波分解多尺度思想进行滤波检测,同时可对图像边缘进行有选择的增强,既能够滤除噪声,又能很好地保持弱边缘,较好地提取图像的边缘。从视觉效果来看,本文的算法达到了较为理想的检测效果。
(a)原始图像
(b) Soble算子
(c)传统Canny算法
(d)本文算法
(a)原始图像
(b) Sobel算子
(c)传统Canny算法
(d)本文算法
表1对以上算法的仿真结果进行相关长度(Lh,Lv)、独立像元数D以及运行时间T的统计。
分析表1中数据,对于信噪比较高的图像,三种算法的检测效果相比于原始图像均有较大的性能提升,本文算法在相关长度和独立象元数两项指标上表现最好,Canny算子与本文算法比较接近,Solel的性能相对较低。
表1 边缘检测算法仿真数据统计
对于信噪比较低、噪声干扰大的激光图像,Sobel算子的检测效果最差,在相关长度和独立象元数上甚至低于原始图像;而Canny算子在两项数据上与原始图像几乎持平;只有本文算法,在性能参数上较原始图像有了较大程度的提升,具有较好的匹配性。
分析算法的运行时间,Sobel算子只利用了模板卷积,所以计算时间最短,但匹配性并不理想。Canny算子先进行高斯平滑滤波,再进行处理,虽然在匹配性上有所提高,但用时最长。本文算法是在Canny算法的基础上,采用计算简单的投票中值滤波和提升小波变换级联滤波代替高斯滤波,在拥有最高匹配性的同时仅少量增加了运算时间,具有较好的实时性。
5 结论
本文在分析传统Canny边缘检测算法的基础上,结合边缘检测在激光主动成像制导方面的实际应用,提出了一种改进Canny边缘检测算法。通过使用实际的激光图像进行仿真验证,本文算法对于激光主动成像图像的边缘检测是适用的,并且通过视觉效果和各项性能指标表明,该算法具有较强的抗干扰能力,较好的边缘细节保护能力,能够较为完整、准确地检测图像边缘,并且较快的运算速度使其更具工程应用价值。
[1] 李建中, 彭其先, 李泽仁, 等. 弹载激光主动成像制导技术发展现状分析[J].红外与激光工程, 2014, 43(4): 1117-1123.
[2] 李达, 李云霞, 蒙文, 等. 激光主动成像技术应用及发展[J]. 电光与控制, 2013, 20(9): 59-63.
[3] 李晓峰, 徐军, 张胜修, 等. 激光主动成像图像边缘检测方法[J].中国激光, 2010, 37(6): 1599-1601.
[4] 韦炜. 常用图像边缘检测方法及Matlab研究[J].现代电子技术, 2011, 34(4): 91-94.
[5] Canny J. A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[6] 赵岩, 周百灵, 陈贺新. 一种改进的基于Canny算子边缘检测算法[J].吉林大学学报(理学版), 2012, 50(4): 740-744.
[7] 李自勤, 李琦, 王骐, 等. 由统计特性分析激光主动成像系统图像的噪声性质[J].中国激光, 2004, 31(9): 1081-1085.
[8] Xie H, Pierce L E,Ulaby F T.Statistical properties of logarithmically transformed speckle[J].IEEE Transactions on Geoscience and Remote Sensing, 2002,40(3):721-727.
[9] Yen J C, Chang F J, Chang S. A new criterion for outomatic multi-level threasholding[J].IEEE Transactions on Image Processing, 1995, 4(3): 370-378.
[10] 张志强, 宋海生. 应用Otsu改进Canny算子的图像边缘检测方法[J].计算机与数字工程, 2014, 42(1): 122-128.
[11] 孟飞, 夏朝晖, 强征捷, 等. 激光主动成像图像边缘检测算法研究[J].激光与红外, 2013, 43(10): 1192-1196.
Laser Active Imaging Image Edge Detection Algorithm Based on Improved Canny Algorithm
ZHANG Teng-fei, ZHANG He-xin, MENG Fei, SUN Peng, CHENG Zhan-xin
(The Second Artillery Engineering University, Xi’an 710025, China)
By analyzing the shortcoming of the traditional Canny algorithm and combining the characteristics of laser active imaging image, an improved Canny edge detection algorithm was proposed. The algorithm was based on Canny edge detection algorithm, using the homomorphic transformation and lifting wavelet transform to replace the traditional Gaussian filter. The extent of filtered image grades is calculated by using an adaptive method of 3×3 adjacent regions gradient.Finally, Otsu algorithm was used to get appropriate thresholds adaptively based on the features of the image. Experiments show the algorithm improves the anti-interference ability and robustness of the traditional Canny operator, doing well in keeping the detailed edges of laser active imaging image and has strong adaptability.
Laser active imaging; Terminal guidance; Edge detection; Canny operator
10.19306/j.cnki.2095-8110.2016.06.011
2015-09-07;
2015-10-20。
张腾飞(1991 - ),男,硕士,主要从事激光主动成像图像处理与目标识别方面的研究。E-mail:541513539@qq.com
391.41
A
2095-8110(2016)06-0057-06