最近下了几篇关于cube滤波的文献,按照惯例,先说结论:
(1)cube英文全称:CUBE (Combined Uncertainty and Bathymetry Estimator),主要思路是:测区分成若干个水深节点,使用卡尔曼滤波计算每个水深节点的水深值和中误差。
(2)卡尔曼滤波有2个问题,首先是初值问题,通过中值滤波实现,然后是多重估值的问题,即单节点有多个水深聚集区,如何确定那个聚集区是正确的,即抗差的卡尔曼滤波。
(3)关于抗差的问题,多篇文献给出一些探索,最基本就是2个:水深数多的取胜,局部地形判断。
按照文献出版时间先后顺序,将文献主要内容摘录
CUBE算法及其在多波束数据处理中的应用_王德刚-2008
CUBE (Combined Uncertainty and Bathymetry Estimator) 算法是利用测量所得水深点 (Sounding)信息,对测区网格处节点 (Node) 进行水深及其相关误差的一种估计 (图 1)。单个节点处的估计首先选择使用的水深点;为了增加估计的抗差性,对选中水深 点 应 用 中 值 滤 波 ; 然 后 利 用 动 态 卡 尔 曼 滤 波(Dynamic Kalman Filter) 生成节点处的水深及其误差估计值;在出现多重估计值的节点,运用下述 CUBE原则选择一个“最优”的水深估计;最后得到节点的水深及相关误差估计值。
1.2 水深点的中值滤波
动态卡尔曼滤波需要给定一个初值,但第一个进入滤波器的水深数据并不一定是“真正”的水深值,有可能是粗差。为了保证滤波器的效率,采用Cormen 的中值预滤波方式,来改变选中的水深数据输入滤波器的顺序,对值得怀疑的较大或较小水深值进行时间延后处理 (图 3)。因开始滤波时使用的水深序列是任意的,故这种模式极大地提高了估计的抗差性,确保了估计机制能很快发现“最优”的水深估计。
1.3 动态卡尔曼滤波
动态卡尔曼滤波是一种基于先验信息的动态估计过程。该滤波运用最优的动态线性模型(DLM),当有水深数据进入滤波器的时候就可以进行节点水深估计,这是 CUBE 算法实时应用的基础。下面介绍节点处的卡尔曼滤波过程。
对网格区域 (X,Y) 处的某个节点,使用水深数据序列 (X1,X2,……X11) 对其进行节点水深估计。首先将 X1的值作为卡尔曼滤波的初值;当 X2进入时,比较 X1和 X2的误差大小,以确定两者权重 (权重由传播机制、误差综合等决定),进行下一次估计,得到当前估计水深 H0及其误差delta;当下一水深点数据 X3进入时,令当前估计值作为下一个估计值的起始值 (图 4),如此循环直到水深数据序列中所有的水深数据均被使用后,最终得到 (X,Y) 处某个节点的水深及其误差估计。
节点估计所用卡尔曼滤波是一个动态跟踪过程,随着越来越多的水深点深度值被使用,节点深度估计值就越来越精确,而误差随着水深点深度值的增加则越来越小(图 5)。水深点深度值序列越长,节点处水深的估计效果就越好。但为了保证效率,把这个序列控制在 11 个水深点范围内, 就足以保证估计节点水深的精度。
1.4 多重估计值及“最优”水深值
在应用动态卡尔曼滤波的过程中,由于模型的多解性和水深点粗差的出现,有时在同一节点会得到不同的水深值,且两个水深值差异较大:dh > 4delta(delta是估计所用水深点的标准偏差),但两个水深值各自的误差都很小,根据表面连续性判断这是不可能的。此种情况的出现会导致卡尔曼滤波的失效,这时就要采用另外的 DLM 模型来替代当前模型(图6),因此在同一节点处就有可能产生多重水深估计值。
所有 DLM 模型在同一个节点产生的多个水深值被同时保留,直到 CUBE 算法确定哪一个估计值是最优”水深为止。
这篇文献有个对比图(见下图),从图中可以看出,滤波结果基本保留了基本地形,但是滤掉的数据也是很明显能感觉到。
这篇文章还算比较好懂,大概的疑似就是说,先分水深节点,然后算水深节点的水深值和中误差,为了保证水深节点的水深初值的准确,利用了中值滤波,然后使用卡尔曼滤波计算节点最优值和中误差,但是节点内有可能会有2个以上的水深中心值,很有可能是噪声造成的,比如kongsberg的多波束梗,这是需要剔除的。
利用CUBE算法处理多波束测深数据研究_孙岚-2009
2.1 CUBE算法基本原理 CUBE 算法的核心是建立每个测深点的TPU(总传播不确定度)。TPU 是评价多波束仪器本身如波束特性(角度、宽度及方向)、仪器安装偏差及多种外围辅助测量设备如定位、姿态(pitch、roll、heave)、声速(换能器表面声速及声速剖面)、潮汐、吃水和时延等偶然误差和系统误差的总指标。TPU 建立的关键在于对测量误差的概率分布、置信域及标准差等三方面作出何种规定。
IHO S-44 假定测量数据服从正态分布,并要求置信域为 95%,TPU 分别用THU(总平面不确定度)和 TVU(总垂直不确定度)来表征,具体如下式所示:
CUBE 算法是利用测点有关信息(不确定度),对测区网格处节点进行水深及其相关误差的一种估计方法。利用多波束测点THU及TVU数值,即可建立 CUBE 地形曲面。具体步骤如下:
(1) 根据测点离曲面格网节点的距离和该测点的THU及TVU数值计算该测点权重;
(2) 通过加权平均法,计算网格处节点的水深估计,同时计算该节点水深估计的水深点个数、强度及不确定性;
(3) 用生成的CUBE曲面对测点进行自动滤波。
IHO S-44(2008 版)针对不同海区需要重新设定了不同等级的海道测量最低标准,与 IHO S-44(1998 版)规定有所不同,具体见表 1 所示
CARIS使用cube滤波算法的步骤见下图
无论是否使用cube滤波算法,文后的总结说得还是非常有道理的:
在这里需要说明的是,CUBE 算法应用效果的优劣取决于以下几方面要素:(1) 原始多波束数据采集质量。各种海洋环境特别是声速因素对原始数据的采集有较大影响,如果声速剖面测站布设过少甚至表层声速仪损坏,将会导致测带出现大量“凹凸”现象,无论是基于人工方式还是基于 CUBE 算法进行数据处理,数据成果质量都无法得到保证,因此必须对多波束外业测量从源头加以质量控制;
(2) CUBE 算法对使用者要求较高,除了船配置文件中的 TPE 参数必须准确设置外,在使用过程中还需对有关参数进行反复调整,这样才能得到较为理想结果;
(3) 海底特殊地形及障碍物的影响。本文涉及海底区域包含了沙波状海底地形,其变化较为规律和平缓,若测区地形更为复杂或者有障碍物(如浅点、沉船等)时,应用 CUBE 算法时必须特别注意,否则有可能导致浅点或障碍物被不合理删除。
利用CUBE算法剔除多波束测深粗差研究_黄辰虎-2010
摘要:针对国内基于不确定度信息处理多波束测深数据相对滞后现状,将CUBE算法应用于大批量多波束测深粗差剔除研究。通过与人工交互编辑结果对比,表明CUBE算法剔除粗差效率较高并能保证测深成果质量,具有较高的推广应用价值。该研究对进一步优化我国多波束测深粗差处理算法也具有重要意义。
基于CUBE算法的多波束测深数据自动处理研究_王海栋-2011
摘 要:对 CUBE 算法自动处理多波束测深数据的模型建立、格网节点的多重估计和最优估值选取准则进行了详细介绍,深入分析了多重估计的实用性,并通过实测数据对该算法进行实现。利用了抗差 Kalman 滤波改进 CUBE 算法。通过模拟数据对改进的 CUBE算法进行实验,验证了算法改进的必要性。
基于CUBE多波束异常值检测算法与显控软件_李沫-2013硕士论文
首先,在对波束归位技术中的测深点高程计算和波束脚印位置解算的研究的基础上,对造成多波束测深过程中测深结果精度误差的因素进行了全面分析总结。结合国际海道测量标准第版中基于不确定度的测量结果质量评估新标准,建立了垂直不确定度和水平不确定度的传播模型。研究了每个误差源相对于波束指向角的变化规律,以及对深度误差和位置误差的影响程度。其中,波束指向角与横摇误差对深度误差的影响最大,测深点到声基阵中心的位置误差对位置误差影响最大。通过实测海试数据处理进行了测深点不确定度实例计算,三维成像结果表明边缘波束点的垂直不确定度与水平不确定度明显大于中间位置波束点,并且结合特级海道测量所允许的最大总垂直不确定度公式验证实测数据的垂直不确定度和水平不确定度均符合要求。
其次,基于贝叶斯准则对基于的多波束测深估计中的节点估计方法的吸收、介入以及择优三个过程进行了研究。针对待估节点吸收测深点的估计更新过程,重点研究了捕获距离的选择准则和增强算法抗差作用的测深点序列重排序方法。介入机制的作用是减小测深异常值对估计结果的影响。使用以上基于贝叶斯预测的数据处理方法,进行海试数据处理,节点估计更新过程的结果显示介入机制造成了多重估计的产生,因此需要择优过程对多重估计结果进行最优选择。
再次,在研究择优过程中几种典型最优估计准则的基础上,针对数据中可能出现连续测深异常值的情况,提出一种基于的最小相对深度误差准则。该准则采用待估节点邻域内捕获的所有测深点的平均深度值作为该节点的参考深度,利用每个模型的深度估计计算出对应的相对深度误差,通过比较选择具有最小相对深度误差的估计模型作为节点的最优估计。实测数据处理结果显示,经该准则处理生成的海域地形比使用准则的结果更加平滑,有效地解决了连续测深异常值的问题。同时,计算速度优于准则,验证了基于的最小相对深度误差准则具有较强的稳健性和高效性。
二次CUBE滤波算法及在边坡乱石区测深数据处理中的应用_郑永新-2018
摘要:针对传统 CUBE(combined uncertainty bathymetry estimation)算法在水下边坡乱石区多波束测深数据滤波中表现出的水深估计不准确、地形特征模糊和粗差剔除能力不足等问题,基于乱石区测深数据特点,提出二次 CUBE滤波算法,给出了位置和水深同步估计的思想和方法、顾及地形梯度的平面和水深不确定度传递模型、参考水深的多重估计和优选新算法,以及顾及地形梯度的二次水深估计模型,综合实现了乱石区水深的准确估计和粗差的自动准确检测。试验表明,本文给出的方法实现了粗差的自动准确剔除,提高了传统 CUBE算法水深估值的精度,算法效率和抗差性更强,形成的地形特征更加准确。
CUBE曲面滤波参数联合优选关键技术及应用_赵荻能-2019
摘要:CUBE(combined uncertainty and bathymetry estimator)算法是国际上主流的多波束测深异常值自动探测与处理算法,在国内外被广泛应用,但对其核心算法和参数知之甚少,不利于该项技术的国产化。
本文详细阐述了 CUBE算法的基本原理、数学模型、关键参数和处理步骤,进而建立了 CUBE 曲面滤波参数联合优选方法。通过选取典型地形区、参数试验、对比分析等步骤完成参数的联合优选,并用台湾浅滩实测数据进行了验证。结果表明,优化后的参数可有效提升多波束数据自动处理的精度和效率。本文成果可应用于国产多波束测深处理软件的深化研发以及多波束实测数据处理。
结束语
虽然介绍了这么多cube滤波算法,还有一些改进算法,这些算法在文章也进行了一些验证,但是,博主要说的是,这些都是科研论文,在生产实践中,高深复杂的东西往往并不好用,简单的最好用,效率最高。无论是使用CARIS还是Qimera,永远是最简单的算法最管用。
博主在多年水深测量生产实践中得到的感受,可以说坚持的原则是:
(1)深远海水深调查中,禁止使用cube滤波,必须采用人工剔除噪声,主要原因是深远数据量小,人工处理不复杂,耗时不长,另外,每个水深点都非常珍贵,不能多删除。
(2)浅水调查项目,由于数据比较密集,建议采用cube滤波算法。