APP下载

基于改进的Scharr算法的海上舰船图像边缘检测∗

2019-03-27李浩谊马春庭

舰船电子工程 2019年3期
关键词:舰船算子灰度

李浩谊 马春庭

(中国人民解放军陆军工程大学石家庄校区火炮工程系 石家庄 050003)

1 引言

近年来,海上舰船目标的检测与识别成为图像处理技术领域的研究热点,而图像分割技术能够将图像中的目标物体和背景相分离,以便于更好地进行舰船目标的识别与检测[1]。其中图像边缘特征提取成为了当前舰船图像分割领域的一个重要分支,也是基于目标几何外形的研究方法之一。但复杂多变的海面背景、起伏不断的海浪轨迹、船只外形样貌的多样性以及图像噪声等这些因素,使得关于海上舰船目标的边缘提取成为图像处理的一大技术难点[2]。传统的图像边缘检测方法有Sobel算法、Canny算法、阈值化分割法和灰度二值法等,但对于目标与背景灰度相似、灰度变化平滑的舰船图像来说,这些方法存在计算量大、边缘模糊等不足[3]。

针对以上问题,本文提出一种改进的Scharr边缘检测算法并应用于海上舰船图像中,该算法结合统计滤波去噪算法和改进的自适应双阈值选取算法的优点,用0°,45°,90°和135°四个方向的Scharr算子模板来提取舰船图像目标边缘,并通过仿真对比实验对其进行评价,证明该算法与传统方法相比,提取的边缘图像质量更好,受噪声影响更小。

2 算法的基础及分析

2.1 统计滤波去噪算法

由于海上舰船图像中大多存在着起伏不断的海浪轨迹等噪声,这将使后续的边缘检测过程变得困难,因此选择一个高效且有效的去噪算法对边缘检测十分重要[4]。为了有效减少此类噪声对边缘检测造成的影响,文本采用基于统计滤波的去噪算法,该算法是利用灰度均值和方差的统计性质来滤波去噪的[5]。

对于一幅M×N的灰度图像W,图像灰度级和与其邻域像素均值灰度的灰度级都是L,为图像在点的灰度值,用μ表示所

有像素点的平均灰度值,μ的表达式为

另外,用σ2表示所有像素点的方差,σ2的表达式为

然后通过下文中的式(5)给定的阈值T求出对应像素点灰度值,表达式如下:

2.2 Scharr边缘检测算法

传统的Scharr算子模板主要用作边缘检测,它包含两组3×3的矩阵,分别代表水平方向和垂直方向[6]。该算法分别用两组算子模板与图像作平面卷积,计算得出图像横向灰度和纵向灰度的差分近似值,由式(4)可以分别得到梯度由公式得出像素点的梯度,假如梯度大于某一设定的阈值,则认为该点为边缘点[7]。

为了提高边缘检测的准确性,本文增加了45°和135°两个方向算子模板,其算子模板如图2所示。模板内的数值为模板权值,通过参考文献[8]和利用类比的方法确定模板权值。

图1 传统的Scharr算子模板

图2 增加的Scharr算子模板

Scharr作为一阶微分算子,与其他边缘微分算子具有相同的基本特点,即对突变有较强的响应,其优点是速度极快,准确度比传统的Sobel算子更好,但缺点是人为设定的阈值无法很好的分离边缘候选点中边缘点与非边缘点[9]。

2.3 自适应双阈值选取算法

传统的Scharr算法是通过人为设定固定阈值来进行图像的最终分割,固定阈值的设定对边缘检测的准确度影响十分大。如果阈值选择合适,不仅对能够抑制伪边缘,同时还能在很大程度上减少噪声带来的影响。如果阈值选取过高会丢失一些边缘信息,阈值选择过低则会导致伪边缘影响图像的质量,选择合适的阈值对Scharr边缘检测是十分重要的[10]。本文提出一种改进的基于简单统计法的自适用双阈值选择方法,该方法不是人为地选择阈值而是通过图像本身的像素灰度特点通过算法选择合适的阈值来进行边缘检测。

简单统计法是一种基于简单的图像统计的阈值选取方法。使用该方法,能直接计算一幅图像的分割阈值[11],计算公式为

f为像素点的灰度值,ex水平方向的灰度差值,ey为垂直方向的灰度差值为水平和垂直方向中最大的灰度差值。

但由于海上舰船图像中波浪轨迹等噪声会明显增大水平方向和垂直方向的灰度值的差值[12],因此需要对简单统计法中的ex,ey的计算方法进行改进,考虑到图像的二阶微分的特性[13],同时为了适当减少噪声造成的影响,本文重新定义了ex,ey的计算方法,计算公式如下:

3 改进算法

针对前文分析,为了减小噪声对图像的干扰和解决因传统Scharr算法阈值选取不当产生的问题,本文提出一种改进的Scharr边缘检测算法,具体步骤如下:

1)使用统计滤波去噪算法对图像进行平滑处理;

2)使用四个Scharr算子模板与图像进行卷积运算,计算梯度幅值

3)用双阈值算法检测边缘。像素点梯度值大于高阈值Tmax的一定是边缘;像素点梯度值小于低阈值Tmin的一定不是边缘;如果像素点梯度值大于低阈值而又小于高阈值,则要看这个像素的邻域像素中是否有大于高阈值的边缘像素;如果有则是边缘点,否则不是。

算法流程图如图3所示:

图3 改进的Scharr算法的工作流程

4 仿真实验及结果分析

为了检测本文算法的边缘检测效果,仿真实验在 Matlab R2016a环境下,Intel®Core™i5-6500 CPU 3.20GHz/8.00GB内存的机器上进行的。图4为原图,其中图4(a)为单一海上舰船图像,图4(b)为多艘海上舰船图像。分别采用传统Sobel算法、Canny算法和本文算法进行边缘检测实验,实验结果如图5和图6所示。

图4 仿真对象

图5 不同算法对图4(a)处理效果

图6 不同算法对图4(b)处理效果

图 5(a)、(b)和(c)分别为对图 4(a)的 Sobel算法、Canny算法以及本文算法的检测结果。通过观察,容易看出Sobel算法提取的边缘信息完整,整体轮廓清晰,但同时在舰船两侧存在着大量的离散噪声点。而Canny算法受噪声影响较小,但提取了过多的伪边缘,图像质量不理想。而本文算法由于进行了统计滤波去噪预处理,有效抑制不良噪声带来的影响,增加的算子模板较好地定位了边缘线,使检测的轮廓线较为清晰,连续性较好,图像质量理想。

图6(a)、(b)和(c)分别为对图 4(b)的 Sobel算法、Canny算法以及本文算法的检测结果。由图可见,Sobel算法仍然存在着大量离散噪声点,并且噪声点随机地分布在检测的图像中。而Canny算法则由于大量伪边缘的存在而严重影响了边缘检测的效果。本文算法由于使用了自适应双阈值选取算法选取阈值,因此在多艘海上舰船目标存在时能够更好地显示不同舰船目标,同时抑制噪声造成的影响,检测出的边缘信息完整准确,连续性较好,效果较好。

5 结语

针对传统边缘检测算法对于海上舰船图像检测中存在检测效果不理想、抗噪能力较低的问题,本文提出一种改进的Scharr图像边缘检测方法并成功地运用在海上舰船图像边缘检测中。该算法结合统计滤波去噪算法和改进的自适应双阈值算法的优点,结合实际图像中存在的问题,改进了阈值的计算方法,较好地抑制了噪声的干扰;通过增加Scharr模板算子,准确地检测出图像的边缘,适用于海上舰船图像中的边缘检测。如何进一步提高算法鲁棒和细化检测的边缘,则有待进一步研究。

猜你喜欢

舰船算子灰度
舰船通信中的噪声消除研究
采用改进导重法的拓扑结构灰度单元过滤技术
拟微分算子在Hp(ω)上的有界性
基于灰度拉伸的图像水位识别方法研究
舰船测风传感器安装位置数值仿真
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于最大加权投影求解的彩色图像灰度化对比度保留算法
Roper-Suffridge延拓算子与Loewner链
基于灰度线性建模的亚像素图像抖动量计算