1. 引言
海洋内波是海水内部的波动之一,它与海洋表面的海浪运动有着非常不同的物理特征。海洋内波会引起海水温、盐、密度剖面发生剧烈的波动,这种波动具有很强的方向性和时变性,对水下声传播影响巨大,使声速的大小和方向均发生改变,给水下目标的声纳探测与定位以及水声通信等带来严重影响。对几何尺寸与内波波长相当的水下航行器的安全性和隐蔽性也影响严重,因此及时掌握海洋内波特征具有重要意义。
众所周知,应用SAR可以观测海洋内波,而且海洋内波在SAR图像上呈现明暗相间的条纹特征 [1] ,为内波特征参数反演提供了丰富的资料源,相应算法研究也比较多,但大多算法依赖人工干预,检测精度受主观因素影响,检测效率较低。陈捷 [2] 等基于滑动窗口研究了海洋内波SAR图像特征的自动检测算法,其中滑动窗口大小根据典型内波波长的1/2~1倍确定,用来处理海量大幅宽SAR图像效率不高,不适于处理包含多个内波波包的复杂SAR图像。本文应用跨平台计算机视觉库Opencv实现了海洋内波SAR图像特征自动检测,首先基于Canny算子检测海洋内波SAR图像特征边缘,通过曲线搜索将内波特征边缘从图像中分离出来,结合层次聚类方法完成多个内波波包的识别和标识,整个过程无需外界干预,为海量SAR图像数据快速处理和进一步自动反演内波波长、传播方向、波速、振幅等特征参数奠定了基础。
2. 层次聚类算法
针对多簇内波的特征曲线的分离问题,本文在一般边缘特征提取的基础上结合层次聚类方法,有效实现了内波群的自动检测识别和分离。层次聚类是聚类算法的一种,通过计算样本数据点或簇间的相似度来创建一棵聚类树。在聚类树中,不同类别的原始数据点或簇是树的最低层,树的顶层是一个聚类的根节点。创建聚类树有自下而上合并和自上而下分裂两种方法,本文目的是寻找一个簇中的特征线上的点,因此采用合并方法。
聚类分析的输入用特征数据集合
表示,其中X表示一组样本,d表示样本间相似度的标准,聚类系统的输出是对数据的区分结果 [3] ,即:
其中
是X的子集,且满足如下条件:
1)
2)
,
,c中的
称为类或簇。
层次聚类的合并算法通过计算两类数据点或簇间的相似性,即通过计算每一个类别的数据点或簇与所有数据点或簇之间的距离来确定它们之间的相似性,距离越小,相似度越高。并将距离最近的两个数据点或簇进行组合,生成聚类树。数据点或簇
之间的距离用欧式距离 [4] 来计算:
在层次聚类过程中,以单个数据对象为初始簇,以满足簇间最小距离阈值的簇相聚和的方法融合,直至遍历所有初始簇得到聚类为止。如果有N个对象被聚类,其距离矩阵大小为
,基于距离阈值的聚类实现流程为:
1) 将X中的每一个数据
作为一个聚类中心
形成X的一个聚类集合:
;
2) 计算c中的每个聚类对
之间的欧式距离
,得到初始化距离矩阵;
3) 将
满足阈值的两个子簇合并为一个新簇,并进行簇类标识;
4) 在未标识的簇中重复执行3),直到所有的簇都被标识为止。
3. 海洋内波SAR图像特征自动检测
基于Opencv编程 [5] 实现了SAR图像海洋内波特征的自动检测,具体流程如图1所示。图2为2000年4月22日的 RADARSAT卫星SAR图像,图像大小为1058像素 × 766像素,图像中明显存在海洋内波,且至少有三个内波波包 [6] 。
Figure 1. Flow chart: SAR image feature detection for ocean internal waves
图1. 海洋内波SAR图像特征检测流程图
1) 高斯滤波
用高斯滤波器分别按照行和列对原始图像进行卷积运算,抑制图像噪声。噪声抑制程度取决于高斯函数的标准差
,当
较小时,卷积运算量小,定位精度高,信噪比低;当
较大时情况刚好相反,通过试验高斯滤波器参数
,较好的抑制了噪声,获得的平滑图像如图3所示,图像质量具有明显改善。
2) Canny内波边缘检测
Canny算子具有较好的抗噪性能和较高的边缘定位精度 [7] ,它满足三个准则 [8] [9] :
1) 信噪比准则,信噪比越大,边缘检测效果越好,即非边缘点被误判为边缘点或者边缘点被误判为非边缘点的概率要低 [10] 。
2) 定位精度准则,定位精度越高,即检测出的边缘点尽可能在实际边缘的中心。
3) 单边缘响应准则,保证单个边缘只有一个像素响应,虚假边缘响应得到最大抑制。即对真实的边缘点,检测算子所返回的也应当只有一个,最终提取的边缘应尽可能细 [11] 。
对于滤波后的图像首先计算每个像素梯度大小
和梯度方向
,为确定边缘,必须对图像阵列的梯度进行非极大值抑制,即通过抑制梯度方向上的非边缘点的梯度幅值,生成细化的边缘。梯度方向
一般取4个可能的角度0˚、45˚、90˚、135˚之一,然后利用
模版作用于梯度阵列的所有点,在每个点上,邻域的中心像素与沿着梯度线的两个元素进行比较,如果邻域中心点处的幅值小于沿梯度线方向上的相邻点幅值,则
幅值为0,否则该点为可能的边缘点,这样遍历图像梯度阵列后得到只有一个像素点宽的边缘阵列
。为了避免非极大值抑制后的图像可能存在孤立点或假边缘的情况,Canny使用了滞后双阈值处理,即设定高、低两个阈值
,对于大于高阈值的像素就确定为边缘;小于低阈值的确定为非边缘:介于二者之间的像素结合邻接像素中是否有超过高阈值的边缘像素确定。
通过自适应选取算子大小和双阈值,当算子大小为3时输出黑白二值边缘图像,如图4所示,可见较好地识别出了三个主要内波波包,但同时也包含了一些非内波特征边缘。因此本文进一步采用八邻域边缘曲线搜索的方法 [12] 将图像中的曲线分离出来,同时统计每条曲线上的点数,保留曲线点数占比前30%的曲线,其它予以剔除,处理结果如图5所示,显然干扰信息明显减少,但仍然含有一些非内波边缘信息,这将会在后面进一步剔除。
Figure 4. Canny edge detection result
图4. Canny边缘检测结果
Figure 5. Non-edge feature elimination result
图5. 非边缘特征剔除结果
3) 层次聚类识别内波群
由图4、图5可见检测出的边缘为一幅二值黑白图像,为了反演各簇内波特征参数,利用层次聚类方法将内波簇群进行分离和标识。层次聚类结果由集群之间的最小欧式距离阈值决定,最优欧式距离阈值通过统计不同阈值确定的集群包含的点数多而且曲线数少的原则确定。通过试验分析,认为欧式距离阈值为30时内波簇群分离结果较理想,如图6所示,图中标识为集群质心位置编号。为了保留主要内波波包可进一步剔除集群内部点数较少的集群,结果如图7所示,与原始图像的叠加结果如图8所示,为了配合海水温盐密剖面数据反演内波特征参数,进一步将每个内波波包分离和标识,分离结果如图9、图10、图11所示。
Figure 6. Hierarchical clustering analysis results
图6. 层次聚类分析结果
Figure 7. Three main internal wave packets
图7. 三个主要内波波包
Figure 8. The superposition of detecting result and original Image
图8. 检测结果与原图像的叠加
Figure 9. The first internal wave packet
图9. 第一个内波波包
4. 结论
本文根据海洋内波SAR图像特点,基于Opencv利用Canny算子结合层次聚类实现了SAR图像多簇海洋内波特征自动检测和特征曲线的分离与识别,为进一步估算各内波波长、波向、波速和振幅等特征参数奠定了基础,克服了人工干预方法和基于滑动窗口自动检测方法的不足,为海量海洋SAR图像数据内波自动检测提供了有效方法,也为实现星上快速自动处理奠定了基础。