1. 引言
海洋面积约占地球面积的75%,其中蕴藏着丰富的石油、天然气和渔业等资源。水下光学成像技术和声呐成像技术是获取水底环境和目标图像的两种主要方式。水下光学技术获取的彩色图像分辨率很高,但成像范围只有几十米,原因是光在水中的传播距离有限,这在远距离成像中不太实用。由于声波具有在水中传播距离远、穿透力强且不受水温、光照的影响等优点,使得声呐成像技术被广泛应用于石油天然气的勘探、矿产资源的开发、渔业的管理和海底地形结构的探测等领域[1] [2]。图像的边缘信息是图像中最重要的信息之一,它可以描述目标轮廓、目标区域内的相对位置等重要信息。这就意味着,图像的边缘检测对于图像的目标识别非常重要。其次,由于受到海底混响噪声和复杂背景的干扰,声呐图像有对比度差、分辨率低、噪声严重的问题,又给声呐图像的目标识别带来了更为显著的挑战[3]。
图像边缘检测的研究一直是一个热门的问题。很多学者都对其进行了广泛的研究。传统的边缘检测方法将梯度作为检测的优先级,利用像素间梯度的差异进行分割。1963年,Roberts最先提出了用于检测边缘的Roberts算子,随着图像算法不断研究和发展,经典的边缘检测算法逐渐分为两大类,基于搜索的边缘检测算法和基于零交叉的边缘检测算法。前者用一阶导数计算边缘的强度,代表算子有Roberts算子[4],Prewitt算子[5],Sobel算子,以及由John Canny [6]提出的Canny算子;后者通过计算图像二阶导数的零交叉点定位边缘,例如Laplacian算子。
其中,基于Canny算子的传统梯度边缘检测方法有更好的性能,一定程度上解决了其它经典传统边缘检测技术的局限性,使其成为目前应用最广泛的边缘检测算子。目前大多数边缘检测方法都是基于或修改已知的Canny算子[7]-[13]。但在声呐图像的应用中,此算法仍存在问题:首先对于声呐图像的散斑噪声,Canny算子中的高斯滤波器并不能有效去除声呐图像的噪声,这会导致过度检测的现象;其次Canny算子在决定边缘检测精度的高低阈值时,需要根据经验预设,使得检测结果具有很强的主观性,这导致对特征不同的图片提取边缘效果不佳。
针对以上问题,本文将原始Canny算子[6]进行改进,采用LEE滤波器[14]来去除噪声,再计算图像梯度,其次对图像进行非极大值抑制,然后用OTSU阈值法进行双阈值检测和边缘连接,最后用Laplacian算子检测离群点并将其去除。本文具体贡献如下:
(1) 提出一种改进的Canny算子去提高声呐图像边缘检测的连续性、完整性和准确性。
(2) 使用LEE滤波器对图像进行去噪处理。
(3) 使用Laplacian算子检测离群点并将其去除,有效避免了过度检测。
2. 原始Canny算子
在目前常用的边缘检测方法中,Canny算子的边缘检测算法是具有严格定义的、可以提供可靠检测的方法之一。其因运算时间短且过程相对简单而被广泛用于图像边缘检测中[15] [16]。下面给出了Canny算子的边缘检测过程。
(1) 将图像变换为灰度图像。
(2) 使用高斯滤波器平滑图像,消除噪声。
(3) 计算图像中每个像素点的梯度大小和方向。
(4) 使用非极大值抑制,消除边缘检测带来的杂散响应。
(5) 使用双阈值检测来确定真实和潜在的边缘,并将边缘进行连接。
Canny算子的边缘检测算法对于对比度大,噪声分布均匀的图像在边缘检测上有良好的表现[17]。声呐图像的噪声为散斑噪声,并且经过海底各种因素的影响,噪声灰度值与边缘灰度值非常接近,对比度小[18]。虽然将非极大值进行了抑制,但仍会将噪声误判为边缘,形成大量的伪边缘。此外,Canny算子的阈值选取多依靠研究者的经验,这种方法在声呐图像上并不能取得很好的效果。
3. C-L算子
3.1. LEE滤波
本文使用LEE滤波器对原始声呐图像滤波的原因是高斯滤波器对噪声敏感,容易过度平滑,降低检测边缘的数量[19],且LEE滤波在处理SAR图像的散斑噪声中已经取得了不错的效果。声呐图像的噪声多为乘性的散斑噪声,用LEE滤波器代替Canny算子中的高斯滤波器可以得到更好的滤波效果。
LEE滤波是利用局部统计特性进行降噪的典型方法之一,它是基于最小均方误差(MMSE)估计准则。选取一定长度的窗口作为局部区域,并假设可以得到先验的均值和方差。设声呐图像的无噪图像s和散斑噪声n相互独立,在位置m = (a, b)处的含噪图像为f,则图像的模型为[20]:
(1)
Lee滤波器的估计模型为:
(2)
式中:
为加权滤波估计值,λ为滤波系数:
(3)
为s的均值,
为散斑的方差;Var { }表示方差的计算。
3.2. 梯度计算与非极大值抑制
Canny算子的第二步是计算图像梯度的大小和方向。传统的Canny算法采用2*2邻域的有限差分来计算图像梯度的大小和方向。但其较为简单,容易丢失真实的边缘信息[21]。本文计算梯度大小与方向的方法是运用Sobel算子进行计算。其是一种一阶微分算子,由两个3*3的卷积核构成,分别用于计算两个方向的中心像素邻域的灰度加权差。
获取梯度幅值图像后,需要对图像进行非极大值抑制,以准确定位边缘。其过程可以保证每条边缘为一个像素宽度。Canny算法利用8个方向的3*3邻域对梯度幅值沿梯度方向进行插值。如果在梯度方向上的幅值大于两个插值结果,则将其标记为候选边缘点,否则将其标记为非边缘点。最后,通过上述过程得到候选边缘图像。
3.3. 双阈值检测和边缘连接
Canny算子在进行非极大值抑制后,采用双阈值法选取边缘点。将梯度幅值高于高阈值的像素标记为边缘点,梯度幅值低于低阈值的像素标记为非边缘点,其余的标记为候选边缘点。那些与边缘点相连的候选边缘点将被标记为边缘点,与其他的边缘点连接得到检测图像,再将检测图像转化为二值化图像H(a, b)。将这种方法降低了噪声对最终边缘图像边缘的影响。但原始Canny算子的对双阈值的选择没有自适应性,容易丢失局部特征边缘信息[21]。近年来,很多学者将OTSU阈值法应用于Canny算子的双阈值检测中,增加了阈值选择的自适应性[10] [17] [21] [22]。该方法将类间方差最大时的阈值k作为高阈值,将0.5 k作为低阈值[22]。
3.4. 离群点去除
原始Canny算子检测效果图上存在大量的伪边缘。虽然经过上述过程的改进已经消除了一些伪边缘,但还存在一些没有与目标边缘连接的噪声边缘。这种噪声边缘是图像边缘检测中的无用信息,通常孤立在目标边缘之外,本文把这种边缘的像素点称为离群点。
(a) 81*53像素的图像 (b) 处理图1(a)后的图像
Figure 1. Explanation of the necessity of removing outliers
图1. 离群点去除的必要性解释
如图1所示,图1(a)为大小为81*53的图像,图像四周游离的白点为离群点。由图1(b)可以看出无法完全去除离群点,因此有必要用其他的方式去除离群点。本文将Laplacian算子用于去除这些离群点。具体理论如下。
(4)
(5)
其中
为Laplacian算子的差分形式,
为Laplacian算子的卷积模板。由于其在上下左右四个90˚的方向上结果相同。为了让算子在45˚的方向上也具有该性质,对Laplacian算子进行扩展,定义为:
(6)
5*5大小的Laplacian模板如下所示。
(7)
对于图像而言,Laplacian算子常用于图像的边缘检测。但其卷积模板的性质又可以对图像离群点进行检测。下面给出了Laplacian算子检测离群点的相关证明。
Figure 2. Laplacian operator outlier detection
图2. 拉普拉斯算子离群点检测
图2为拉普拉斯检测离群点检测。图2(a)为大小为5*5的图像,中间白点为离群点。图2(b)为图2(a)图像的矩阵表示。图2(c)为图2(a)与Laplacian算子卷积后的结果。图2(d)为大小为5*5的图像,图中两个白点为离群点。图2(e)为图2(d)的矩阵表示。图2(f)为图2(d)与Laplacian算子卷积后的矩阵。图2(g)为大小为5*5的图像,图中三个白点为离群点。图2(h)为图2(g)的矩阵表示。图2(i)为图2(g)与Laplacian算子卷积后的矩阵。图2(j)为大小为5*5的图像,图中四个白点为离群点。图2(k)为图2(j)的矩阵表示。图2(l)为图2(j)与Laplacian算子卷积后的矩阵。
图2的结果表明,在Laplacian算子与图像的卷积结果中,离群点(包括四个及以下点相邻的离群点)的数值是有明显差异的。且经过一次边缘链接后,在真实边缘的8邻域中总会有至少两个点与其相连,故本文将卷积结果中小于−20的点记为离群点。
对于一个点与两个点的离群点,经过滤波与非极大值抑制等操作,已经将其去除。经过大量实验,声呐图像经过边缘连接后,仍然存在的伪边缘很复杂。本文实验的两幅图像中多为3~7个像素。离群点包含的像素越多,所需要的Laplacian算子模板就越大。并且通过此种方式进行离群点去除,离群点中包含的像素越多,真实边缘丢失的就越多。因此,本文选取5个像素为门限,将小于5个像素的相邻点记为离群点。
由于Laplacian算子只能进行离群点检测,所以还需要进行一次逻辑操作将离群点去除。将图像与Laplacian算子进行卷积,处理后的矩阵中数值小于−20的记为逻辑“0”,数值大于−20记为逻辑“1”,将其组成一个新矩阵
。
与
的哈达马积(Hadamard product)就是离群点去除的结果。记为
。
4. 真实声呐图像边缘检测实验与分析
4.1. 图像选取与处理结果
为了验证改进Canny算子在声呐图像上的适用性,本文选取两幅真实声呐图像进行边缘检测试验。图3为两幅沉船图像[23]。图3(a)是大小为224*330像素的声呐图像,图3(b)是大小为173*164像素的声呐图像。图3(a)相较于图3(b),图像亮区与暗区连续没有间断,图像信息较为简单。
Figure 3. The original image of sonar images
图3. 声呐图像的原始图像
本文对以上两幅图像运用以下几种方法进行了对比试验,包括原始Canny算子,基于OTUS划分阈值的改进Canny算子,基于LEE滤波的改进Canny算子,Laplacian算子,和本文改进的Canny算子。其中,基于LEE滤波的改进Canny算子是使用LEE滤波器代替原始高斯滤波的改进算法。以上方法的边缘检测结果如下所示。(实验中原始Canny算子和基于OTUS划分阈值的改进Canny算子使用的均为[21]中的高斯核,σ2 = 3,模板为7*7。基于LEE滤波的改进Canny算子和本文改进的Canny算子中LEE滤波模板为3*3,原始Canny算子和基于LEE滤波的改进Canny算子的高阈值为梯度幅值图像的中值,低阈值为其的1/2。
图4为图3(a)的边缘检测结果图。图4(a)为原始Canny算子的边缘检测结果图,高阈值为116,低阈值为58。图4(b)为基于OTUS划分阈值的改进Canny算子的边缘检测结果图,高阈值为144,低阈值为72。图4(c)为基于LEE滤波的改进Canny算子的边缘检测结果图,高阈值为102,低阈值为51。图4(d)为Laplacian算子的边缘检测结果图。图4(e)为本文改进的Canny算子的边缘检测结果图,高阈值为138,低阈值为69。
Figure 4. Figure 3(a) shows the edge detection results
图4. 图3(a)的边缘检测结果图
Figure 5. Figure 3(b) shows the edge detection results
图5. 图3(b)的边缘检测结果图
图5为图3(b)的边缘检测结果图。图5(a)为原始Canny算子的边缘检测结果图,高阈值为145,低阈值为72。图5(b)为基于OTUS划分阈值的改进Canny算子的边缘检测结果图,高阈值为181,低阈值为90。图5(c)为基于LEE滤波的改进Canny算子的边缘检测结果图,高阈值为191,低阈值为95。图5(d)为Laplacian算子的边缘检测结果图。图5(e)为本文改进的Canny算子的边缘检测结果图,高阈值为238,低阈值为119。
针对图4和图5的边缘检测结果从连续性、准确性进行定性分析。对于边缘检测结果的连续性,基于OTUS划分阈值的改进Canny算子的边缘检测结果最好,其次为本文改进的Canny算子的边缘检测结果,Laplacian算子的表现最差。对于边缘检测效果的准确性,本文改进的Canny算子的边缘检测结果最好,最大程度限制了伪边缘的发生。
4.2. 边缘检测效果评估
主观评价的方法没有一个定量标准,只是一种定性分析。由于人眼分辨能力有限导致人眼观察存在偏差,且该方法常常依赖于评价者的经验及主观判断,所以本文选择几种参数来定量分析每种滤波方法的优劣。评价图像边缘检测质量的优劣还要考虑图像的理想边缘,故本文对两幅真实声呐图像进行了手动标定,划分出了图像的理想边缘。以下评价指标均为理想边缘图像(见图6)与各种边缘检测方法的结果图像的比较分析。
Figure 6. Ideal edge image of real sonar images
图6. 真实声呐图像的理想边缘图像
本文采用均方误差(MSE) [24]分析理想边缘图像与其它边缘检测方法的结果图像之间的相似性,MSE越小,图像之间的相似性越大(两个图像越相似)。其表达式如下所示:
(8)
式中,
为其它边缘检测方法阈值化后的结果图像的像素值,
为其理想边缘图像的像素值。
其次,本文还使用准确率(Precision)和召回率(Recall) [25] [26]来评价边缘检测效果的准确性。在边缘检测中,准确率表示机器生成的边界像素是真实边界像素的概率,召回率表示检测到真实边界像素占所有真实边界像素的概率。准确率和召回率使用TP、TN、FP、FN来计算,如表1所示。
Table 1. TP、TN、FP、FN
表1. TP、TN、FP、FN
估计值 真实值 |
1 |
0 |
1 |
TP |
FN |
0 |
FP |
TN |
准确率P和召回率R可以表示为
(9)
(10)
表2给出了本文方法与其它四种边缘检测方法对的图3(a)定量度量。对于MSE,数值越小代表真实边缘与理想边缘越相似。其中本文改进的Canny算子在MSE上表现最好,数值为0.1056,其次为基于LEE滤波的改进Canny算子,数值分别为0.1088,Laplacian算子表现最差,为0.2909,与其它方法相比,其与理想边缘最不相近。在准确率和召回率上,数值越大证明边缘检测结果越准确。本文方法表现最好,为0.4316和0.1035。本文算法经过离群点去除已经有效去除了噪声边缘,故本文算法的定量度量有更好的效果。基于Laplacian算子的边缘检测效果最差,检测最不准确。
Table 2. Quantitative measurement of Figure 3(a) using this method and four other edge detection methods
表2. 本文方法与其它四种边缘检测方法对图3(a)的定量度量
|
MSE |
Precision |
Recall |
Canny算子 |
0.2407 |
0.3277 |
0.0327 |
基于OTUS的Canny算子 |
0.1853 |
0.3736 |
0.0233 |
LEE滤波的Canny算子 |
0.1088 |
0.3992 |
0.0903 |
Laplacian算子 |
0.2909 |
0.2908 |
0.0234 |
本文方法 |
0.1056 |
0.4316 |
0.1035 |
表3给出了本文方法与其它五种边缘检测方法对的图3(b)定量度量。其中,对于MSE,本文方法表现最好为0.1081,准确率与召回率也是本文算法表现更好。但基于LEE滤波的改进Canny算子在数值上有所提升,这说明对不同声呐图像处理方法的不同会导致处理效果的不同。其它指标与表2所给出的结果规律并无差别。
Table 3. Quantitative measurement of Figure 3(b) using this method and four other edge detection methods
表3. 本文方法与其它四种边缘检测方法对图3(b)的定量度量
|
MSE |
Precision |
Recall |
Canny算子 |
0.1746 |
0.4159 |
0.0531 |
基于OTUS的Canny算子 |
0.4769 |
0.4289 |
0.0695 |
LEE滤波的Canny算子 |
0.4803 |
0.5077 |
0.0257 |
Laplacian算子 |
0.2058 |
0.3293 |
0.0311 |
本文方法 |
0.1081 |
0.5492 |
0.1122 |
综上所述,经过定性分析和定量分析,本文提出的算法在声呐图像边缘检测的准确度上有优势。
5. 结论
本文提出一种基于Canny算子的改进算子,C-L算子。其在原始Canny算子的基础上进行改进,放弃原有的高斯滤波器,改为LEE滤波器。其次,使用OTSU阈值法划分高低阈值,增加了阈值选择的自适应性。最后,用Laplacian算子进行离群点检测,并将其去除。这样可以极大程度上去除伪边缘。
通过对真实声呐图像的边缘进行检测,分析了本文方法的优势与局限性。实验证明本文方法在完整性与准确性上有较好的效果,其减少了声呐图像边缘检测出现大量伪边缘的现象。本文使用三种评价指标对实验结果进行定量分析,用MSE评价处理结果与理想边缘的相似性,用准确率与召回率评价边缘检测结果的准确性。
本文方法对声呐图像可以得到较好的边缘检测效果。但在Laplacian算子检测离群点上还有待提高。检测离群点的阈值是经验选取的,这也导致离群点去除虽然有一定的效果,但还是存在一些离群点构成了伪边缘,之后也会对其进行进一步研究使其实用化。
致 谢
我们要感谢Aysun Taşyapi Çelebi等人在我们的文章中使用了他们的图像。
基金项目
本文受到海南省自然科学基金项目(420CXTD439)、三亚市科技创新专项(2022KJCX83)、国家自然科学基金项目(61661038)资助。
NOTES
*通讯作者。