留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

利用BP神经网络剔除多波束测深数据粗差

赵祥鸿 暴景阳 欧阳永忠 黄贤源 黄辰虎 陆秀平

赵祥鸿, 暴景阳, 欧阳永忠, 黄贤源, 黄辰虎, 陆秀平. 利用BP神经网络剔除多波束测深数据粗差[J]. 武汉大学学报 ● 信息科学版, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
引用本文: 赵祥鸿, 暴景阳, 欧阳永忠, 黄贤源, 黄辰虎, 陆秀平. 利用BP神经网络剔除多波束测深数据粗差[J]. 武汉大学学报 ● 信息科学版, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
ZHAO Xianghong, BAO Jingyang, OUYANG Yongzhong, HUANG Xianyuan, HUANG Chenhu, LU Xiuping. Detecting Outlier of Multibeam Sounding with BP Neural Network[J]. Geomatics and Information Science of Wuhan University, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
Citation: ZHAO Xianghong, BAO Jingyang, OUYANG Yongzhong, HUANG Xianyuan, HUANG Chenhu, LU Xiuping. Detecting Outlier of Multibeam Sounding with BP Neural Network[J]. Geomatics and Information Science of Wuhan University, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336

利用BP神经网络剔除多波束测深数据粗差

doi: 10.13203/j.whugis20160336
基金项目: 

国家重点研发计划 2016YFC0303007

国家自然科学基金 41474012

国家自然科学基金 41374018

详细信息
    作者简介:

    赵祥鸿, 博士, 主要从事多波束水深数据处理方法及应用研究。zhaoxianghong0@163.com

  • 中图分类号: P207;P229

Detecting Outlier of Multibeam Sounding with BP Neural Network

Funds: 

The National Key Research and Development Program of China 2016YFC0303007

the National Natural Science Foundation of China 41474012

the National Natural Science Foundation of China 41374018

More Information
    Author Bio:

    ZHAO Xianghong, PhD, majors in the studies of multi-beam depth data processing methods. E-mail:zhaoxianghong0@163.com

图(10) / 表(1)
计量
  • 文章访问数:  411
  • HTML全文浏览量:  19
  • PDF下载量:  189
  • 被引次数: 0
出版历程
  • 收稿日期:  2017-06-23
  • 刊出日期:  2019-04-05

利用BP神经网络剔除多波束测深数据粗差

doi: 10.13203/j.whugis20160336
    基金项目:

    国家重点研发计划 2016YFC0303007

    国家自然科学基金 41474012

    国家自然科学基金 41374018

    作者简介:

    赵祥鸿, 博士, 主要从事多波束水深数据处理方法及应用研究。zhaoxianghong0@163.com

  • 中图分类号: P207;P229

摘要: 针对多波束单ping水深数据多呈现较为复杂的曲线形式的现象,提出了基于逆传播(back propagation,BP)神经网络的多波束测深数据粗差剔除方法,即依据BP神经网络具有从输入到输出的映射功能,构建适应多波束单ping水深数据复杂曲线的训练学习算法进行曲线拟合。考虑地形之间的延续性进行相邻ping水深数据间的相关性分析,纵向检查定位并剔除粗差。通过实测多波束测深数据验证该方法的有效性,并与不确定性与测深学联合估值滤波以及交互式滤波方法进行比对分析,结果表明该方法可以有效剔除多波束测深数据中的粗差。

English Abstract

赵祥鸿, 暴景阳, 欧阳永忠, 黄贤源, 黄辰虎, 陆秀平. 利用BP神经网络剔除多波束测深数据粗差[J]. 武汉大学学报 ● 信息科学版, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
引用本文: 赵祥鸿, 暴景阳, 欧阳永忠, 黄贤源, 黄辰虎, 陆秀平. 利用BP神经网络剔除多波束测深数据粗差[J]. 武汉大学学报 ● 信息科学版, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
ZHAO Xianghong, BAO Jingyang, OUYANG Yongzhong, HUANG Xianyuan, HUANG Chenhu, LU Xiuping. Detecting Outlier of Multibeam Sounding with BP Neural Network[J]. Geomatics and Information Science of Wuhan University, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
Citation: ZHAO Xianghong, BAO Jingyang, OUYANG Yongzhong, HUANG Xianyuan, HUANG Chenhu, LU Xiuping. Detecting Outlier of Multibeam Sounding with BP Neural Network[J]. Geomatics and Information Science of Wuhan University, 2019, 44(4): 518-524. doi: 10.13203/j.whugis20160336
  • 多波束测深系统广泛应用于海洋测绘、海洋调查、海洋工程建设等,可提供高精度、高分辨率的海底地形。近年来,随着仪器设备的不断升级完善、数据处理方法的不断改进,测深数据的精度也越来越高。由于海洋环境的复杂性、仪器设备的自噪声、人为操作不合理以及其他诸多因素的影响,多波束测量误差呈现出明显的多源性特点。在进行水深数据处理时,必须进行相应的异常值检测与滤波处理来获取真实的深度数据。

    现有的深度滤波方法主要有交互式滤波和自动滤波两种[1-4]。交互式滤波方法耗时较长、效率较低,无法满足大量的数据处理情况。针对此,专家学者提出许多自动滤波方法。黄谟涛等[5]将原来用于检验异常值的推值比较法与抗差估计结合,提出了一种基于抗差估计的选权迭代插值比较检验法,应用现代抗差估计理论提高测深数据异常值统计检验的抗差能力,滤波效果较为理想;黄贤源等[6]基于最小二乘支持向量机(least squares support vector machines, LS-SVM)算法构造海底趋势面进行粗差剔除,通过调整LS-SVM的参数,可以构造合理的海底趋势面,达到较好的粗差剔除效果;但其对训练样本的选取依赖较强,在训练样本选取不好的情况下,粗差剔除效果并不理想;黄辰虎等[7]将不确定性与测深学联合估值(combined uncertainty and bathymetry estimator,CUBE)算法应用于大批量多波束测深粗差剔除工作中,证明了CUBE算法在多波束粗差剔除中的高效性。该算法是利用测量所得水深点信息,对测区网格处节点水深及其相关误差的一种估计[8]。根据节点选取周围的水深数据,由Kalman滤波对节点的水深进行估计。但是CUBE算法滤波效果建立在合理的船配置及各项改正精度基础上,在构建CUBE曲面的过程中需要反复调整相关参数;当海底地形特殊或者遇到障碍物影响(如沉船、暗礁)的情况下,滤波效果可能会受到影响。阳凡林等[9]提出了一种基于中值滤波、局部方差检测和小波分析相结合的方法来探测异常数据,能很好地定位异常数据,过滤噪声,但是小波阈值及中值滤波窗口的选择是不确定的,不同海底地形不尽相同;董江等[10]将趋势面滤波方法应用于多波束粗差剔除中,根据水深数据点的测深值以及平面位置坐标,采用多项式曲面函数拟合海底地形。在海底地形较平坦的情况下,该方法可以较好地探测数据中的异常值;但在海底地形复杂的情况下,趋势面滤波方法不能真实反映海底地形,可能会导致数据中异常值漏判,甚至剔除真实水深点。

    逆传播(back propagation, BP)神经网络是Rumelhart和McCelland于1986年提出的一种按误差逆传播算法训练的多层前馈网络,也是目前应用较为广泛的神经网络训练模型之一[11]。BP神经网络具有学习功能,特别适合求解内部机制复杂的问题。多波束单ping水深数据多呈现较为复杂的曲线形式,因此,本文将BP神经网络引入到多波束粗差探测中,通过拟合单ping水深数据进行粗差探测。

    • 典型的BP神经网络由3层网络组成,包括输入层、输出层和一个隐含层,各层之间的关系表示如图 1所示,各层与下一层所有的神经元全联结,同层的各神经元之间无联结,各层神经元之间无反馈连接,构成具有层次结构的前馈型神经网络,网络训练通过不断调整各层的权值以及偏置来达到训练样本的目的。

      图  1  3层BP神经网络结构

      Figure 1.  Three-layer BP Neural Network Structure

      多波束测量水深数据采用条带式覆盖,相邻测线之间有部分重叠,形成测区海底全覆盖。每条测线以ping的形式逐一显示,单ping水深数据以复杂曲线形式反映海底地形剖面。本文利用BP神经网络对多波束单ping水深数据进行曲线拟合并探测粗差。

      假设待训练的单ping水深样本数为nx(1), x(2), x(3)…x(n)表示样本,BP神经网络算法通过优化各层神经元的输入权值及偏置,使其输出尽可能接近期望输出,定义误差函数为:

      $$ E = \frac{1}{n}\sum\limits_{i = 1}^n {E\left( i \right)} $$ (1)
      $$ E\left( i \right) = \frac{1}{n}\sum\limits_{i = 1}^n {\sum\limits_{k = 1}^m {{{\left( {{d_k}\left( i \right) - {y_k}\left( i \right)} \right)}^2}} } $$ (2)

      式中,dk(i)表示期望输出;yk(i)表示真值;E(i)为单个样本的误差函数。

      权重以及阈值按式(3)、式(4)进行迭代更新,直至达到训练目的终止。

      $$ \mathit{\boldsymbol{w}}_{ij}^{\left( l \right)} = \mathit{\boldsymbol{w}}_{ij}^{\left( l \right)} - \alpha \frac{{\partial E}}{{\partial \mathit{\boldsymbol{w}}_{ij}^{\left( l \right)}}} $$ (3)
      $$ \mathit{\boldsymbol{b}}_i^{\left( l \right)} = \mathit{\boldsymbol{b}}_i^{\left( l \right)} - \alpha \frac{{\partial E}}{{\partial \mathit{\boldsymbol{b}}_i^{\left( l \right)}}} $$ (4)

      式中,$\mathit{\boldsymbol{w}}_{ij}^{\left( l \right)}$表示权重向量;$\mathit{\boldsymbol{b}}_i^{\left( l \right)}$表示阈值向量;α表示学习速率。

      神经网络学习过程中,神经元数影响网络性能。神经元数增加,网络拟合精度提高,同时网络训练时间增长。关于网络神经元数的确定,目前尚没有统一的标准,通常根据经验公式计算$N = \sqrt {n + m} + a$,其中,N表示神经元数,n为输入数据维数,m为输出数据维数,a为1~6的常数。

      具体方法如下:①选取多波束测量水深值中一个测线部分的数据,提取所有单ping水深数据,假设每一个单ping水深数据数量为n;②采用去一法对每一个ping的水深数据进行拟合,即隔离n个水深数据其中之一Zi,对余下的n-1个水深数据采用BP神经网络进行拟合,保留拟合后对应的训练权值和阈值;③利用保留的权值和阈值对原来的n个水深数据再次拟合, 得到隔离点的拟合值Z拟合,进一步得到隔离水深点的残差值Zi=Zi-Z拟合;④依次对单ping中的所有水深点进行上述残差值计算,得到一个ping数据中所有水深数据的残差值。异常数据的标定原则可依据式(5)确定:

      $$ \left\{ \begin{array}{l} {{Z'}_i} \le k\sigma , k = 2或3, 第i个水深点为正常\\ {{Z'}_i} > k\sigma , k = 2或3, 第i个水深点为粗差 \end{array} \right. $$ (5)

      式中,σ为标准差。

      具体流程如图 2所示。

      图  2  多波束水深数据粗差剔除流程

      Figure 2.  Flowchart of Gross Error Elimination Process of Multi-beam Sounding Data

    • 通过对BP神经网络算法的研究发现,训练样本的质量直接影响训练时长及训练效果。当训练样本存在较大偏差时,训练出的阈值和权重不能合理地反映海底地形变化。因此,本文在对样本训练之前,首先对样本进行预处理。

      本文采用样本数据分段处理方式,对单ping水深数据中样本偏差较大的波束点进行标定。数据分段方式以均分为准且每段波束点数不超过20。分段后的数据采用多项式拟合的方式对偏差较大波束点进行剔除,如图 3所示。

      图  3  训练样本预处理

      Figure 3.  Training Sample Pretreatment

      对剔除偏差较大后的样本数据,为了降低其复杂程度的同时减轻神经网络训练负荷,采用归一化方式处理。设训练样本数据为{x1, x2xn},归一化后的数据如下:

      $$ {{x'}_i} = \frac{{{x_i} - {x_{\min }}}}{{{x_{\max }} - {x_{\min }}}}, {x_i} \in \left\{ {{x_1}, {x_2} \cdots {x_n}} \right\} $$ (6)
    • BP神经网络算法学习能力强,具有很强的非线性映射能力。神经网络训练过程中,网络结构[12]、初始连接权值和阈值的选择对网络训练的影响很大,但是又无法准确获得,权值和阈值不确定性导致其训练结果不稳定,不能保证收敛到全局最小点,甚至可能出现不收敛的情况。遗传算法采用全局化的搜索模式,不需要依靠梯度信息以及问题函数可导性[13]。针对这些特点,本文采用遗传算法对神经网络的权重和阈值进行优化,以提高训练效果。

      遗传算法优化神经网络权重与阈值步骤如下:①初始化BP神经网络,将权重wij和阈值bi向量编码为遗传算法染色体,记为初始种群N;②将编码后的神经网络代入训练样本中进行交叉重组、变异操作,形成新种群;③解码新种群,若结果满足适应度条件,则终止遗传算法,并挑选最佳个体解码成网络最优权重和阈值;否则继续重复上述过程。染色体的位串结构与神经网络的结构关系如下:

      $$ G = S \times T + N \times T + N + T $$ (7)

      式中,G为染色体位数;S为神经网络的输入层数;T为隐含层数;N为输出层数。染色体位数与神经网络各层层数严格对应,确保通过遗传算法优化的权重和阈值结构一致。

      BP神经网络算法的目的是通过优化各层神经元的输入权重及阈值,使得其输出尽可能接近期望输出,使最终的误差函数达到最小。遗传算法通过适应度函数值判定解的质量,根据染色体编码及神经网络误差函数建立适应度函数f=1/EE为神经网络的误差函数值(前文式(1)、式(2)已给出定义)。

    • 通过BP神经网络拟合单ping水深数据反映的是海底地形横向剖面特征,纵向(测线方向)地形的变化情况并不确定。这样仅仅基于单ping的粗差剔除很可能剔除真实水深数据。

      由于地形的延续性,两相邻水深数据之间相关性较高。若数据中存在粗差,则会直接影响两组数据的相关性。本文正是基于这种考虑,通过相邻ping水深数据之间的相关性分析对已标定的粗差进一步检核。标定粗差检核准则如下:

      $$ \left\{ \begin{array}{l} \theta = \alpha \cdot\sqrt {\frac{1}{{n - 1}}\sum\limits_{i = 1}^n {{{\left( {{r_i} - {r_0}} \right)}^2}} } \\ r = \frac{{\sum\limits_{i = 1}^n {\left( {{X_i} - \bar X} \right)\left( {{Y_i} - \bar Y} \right)} }}{{\sqrt {\sum\limits_{i = 1}^n {{{\left( {{X_i} - \bar X} \right)}^2}} } \sqrt {\sum\limits_{i = 1}^n {{{\left( {{Y_i} - \bar Y} \right)}^2}} } }} \end{array} \right. $$ (8)

      式中,θ为标定粗差的阈值;r为相关系数计算公式;ri为去除单个波束点后相邻两ping水深数据相关系数;r0为原始水深相邻两ping水深数据相关系数;α为适应参数(通常为2~5的整数);(Xi, Yi)为两相邻ping的水深点深度值;$\left( {\bar X, \bar Y} \right)$表示其对应的平均深度值。

      具体粗差检核做法如下:①提取同一测线相邻ping之间的水深数据,标定对应波束序列号并计算两ping水深数据的相关系数r0;②分别移去两组数据中相同序列号的单波束水深点,计算剩余数据的相关系数ri;③通过粗差检核准则判定水深点是否为粗差。

      图 4(a)为多波束测深数据中两相邻ping水深数据,图中红圈内为已标定的粗差,通过粗差标定准则计算标定粗差阈值,如图 4(b)红线所示。由图 4可以发现,本文提出的粗差标定方法可以有效标定粗差。当然,对于不同水深数据, 可以调整适应参数以达到检核粗差的目的。

      图  4  检核标定粗差

      Figure 4.  Checking Calibrated Gross Error

    • 实验数据选取某作业单位完成的多波束实测水深数据,根据海区属性和任务要求,测深采用丹麦Reson公司生产的Seabat8101浅水多波束系统,后处理软件采用Caris Hips 7.1[14]。测区测线分布如图 5所示,由于存在沉船加测测线,故满足有效覆盖重叠率。

      图  5  测区多波束测深条带布设

      Figure 5.  Multi-beam Sea-Route

      实验选取一条测线(包含沉船)的400 ping水深数据进行粗差剔除工作,每ping包含256个波束,共计102 400个水深数据。原始数据(含粗差)中最大水深为37.5 m,最小水深为3.2 m,中间部分为沉船,如图 6所示。

      图  6  原始含粗差的海底地形图

      Figure 6.  Submarine Topography of Original Outliers with Gross Error

    • 采用BP神经网络进行单ping水深数据曲线拟合工作,隐含层和输出层神经元函数分别为tansig函数和purelin函数,网络训练法采用trainlm方法。BP神经网络拟合的单ping水深数据以及多项式(8阶)拟合结果如图 7所示。

      图  7  单ping水深数据拟合图

      Figure 7.  Image of Ping Bathymetric Data Fitting Curve

      图 7中BP神经网络拟合效果比较理想,明显优于多项式拟合结果,更适用于拟合多波束水深数据。

      为验证文中方法的可行性,考虑如下3种方案与本文方法进行比较。

      方案1  采用交互式滤波方法,即基于手工编辑处理。

      方案2  采用CUBE滤波方法,构建海底地形CUBE曲面,剔除粗差。

      方案3  采用基于BP神经网络的粗差剔除方法,结合相邻ping水深数据相关性分析进行纵向检核定位、剔除粗差。

      各种方案剔除粗差后的海底地形如图 8所示。

      图  8  各种方案剔除异常值后的海底地形

      Figure 8.  Submarine Topography by Different Schemes

      由粗差剔除结果可以看出:

      1) 原始数据中(图 6)包含大量粗差,影响水深数据质量,特别是中央区域存在的沉船位置。为保证航行安全,去除粗差影响是非常必要的。

      2) CUBE滤波方法和本文提出的方法在平坦地形区域粗差剔除效果都比较好,但是在沉船位置,CUBE滤波方法不能完全剔除粗差,如图 8(b)中红框部分。因为CUBE算法本身利用水深点信息对测区网格处节点进行水深值及相关误差估计时是基于节点周围水深点局部光滑性和表面连续性的假设。当海底地形变化较为复杂或者有明显的障碍物时(如实验中的沉船情况),该方法通过障碍物周边水深点信息来估计障碍物处的水深值,易导致障碍物处水深估计不准确,其水深点信息传递机制如图 9所示。

      图  9  CUBE算法水深点信息传递机制

      Figure 9.  The Transfer Mechanism of Sounding Information

      图 9中,如果平缓变换的海底地形中出现沉船这样的障碍物时,由于沉船的外部形状复杂(图 9中只展示水深局部变化情况,沉船的外部形状更为复杂),在局部会出现较大的水深数值变化。因此,在利用估计节点周围水深值变化较大的水深点进行水深值的估计时,必然会存在较大的误差,进而影响CUBE曲面的构建及粗差的剔除效果。而本文方法基于单ping水深数据本身进行曲线拟合,不会受地形变化以及障碍物的影响,可以较好地剔除沉船位置的粗差。

      为进一步比较两种方法,以交互式滤波方法为参考,两种方法剔除粗差后的水深数据与交互式滤波结果的互差结果如图 10所示。

      图  10  两种方法粗差剔除结果与交互式结果互差

      Figure 10.  Residual Errors of Two Methods and Interactive-Filtering

      3) 两种方法在平坦地形区域粗差剔除效果基本一致,而在沉船位置存在差别。与交互式滤波结果的互差显示CUBE算法在沉船位置剔除了较多水深点。通过比对图 8(b),发现红框内的水深值明显高于交互式滤波结果,说明CUBE滤波算法剔除了部分真实水深数据,使得整体地形变低。实验区域中包含的沉船部分使得该区域的水深数据变得复杂,不容易拟合,而BP神经网络具有学习功能,且实现了从输入到输出的映射功能,特别适合求解内部机制复杂的问题。所以在处理沉船部分的数据时,本文方法在较好地剔除粗差的同时保留了沉船位置的海底地形。

      为进一步直观比较两种方法,将两种方法与交互式滤波互差统计结果列于表 1中。

      表 1  两种方法与交互式滤波互差统计量

      Table 1.  Statistics of Residual Error Differences Between Two Methods and Interactive-Filterings

      互差统计量 CUBE滤波方法 本文提出的方法
      算术平均/m 0.008 -0.002
      绝对值平均/m 0.071 0.004
      最大值/m 7.421 5.821
      最小值/m -9.740 -6.640
      中误差 0.182 0.078
      标准差 0.182 0.078
    • 1) CUBE滤波方法剔除粗差效率较高。但是要达到较好的剔除粗差效果,需要严格知道各个传感器的精度指标。在复杂海底地形情况下(沉船、暗礁等),不能确保剔除所有粗差,而且在部分区域会剔除真实海底地形。

      2) 基于BP神经网络的多波束水深数据剔除方法针对多波束单ping水深数据进行BP神经网络曲线拟合,可以达到较好的拟合效果,优于传统多项式拟合。

      3) 在进行单ping水深数据拟合剔除粗差过程中,进行已标定粗差检核是必要的。基于地形延续性考虑的相邻ping水深数据相关性分析可以纵向检核标定粗差,有效弥补单ping水深数据剔除粗差的局限,避免剔除真实水深点。

参考文献 (14)

目录

    /

    返回文章
    返回