文章信息
- 王涛, 潘国富, 张济博. 2019.
- WANG Tao, PAN Guo-fu, ZHANG Ji-bo. 2019.
- 基于K-means聚类与数学形态学的侧扫声呐图像目标轮廓自动提取方法
- Automatic extracting target contour of side-scan sonar images by uniting K-means clustering with mathematical morphology
- 海洋科学, 43(8): 80-85
- Marine Sciences, 43(8): 80-85.
- http://dx.doi.org/10.11759/hykx20181217001
-
文章历史
- 收稿日期:2018-12-17
- 修回日期:2019-01-28
声探测技术是目前主要的海底探测技术。侧扫声呐作为一种高分辨率的水下声探测成像设备, 在海底勘查、水下目标探测和识别等方面发挥着重要的作用。对于水下目标探测, 侧扫声呐可在多种场合发挥重要作用。在民用上, 可以搜寻失事落水飞机、沉船、海底构筑物等人工目标和出露的礁石等自然目标; 在军用上, 可以探测潜航器、水雷等军事目标。水下目标探测的一项重要工作是根据声呐图像进行目标识别, 开展水下声呐图像目标自动识别技术研究, 在民用和军事领域都具有极其重要的意义和价值。在对水下声呐图像进行目标识别之前, 需要对声呐图像进行目标检测和特征提取, 其中目标轮廓是其重要特征之一。
侧扫声呐是基于声学散射原理来进行海底探测的。它随船行进的拖鱼向左右两侧发射脉冲声波, 声波碰到海底、沉物、构筑物等物体发生散射, 后向散射回来的信号由拖鱼接收系统接收, 然后由信号处理器处理, 并以图像的形式记录, 形成海底侧扫声呐图像[1], 简称声图。侧扫声呐图像的像素灰度的大小(或色彩渲染的颜色)取决于海底物质反射声波的强弱。一般情况下, 硬的、粗糙的、凸起的海底, 回波强; 软的、平滑的、凹陷的海底回波弱, 被遮挡的海底不产生回波, 距离越远回波越弱。在目标检测中, 声图通常可分为目标高亮区、目标阴影区和海底背景区[2]。
前人对水下声呐图像目标轮廓特征自动提取技术, 进行了多年的探索, Reed S等[2]利用改进的snake模型对声呐图像轮廓进行提取; Liu Zhuofu等[3]提出一种基于细胞神经网络结构的snake模型来提取声呐图像目标轮廓, 但是文献[2-3]中基于snake模型来提取声呐图像目标轮廓的方法, 对于错断、有孔洞和不规则的水下目标体, 轮廓提取的结果不是很理想。陈立强等[4]先将声呐图像规格化, 然后采用Canny算子提取水雷轮廓用于水雷分类识别中; 王兴梅[5]利用MRF目标检测和水平集的方法对声呐图像进行了轮廓提取, 但是轮廓提取结果中含有较多的噪声点轮廓; 罗进华等[6]基于数学形态学提取了侧扫声呐图像轮廓, 但是文中用大律法对侧扫声呐图像进行二级分割, 不够精确。
本文针对侧扫声呐图像, 提出一种基于K-means聚类与数学形态学相结合的海底目标轮廓自动提取方法。该算法思想简单易行, 具有很强的克服背景噪声的能力, 自动提取的目标轮廓连续性较好, 结果准确可靠。目前, 在侧扫声呐图像目标轮廓提取过程中, 主要采用人工方式, 自动性较差, 效率较低。本文算法可以实现目标轮廓的自动提取, 提高效率, 具有较强的实用价值。
1 基本原理 1.1 K-means算法 1.1.1 算法原理K-means算法, 也被称为K-平均或K-均值, 是一种无监督的聚类算法。它比较容易实现, 并且聚类效果较好, 因此被广泛应用。算法的主要思想是将各聚类中的对象均值作为聚类中心, 通过迭代, 将数据集中的对象按照距离聚类中心最小原则划分到k个类中, 并且使得评价聚类性能的准则函数达到最优, 即使得每个聚类本身尽可能的相似, 而各聚类之间尽可能的不同[7-8]。
1) 数据样本间的相似度评价指标
K-means算法是以距离作为数据样本间相似度评价指标。在实际操作时, 根据不同的需要可以选择不同的距离计算方法, 常见的有欧式距离、曼哈顿距离、马氏距离等。本文采用的是欧式距离, 下面具体介绍一下欧式距离。
在欧几里得空间中, 数据样本xi=(xi1, xi2, …, xih)和数据样本xj=(xj1, xj2, …, xjh)之间的欧式距离为
$ d({{x}_{i}}, {{x}_{j}})=\sqrt{\sum\limits_{k=1}^{h}{{{({{x}_{ik}}-{{x}_{jk}})}^{2}}}}, $ | (1) |
2) 聚类性能评价指标
K-means聚类算法使用误差平方和准则函数来评价聚类性能。假设数据集X含有k个聚类子集X1, X2, …, Xk; 各个聚类子集中的样本数量分别为n1, n2, …, nk; 各个聚类子集的聚类中心分别为m1, m2, …, mk, 那么误差平方和准则函数公式为:
$ E = \sum\limits_{i = 1}^k {\sum\limits_{p \in {X_i}} {{\rm{ }}{\rm{|| }}p - {m_i}{\rm{ ||}}{{\rm{ }}_2}} } , $ | (2) |
算法步骤:
1) 输入包含n个对象的数据集和类的数目k;
2) 从包含n个对象的数据集中选取k个对象作为初始聚类中心;
3) 计算每个对象到聚类中心的欧式距离, 并根据最小距离原则重新生成k个聚类;
4) 计算每个聚类的样本均值作为新的聚类中心;
5) 重复步骤3、4, 直到误差平方和准则函数收敛, 即聚类中心不再变化;
6) 结束, 输出k个类。
1.2 数学形态学数学形态学(mathematical morphology)是在集合论的基础上发展起来的一个应用性很强的数学分支, 在图像处理领域, 被用于去噪、区域合并、提取骨架、检测边缘等多方面[9]。数学形态学利用一个称作结构元素的“探针”收集图像的信息, 当探针在图像中不断移动时, 便可考察图像各个部分之间的相互关系, 从而了解图像的结构特征[10]。数学形态学定义了4种基本运算, 即膨胀(或扩张)与腐蚀(或侵蚀), 开和闭运算。这些运算, 在二值图像和多值图像中各有特点, 本文只讨论基于二值的形态学方法。
设A, B为整数空间Z2中的两个集合, ϕ为空集, A被B膨胀, 记为
$ A\oplus B=\left\{ x|[{{(\hat{B})}_{x}}\cap A]\ne \phi \right\}, $ | (3) |
式中
A被B腐蚀, 记为
$ A\Theta B=\left\{ x\left| {{\left( B \right)}_{x}}\subseteq A \right. \right\}, $ | (4) |
该式表示A被B腐蚀的结果为所有使B被x平移后包含于A的点x的集合。
膨胀有扩大对象和连接裂缝的作用, 腐蚀有缩小对象和消除小且无意义的物体的作用。
A被B作开运算, 记为
$ A\circ B=\left( A\Theta B \right)\oplus B, $ | (5) |
从公式(5)可以看出A被结构元素B作开运算就是A被B腐蚀后的结果再被B膨胀。
A被B作闭运算, 记为
$ A\cdot B=(A\oplus B)\Theta B, $ | (6) |
从公式(6)可以看出A被结构元素B作闭运算就是A被B膨胀后的结果再被B腐蚀。
开运算一般用于消除对象中的细小突变从而进行光滑处理; 闭运算可用于填塞小的孔洞和轮廓中的断裂, 也可以用于轮廓的光滑。
2 本文算法描述基于K-means聚类与数学形态学相结合的海底目标轮廓自动提取算法的主要步骤为: (1)针对侧扫声呐图像斑点噪声强的问题, 利用中值滤波对图像进行去噪; (2)然后根据K-means聚类算法获取声呐图像的初始分割结果, 并二值化, 初步提取出目标; (3)接着采用数学形态学的方法对目标进行优化; (4)最后对目标进行边缘检测, 提取目标轮廓。
2.1 侧扫声呐图像降噪处理侧扫声呐工作的水体介质中的各种散射体和海底介质引起的海洋混响噪声, 常常导致声呐图像出现严重的斑点噪声, 给后续的检测识别等处理带来困难。中值滤波是图像处理中一种常用的方法, 它对于抑制斑点噪声来说尤为有用, 并且容易实现、运算效率高。
2.2 侧扫声呐图像目标提取侧扫声呐图像主要由目标高亮区、目标阴影区和海底背景区组成。因此利用K-means聚类算法对降噪后的侧扫声呐图像进行3级分割。首先将侧扫声呐图像的灰度值作为将要聚类的样本集, 然后从侧扫声呐图像3个特征区域各选取一个灰度值作为初始的聚类中心, 通过循环迭代, 直至聚类中心不再改变, 最终将侧扫声呐图像分割为3个灰度级的图像; 接着对分割后的侧扫声呐图像进行二值化, 将目标高亮区的灰度级用0表示, 其他两个灰度级用1表示; 最后对二值化后的侧扫声呐图像进行一系列数学形态学运算, 去除残留的背景干扰, 并且让目标物的孔洞得到填充、不连续部分得到连接。
2.3 侧扫声呐图像目标轮廓提取经过上述处理的结果后, 使用边缘检测算子提取目标轮廓。图像的边缘是指其周围像素灰度急剧变化的那些像素的集合, 它是图像最基本的特征[11]。边缘检测的基本思想是先检测图像中的边缘点, 再按照某种策略将边缘点连接成轮廓。常见的一阶边缘检测算子有: Roberts算子、Prewitt算子、Sobel算子等。一阶微分边缘检测算子也称为梯度边缘算子, 它是利用图像在边缘处的阶跃性, 即图像梯度在边缘取得极大值的特性进行边缘检测。常见的二阶边缘检测算子有: Canny算子、LoG算子等。二阶微分边缘检测算子是利用图像在边缘处的阶跃性导致图像二阶微分在边缘处出现零值这一特性进行边缘检测的。
下面的程序片段演示了本文算法操作流程。
//读入原始声图
Image = imread('原始声图');
//将声图转为灰度图
I_gray = rgb2gray(Image);
//进行中值滤波降噪
I_graymf = medfilt2(I_gray);
//K-means三级聚类和二值化
[g bin] = k_means(I_graymf, 3);
//数学形态学运算, 操作多次
//腐蚀, se_0为腐蚀算子
ge_0 = imerode(bin, se_0);
//膨胀, se_1为膨胀算子
ge_1 = imdilate(ge_0, se_1);
…
ge_n= imdilate(ge_n-1, se_n);
//边缘检测, 提取目标轮廓
target_contour = edge(ge_n);
3 应用实例与结果分析为了验证本文算法的效果, 实验数据使用了某海域一架沉于海底的飞机的侧扫声呐图像(图 1a)。
图 1a为原始的侧扫声呐图像, 图 1b是对其进行了3×3窗口的中值滤波处理后的结果, 从图 1a与图 1b的对比中可以看到斑点噪声得到明显削弱。接着利用K-means聚类算法对图 1b进行3级分割, 并且二值化后得到图 1c。从图 1c中可以看到飞机主体基本被提取出来了, 但还残余一部分海底散射强度与飞机体相近的背景干扰。为了消除残余背景干扰, 采用3×3正方形算子对图 1c进行腐蚀运算得到图 1d。从图 1d中可以看到背景干扰完全被消除, 但同时飞机体的连续性变差, 孔洞增大, 飞机体有所减小。为了保证后面提取的飞机轮廓完整连续, 又采用半径为6的圆形算子对图 1d进行膨胀处理得到图 1e。从图 1e中可看出目标物飞机的孔洞得到填充, 飞机体更加完整, 但同时飞机体有所增大。于是再采用3×3正方形算子对图 1e进行腐蚀得到图 1f。最后对图 1f使用Sobel算子提取边缘, 从图 1g中可看到提取的飞机轮廓完整连续。图 1h是对图 1a直接用Soble算子进行边缘检测的结果, 可以看到提取的飞机不连续, 破碎, 受到背景严重干扰。
为了验证本文算法具有普遍性, 又对不明物体的侧扫声呐图像(图 2a)和一艘沉于海底的船的侧扫声呐图像(图 3a)进行自动轮廓提取, 结果表明本文算法提取的轮廓完整连续, 抗干扰能力强。
4 结论
通过试验得到以下几点结论:
1) 基于K-means聚类与数学形态学的侧扫声呐图像目标轮廓自动提取算法是可行的, 该算法具有实现简单、运算快、提取的轮廓连续完整等特点, 因此具有比较好的实用性。
2) K-means算法分割的结果与初始聚类中心的选择有关, 初始聚类中心选择不同, 分割的结果不尽相同, 因此有待进一步改进。
3) 在进行数学形态学处理时, 结构元素的尺寸与形状需要根据目标体的大小和形态进行选取, 有时需要进行多次膨胀、腐蚀、开闭运算, 操作次数需要根据目标物的完整性和背景复杂性凭经验确定。另外经过数学形态学处理后, 目标体有轻微变形, 轮廓定位可能会有小的偏差, 有待进一步解决。
[1] |
张济博, 潘国富, 丁维凤. 侧扫声呐图像改正研究[J]. 声学技术, 2009, 28(6): 44-47. Zhang Jibo, Pan Guofu, Ding Weifeng. Research on side- scan sonar images' correction[J]. Technical Acoustics, 2009, 28(6): 44-47. |
[2] |
Reed S, Petillot Y, Bell J. An automatic approach to the detection and extraction of mine features in sidescan sonar[J]. IEEE Journal of Oceanic Engineering, 2003, 28(1): 90-105. DOI:10.1109/JOE.2002.808199 |
[3] |
Liu Zhuofu, Sang Enfang, Liao Zhenpeng. Sonar image segmentation using snake models based on cellular neural network[C]//IEEE. IEEE International Conference on Information Acquisition. Hong Kong, China: IEEE, 2005: 448-452.
|
[4] |
陈立强, 刘忠, 田晓东. 基于边缘特征的水下目标分类识别算法[J]. 自动化技术与应用, 2007, 26(8): 77-79. Chen Liqiang, Liu Zhong, Tian Xiaodong. Classification and recognition of underwater target based on edge feature[J]. Pattern Recognition and Simuation, 2007, 26(8): 77-79. DOI:10.3969/j.issn.1003-7241.2007.08.028 |
[5] |
王兴梅.水下声纳图像的MRF目标检测与水平集的轮廓提取方法研究[D].哈尔滨: 哈尔滨工程大学, 2010. Wang Xingmei. Research on underwater sonar image objects detection and contours extraction based respectively on MRF and level set[D]. Harbin: Harbin Engineering University, 2010. http://cdmd.cnki.com.cn/Article/CDMD-10217-1011020994.htm |
[6] |
罗进华, 蒋锦朋, 朱培民. 基于数学形态学的侧扫声呐图像轮廓自动提取[J]. 海洋学报, 2016, 38(5): 150-157. Luo Jinhua, Jiang Jinpeng, Zhu Peimin. Automati extraction of the side-scan sonar imagery outlines based on mathematical morphology[J]. Acta Oceanologica Sinica, 2016, 38(5): 150-157. DOI:10.3969/j.issn.0253-4193.2016.05.014 |
[7] |
郭秀娟. K-均值聚类算法在图像分割中的应用[J]. 吉林建筑大学学报, 2015, 32(6): 63-66. Guo Xiujuan. The application of K-means clustering algorithm in image segmentation[J]. Journal of Jilin Jianzhu University, 2015, 32(6): 63-66. DOI:10.3969/j.issn.1009-0185.2015.06.019 |
[8] |
Steinley D. K-means clustering:A half-century synthesis[J]. British Journal of Mathematical and Statistical Psychology, 2006, 59(1): 1-34. |
[9] |
赵荣椿, 赵忠明, 赵歆波. 数字图像处理与分析[M]. 北京: 清华大学出版社, 2013: 136-137. Zhao Rongchun, Zhao Zhongming, Zhao Xinbo. Digital Image Processing and Analysis[M]. Beijing: Tsinghua University Press, 2013: 136-137. |
[10] |
袁悦锋, 朱培民, 赵娜, 等. 基于数学形态学的月海圆形撞击坑自动识别方法[J]. 中国科学:物理学, 力学, 天文学, 2013, 43(3): 324-332. Yuan Yuefeng, Zhu Peimin, Zhao Na, et al. Automatic identification of circular mare craters based on mathematical morphology[J]. Scientia Sinica Physica, Mechanica & Astronomica, 2013, 43(3): 324-332. |
[11] |
赵小川. 现代数字图像处理技术提高及应用案例详解[M]. 北京: 北京航空航天大学出版社, 2012: 18-38. Zhao Xiaochuan. Modern Digital Image Processing Technology Improvement and Application Case Details[M]. Beijing: Beihang University Press, 2012: 18-38. |