舰船科学技术  2022, Vol. 44 Issue (1): 125-130    DOI: 10.3404/j.issn.1672-7649.2022.01.024   PDF    
大噪声环境下前视声呐图像目标识别方法研究
王凯1,2, 秦丽萍1,2, 卢丙举1,2, 侯冬冬1,2, 经慧祥1,2     
1. 中国船舶集团有限公司第七一三研究所,河南 郑州 450015;
2. 河南省水下智能装备重点实验室,河南 郑州 450015
摘要: 提出大噪声环境下前视声呐图像目标识别的研究方法,针对水下无人航行器(UUV)在近岸浅水区航行中由于前视声呐图像噪声较大,难以准确识别目标的问题,通过改进的中值滤波和Otus阈值检测算法,对前视声呐图像进行滤波和二值化。利用区域增长算法分割疑似目标区域图像,分别提取分割图像的长度、形状、方向、灰度均值和灰度能量中值等参数,利用支持向量机(SVM)的方法对这些图像参数训练和识别,结果表明该方法能够有效识别大噪声环境下的前视声呐图像目标。
关键词: 前视声呐图像     图像处理     特征提取     支持向量机    
Research on target recognition method of forward looking sonar image in large noise environment
WANG Kai1,2, QIN Li-ping1,2, LU Bing-ju1,2, HOU Dong-dong1,2, JING Hui-xiang1,2     
1. The 713 Research Institute of CSSC, Zhengzhou 450015, China;
2. Henan Key Laboratory of Underwater Intelligent Equipment, Zhengzhou 450015, China
Abstract: This paper proposes a research method for the target recognition of forward-looking sonar images in a large noise environment. Aiming at the problem that the underwater unmanned vehicle(UUV) is difficult to accurately identify the target due to the large noise of the forward-looking sonar image when the UUV sails in shallow waters near the shore. Through the improved median filter and Otus threshold detection algorithm, the forward-looking sonar image is filtered and binarized. The region growth algorithm is used to segment the image of the suspected target area, and the length, shape, direction, gray average value and gray energy segmentation value of the segmented iamge are separately extracted, and the support vector machine(SVM) method is used to train and recognize these image parameters. The results show that the method can effectively identify the forward-looking sonar image target in a large noise environment.
Key words: forward looking sonar image     image processing     feature extraction     support vector machines    
0 引 言

水下无人航行器作为水下作业的重要载体,在现代海洋环境信息探测、水下资源勘探与开发中发挥着愈发重要的作用[1]。受限于水下环境,光学手段难以满足远距离探测需求,而声波作为可以在水中远距离传播的波,是现阶段水下探测的重要手段。因此,声呐是UUV水下探测的主要载荷[2]

但是声呐探测结果图像容易被环境噪声、混响噪声和自噪声影响,特别是位于浅水面、近岸环境下噪声更为严重,难以直接从声呐图像中识别出目标。故需要通过一系列的图像预处理方法[3-4],对声呐图像进行分割和特征提取[5-6],因此研究大噪声环境下声呐图像目标识别技术具有重要意义[7]

本文对浅水面、近岸环境下采集的有限的具有严重干扰噪声的前视声呐图像做处理,针对特定的目标进行识别。通过探讨大噪声环境下前视声呐图像的预处理和分割方法,得到可能存在目标的区域。对前视声呐分割图像进行有效特征提取,利用SVM对这些图像参数训练和识别,得到一种有效的大噪声环境下前视声呐图像目标识别方法。

1 声呐图像获取

本文以直径5 m的圆柱体为识别目标,研究多噪声干扰条件下的目标识别方法。试验采用海卓同创MS720IM型号的720 kHz多波束前视声呐。声呐水平接收波束角1°,波束数512个,发射波束垂直角度5°/20°在线可调,水平有效开角大于120°,水下探测距离1~90 m。

前视声呐固定在水下无人航行器前端,目标物为直径5 m的空心圆柱,试验在水深5~6 m进行。在严重噪声干扰下采集到的声呐图像如图1所示。

图 1 采集的前视声呐图像 Fig. 1 Forward looking sonar image

显然,由于大量噪声存在,难以直接从声呐图像中识别出目标物,需要一系列的图像处理工作。

2 声呐图像处理

声呐图像处理主要包括3个部分:声呐图像滤波、声呐图像二值化、声呐图像分割。

2.1 声呐图像滤波

图像中常用的滤波方法包括均值滤波、中值滤波、高斯滤波、维纳滤波等。中值滤波作为一种非线性滤波算法,能够有效地滤除孤立噪声点,同时能够保护图像边缘,是一种非常适合声呐图像使用的滤波算法。

本文采用3×3窗口的中值滤波算法,考虑到声呐图像中含有大量灰度值为0的像素点,采用以下方法可以有效的提高计算效率:

1) 判断窗口中像素灰度值之和是否为0,若为0,则滤波值为0,继续滑动窗口,否则跳到第2步;

2) 求取窗口中9个像素灰度值的中值,将其作为滤波值。

图2为中值滤波后的前视声呐图像。

图 2 中值滤波后的前视声呐图像 Fig. 2 Forward looking sonar image after median filtering
2.2 声呐图像二值化

声呐图像二值化过程中,阈值的选择极为重要。采用固定阈值的话,难以适应不同的环境,而采取传统的Otus算法计算阈值,在没有目标物的声呐图像中,容易将噪声误当做目标物。这里提出一种改进的Otus算法来计算阈值,即设定好固定阈值 $ T $ ,只针对大于 $ T $ 的阈值计算Otus算法阈值,尽量规避噪声,且能够有效提高计算效率。

需要注意的是,声呐图像整体偏暗,且是扇形图像。若直接对整幅图像利用改进的Otus算法计算阈值,大量背景区域将影响其阈值计算结果,故根据实际情况,即只对扇形区域应用改进的Otus算法:

给定声呐图像I,统计其扇形区域S内灰度直方图。通过除以S中像素的个数得到归一化直方图 $ H(0), $ $ H(1), \cdots ,H(255) $ ,即直方图表示为每个灰度的概率。

扇形区域由

$ \begin{split} & {(x - {x_0})^2} + {(y - {y_0})^2} \leqslant {R^2} ,\\ & \alpha \leqslant \arctan \frac{{{x_0} - x}}{{y - {y_0}}} \leqslant \alpha + \theta ,\end{split} $ (1)

确定,其中 $ (x,y) $ 表示图像矩阵的第 $ ({x_0},{y_0}) $ 行第 $ ({x_0},{y_0}) $ 列, $ ({x_0},{y_0}) $ 表示声呐在图像中的位置,αθ分别表示扇形的始角和扇形角。

设定固定阈值T,对于每一个大于T可能的阈值t,将直方图分为背景和前景,分别计算背景和前景的灰度方差 $ {\sigma _B}(t) $ , $ {\sigma _F}(t) $ ,分别计算一个像素是背景和前景的概率:

$ {\omega _B}(t) = \sum\limits_{j = 0}^t {H(j)},$ (2)
$ {\omega _F}(t) = \sum\limits_{j = t + 1}^{255} {H(j)}。$ (3)

$ \sigma (t) = {\omega _B}(t){\sigma _B}(t) + {\omega _F}(t){\sigma _F}(t) $ ,选择最优阈值 $ \hat t = {\min _t}(\sigma (t)) $ .

2.3 声呐图像分割

结合改进的Otus算法得到的最优阈值 $ \hat t $ ,以 $ \hat t $ 作为阈值对图像进行二值化处理,可以得到多个大小不一的亮斑,如图3所示。

图 3 二值化后的前视声呐图像 Fig. 3 Forward looking sonar image after binarization

由于声学旁瓣效应和阴影影响,水下目标可能会分裂为多个亮斑,所以对这些亮斑进行膨胀操作,用于连接缺损区域,如图4所示。

图 4 膨胀后的前视声呐图像 Fig. 4 Forward looking sonar image after expansion

为了将各个亮斑分割出来,采用基于区域增长的分割算法。

算法步骤如下:

1) 设置1个种子堆栈和若干个区域堆栈;

2) 设置变量 $ i $ ,初值记为1,所有像素的种子记录初值置为0;

3) 扫描图像,找到第一个种子记录为0且像素值不为0的点 $ ({x_0},{y_0}) $ ,将其作为种子点入种子堆栈,种子记录置为 $ i $

4) 检查堆栈是否为空,若不为空,则将栈顶像素 $ ({x_0},{y_0}) $ 弹出,作为种子点,并将此像素压入第 $ i $ 个区域堆栈中。考虑其4邻域像素 $ (x,y) $ ,如果像素 $ (x,y) $ 不为0,则将其视为和 $ ({x_0},{y_0}) $ 为同一目标所属像素,并压入堆栈,且将其种子记录置 $ i $ ,重新开始步骤4;

5) 若堆栈为空, $ i $ 值加1,重新开始步骤3,直至扫描完图像。

至此,得到若干个区域堆栈,统计每个区域堆栈中元素的数量,将其视为各个亮斑的面积。因为所要识别的目标形成的亮斑面积处于一定的范围内,不会太小或者过大,故设置阈值,去除小面积和大面积区域,得到疑似目标区域,如图5所示。

图 5 前视声呐图像疑似目标区域 Fig. 5 Suspected target area of forward looking sonar image

计算每个疑似目标区域堆栈的均值,则得到了每个亮斑的质心。设得到的亮斑质心为 $ (\bar x,\bar y) $ ,在未经处理的图像上截取以 $ (\bar x - 50,\bar y - 50) $ $ (\bar x + 50,\bar y - 50) $ $ (\bar x - 50, $ $ \bar y + 50) $ $ (\bar x + 50,\bar y + 50) $ 等4个点为顶点的矩形,得到101×101的分割图像,至此完成声呐图像的分割。图6中,第1行表示原始分割图像,第2行表示亮斑分割图像。

图 6 前视声呐分割图像 Fig. 6 Forward looking sonar segmentation image
3 特征分析与提取

经过对声呐图像的处理,已经得到包含目标区域的分割图像,接下来需要从这些分割图像中识别目标。本文采用支持向量机(SVM)算法完成最终的目标识别工作。由于分割得到的101×101图像有10201个像素,很显然无法建立一个10201维的矩阵进行SVM识别。这就需要简化维数,提取重要特征。

目标特征主要体现在形状和亮度,形状可以用亮斑分割图像的特征表示,亮度则可以用原始分割图像的灰度分布来表示。

显然,亮斑分割图像的特征可以用亮斑长度、形状和方向表示,重点介绍如何描述灰度分布。在描述灰度分布的方法中,灰度均值和中值是最常用的。灰度均值可以表示一幅原始分割图像的总体亮度。灰度中值虽然可以一定程度上表示灰度值的变化趋势,但是在原始分割图像中,由于目标物亮度一般较高且范围较小,噪声和其他区域灰度较低但范围较大,使用普通的灰度中值难以明确区分是否含有目标物,故需提高高亮度灰度值的比重。定义灰度能量的概念,即一幅图像的灰度能量值可以表示为

$ {S_{ge}} = \sum\limits_{i = 0}^{255} {{i^2}H(i)} , $ (4)

其中,i为灰度值,H(i)表示归一化的灰度直方图。

因此可以取灰度能量的中值来一定程度上表示灰度分布。

3.1 亮斑区域的长度参数

一般而言,分亮斑分割图像中的亮斑区域都是非规则图形,且为细长体,难以直接计算其长度,本文提出一种间接的方法——主成分分析法,来计算亮斑区域的“长度”。

设一个亮斑集合为 $D = \{ {{\boldsymbol{x}}_1},{{\boldsymbol{x}}_2}, \cdots ,{{\boldsymbol{x}}_m}\}$ ,首先将样本集 $ D $ 中心化:

$ {x_i} \leftarrow {x_i} - \frac{1}{m}\sum\limits_{i = 1}^m {{x_i}} , $ (5)

计算样本协方差矩阵 ${\boldsymbol{X}}{{\boldsymbol{X}}^{\rm{T}}}$ ,求协方差矩阵 ${\boldsymbol{X}}{{\boldsymbol{X}}^{\rm{T}}}$ 做特征值 $ {\lambda _1} $ $ {\lambda _2} $ ( $ {\lambda _1} > {\lambda _2} $ ),求特征值对应的特征向量 $ {\alpha _1} $ $ {\alpha _2} $ ,计算去中心化后的点 ${{\boldsymbol{x}}_i}$ 与特征向量 $ {\alpha _1} $ 的内积,得到最大值 $ lengt{h_{\max }} $ 和最小值 $ lengt{h_{\min }} $ ,其长度参数可以表示为

$ length = lengt{h_{\max }} - lengt{h_{\min }} 。$ (6)
3.2 亮斑区域的形状参数

使用亮斑区域内所有点在长和宽2个方向上的投影到质心的平均距离的比值来衡量其形状参数。实际中,为了加快运算效率,可以用一种启发式的方式来得到长宽比。

亮斑在经过主成分分析后可以形成2个新的维度,即协方差矩阵的2个特征向量。可以通过计算亮斑上所有点分别在2个特征向量方向上投影的平均距离,用平均距离的比值来表示亮斑的长宽比,也即方差的比值。

实际上,协方差矩阵的特征值 $ {\lambda _1} $ $ {\lambda _2} $ 分别表示在特征向量2个维度上的方差,即平均距离,故其形状参数可以表示为 $ {\lambda _1}/{\lambda _2} $

3.3 亮斑区域的方向参数

圆柱在分割后声呐图像上是一条类长条的亮斑,此亮斑的长度方向与声呐到其质心的方向基本垂直,这里用特征向量和声呐到其质心向量的内积来表示。

由3.1节可知,亮斑的长度方向为单位向量 $ {\alpha _1} $ ,质心为 $ \displaystyle\frac{1}{m}\sum\limits_{i = 1}^m {{x_i}} $ ,设声呐位置为 $ {{\boldsymbol{x}}_0} $ ,则方向参数f表示为

$ f = {{{{{a}}_1} \cdot ({x_0} - \frac{1}{m}\sum\limits_{i = 1}^m {{x_i})} } \mathord{\left/ {\vphantom {{{{\mathbf{a}}_1} \cdot ({x_0} - \frac{1}{m}\sum\limits_{i = 1}^m {{x_i})} } {|{x_0} - \frac{1}{m}\sum\limits_{i = 1}^m {{x_i}|} }}} \right. } {|{x_0} - \frac{1}{m}\sum\limits_{i = 1}^m {{x_i}|} }} 。$ (7)
3.4 灰度均值

灰度均值可以一定程度上反映分割区域总体灰度级,一般包含噪声的分割图像灰度会比包含目标区域的分割图像灰度均值低一些,而包含岸分割图像灰度均值则会高一些。图7给出了噪声分割图像和目标分割图像。

图 7 噪声和目标分割图像 Fig. 7 Noise and target segmentation image

2种不同的分割图像的灰度直方图如图8所示。

图 8 噪声和目标分割图像灰度直方图 Fig. 8 Noise and target segmentation image gray histogram

灰度均值的计算由下式表示:

$ {S_{gray}} = \sum\limits_{i = 0}^{255} {iH(i)} , $ (8)

其中 $ H(i) $ 归一化直方图中每个灰度的概率。

3.5 灰度能量中值

式(4)表示灰度能量的定义,使用灰度能量的中值来一定程度上表示其灰度分布。图9表示灰度能量直方图。

图 9 噪声和目标分割图像灰度能量直方图 Fig. 9 Noise and target segmentation image gray energy histogram

平分灰度能量的灰度值,即灰度能量中值计算方法如下:

1) 定义灰度能量 $ {S_{ge}} =\displaystyle \sum\limits_{i = 0}^{255} {{i^2}H(i)} $

2) $ i $ 初值为255, $ S $ 赋值为 $ {S_{ge}} $

3) $ S $ 赋值为 $ S - {i^2}H(i) $ ,判断 $ S $ 是否小于 $ \dfrac{1}{2}{S_{ge}} $

4) 若小于 $ \dfrac{1}{2}{S_{ge}} $ ,转到步骤5,否则 $ i = i - 1 $ ,重新开始步骤3;

5) 计算 $ m = [({S_{ge}} - S) - S]/2{i^2} $ ,则平分灰度能量的灰度值 $ t = i - 1 + m/n $ 。式中 $ n = 10201H(i) $ ,即灰度为i的总像素点个数。

3.6 特征提取

表1给出了部分目标的样本特征。

表 1 部分目标样本特征 Tab.1 Characteristics of some target samples

在采用SVM的方法识别之前,利用式(9)对所有特征归一化处理。

$ f:x \to y = \frac{{x - {x_{\min }}}}{{{x_{\max }} - {x_{\min }}}} 。$ (9)
4 目标识别 4.1 支持向量机

支持向量机是一种能够很好地解决小样本、非线性、高维数等问题的机器学习方法。给定样本集 $D = \{ ({{\boldsymbol{x}}_1},{y_1}),({{\boldsymbol{x}}_2},{y_2}), \cdots ,({{\boldsymbol{x}}_m},{y_m})\}$ ,其中 $ {y_i} \in \{ - 1, + 1\} $

SVM的思想为基于训练集D在样本空间中找到一个具有最大分类间隔的最优超平面。设最优超平面方程为

$ {{\boldsymbol{w}}^{\rm{T}}}{\boldsymbol{x}} + b = 0 , $ (10)

对于非线性问题,约束条件为

$ {y_i}({{\boldsymbol{w}}^{\rm{T}}}{\boldsymbol{x}} + b) \geqslant 1 - {\varepsilon _i},{\varepsilon _i} \geqslant 0, i = 1,2, \cdots ,m , $ (11)

目标函数为

$ f({\boldsymbol{w}},b,\varepsilon ) = \frac{1}{2}\left\| {{{\boldsymbol{w}}^2}} \right\| + C\sum\limits_{i = 1}^m {{\varepsilon _i}} , $ (12)

即最小化目标函数,通过拉格朗日乘子法,优化求解后得到分类函数为

$ h({\boldsymbol{x}}) = {{\rm{sgn}}} \left(\sum\limits_{i = 1}^m {{\alpha _i}{y_i}\kappa ({\boldsymbol{x}},{{\boldsymbol{x}}_i}) + b} \right) 。$ (13)

SVM核函数的选择至关重要,此处选用高斯核函数(RBF)。

$ \kappa ({{\boldsymbol{x}}_i},{{\boldsymbol{x}}_j}) = \exp \left( - \frac{{||{{\boldsymbol{x}}_i} - {{\boldsymbol{x}}_j}|{|^2}}}{{2{\sigma ^2}}}\right) , $ (14)

在RBF中,正则化参数C和核参数 $ \sigma $ 的确定直接影响最终的识别精度。如何确定这2个参数的取值,本身就是一个优化问题。采用LibSVM中提供的基于交叉验证和网格搜索的参数选择方法来确定C $ \sigma $ [8]

4.2 目标识别

将前视声呐分割图像分为训练集和测试集,如表2所示。

表 2 前视声呐分割图像数量 Tab.2 Number of segmented images of forward looking sonar

最终经过优化训练识别后,在127个目标中,识别出了123个目标,识别准确率达到了96.85%。在115个非目标中,误检了2个目标,误检率为1.74%,识别结果表示如图10所示。

图 10 测试集识别结果 Fig. 10 Recognition result of test set
5 结 语

本文通过UUV搭载前视声呐获取了大噪声环境下的前视声呐图像。针对前视声呐图像数量有限噪声较大的特点,设计了一种有效的前视声呐图像目标识别方法。首先通过改进的中值滤波和Otus阈值检测算法,对前视声呐图像进行滤波和二值化,得到了较好的去噪效果;然后利用区域增长算法分割疑似目标区域图像,采用PCA算法,多角度分析,有效提取分割图像的长度、形状、方向参数,同时引入灰度能量概念,提取灰度均值和灰度能量中值等参数。最后基于SVM对这些分割图像参数训练和识别,识别准确率达到96.85%,有效满足了大噪声环境下的水下前视声呐图像目标的识别要求。

参考文献
[1]
徐会希. 自主水下机器人[M]. 北京: 科学出版社, 2019.
[2]
宋三明. 基于随机场的水下声呐图像处理[M]. 北京: 科学出版社, 2020.
[3]
JIANG Wen-long, LI Guang-lin, LUO Wei-bing. Application of improved median filtering algorithm to image de-noising[J]. Advanced Materials Research, 2014, 998: 838-841.
[4]
LI W, NI R, LI X, et al. Robust median filtering detection based on the difference of frequency residuals[J]. Multimedia Tools and Applications, 2018, 78(4): 8363-8381.
[5]
CERVENKA P, DEMOUSTIER C. Sided-scan sonar image processing techniques[J]. IEEE Journal of Oceanic Engineering, 1993, 18(2): 108-122P. DOI:10.1109/48.219531
[6]
马珊. 水下机器人前视声呐多目标跟踪技术研究[D]. 哈尔滨: 哈尔滨工程大学, 2016.
[7]
石洋, 胡长青. 基于粒子群最小二乘支持向量机的前视声呐目标识别[J]. 声学技术, 2018, 37(2): 122-128.
Shi Yang, Hu Changqing. Forward looking sonar target recognition based on particle swarm least squares support vector machine[J]. Acoustics Technology, 2018, 37(2): 122-128.
[8]
CHANG Chih-Chung, LIN Chik-Jen, LIBSVM: A library for support vector machines[J]. ACM Transactions on Intelligent Systems and Technology, 2011, 2(3): 27.