落叶飘飘海洋学研究26卷2期
文章编号:1001-909X(2008)02-0082-07
CUBE算法及其在多波束数据处理中的应用
王德刚,叶银灿
(国家海洋局第二海洋研究所,杭州国海海洋工程勘测设计研究院,浙江杭州
310012)
摘要:阐述了一种基于表面生成的多波束数据处理方法———CUBE(CombinedUncertaintyand
BathymetryEstimator
)算法,用该方法可以对观测区域网格节点“真实”水深及相关误差进行估计。与从测量水深中选择出“最佳”数据的手工交互方式的多波束数据编辑手段不同,CUBE算法具有很强的抗差性和较高的效率,适合于实时多波束数据处理。对南海某测区多波束数据处理结果表明,在没有人工干预的情况下,利用C
UBE算法去噪生成的海底DTM图与手工编辑生成的相当吻合。CUBE算法和手工编辑方法综合对比得出,CUBE算法能够很好地保留水深地形细节,在计算效率、误差评估、实时处理等方面比手工编辑方法具有较大的优势。关键词:多波束数据;CUBE算法;手工编辑;水深估计;误差估计中图分类号:P229.5
文献标识码:A
0引言
多波束测深系统是一种全覆盖式声纳测深系统,
它采取多组阵和广角度发射、接收,形成条幅式高密度水深数据,能够精确、快速地测出沿航线一定宽度内的水下目标的大小、形状和高低变化,从而可以比较可靠地描绘出海底地形地貌的精细特征[1]
。目前国内已经引进了多种型号的深、浅水多波束测深系统,广泛应用于海洋测绘、海洋地质与地球物理调查和海洋工程勘测等方面。当前对多波束数据去噪的手段主要是基于单测线手工交互方式(手工编辑),即对每条测线数据逐段进行人工编辑,去除粗差。用这种方法处理多波束数据不但速度较慢且容易受主观性判断影响,只能用于数据的后处理,不适合用于实时观测数据处理,手工编辑已经成为大批量多波束数据处理中的一个“瓶颈”。
在海底地形连续变化的假设下,许多国内外学者在多波束数据异常检测方面取得了一些成果,其中最简单的就是采用最大、最小深度门限,最大坡度,最小角度和横向距离5个检测原则[2]来滤掉“跳点”;而更复杂的像VARMAetal[3]根据整个数据的中值和
标准偏差估计去除部分水深点;还有一种技术是基于统计多变量估计的假设验证方法[4]
;DUetal[5]构建了一种模拟人工滤波的数据编辑程序;LIRAKISetal[6]运用PFM系统进行多重方式滤波。这些方法在一定程度上加快了多波束数据处理的速度,但主要缺点是模型抗差性较差,结果不可靠,并且需要对大量的水深数据人工标定“好”与“坏”,每次只能对一个较小的区域进行滤波,因此效率不高。
鉴于当前多波束处理方法的不足,本文阐述了一种高效、抗差性强的多波束数据自动处理方法———CUBE算法,并实现了对南海某测区多波束数据的CUBE算法处理。为了评估CUBE算法处理的质量,将CUBE算法应用结果与手工交互方式进行对比分析,以期得出此算法的优势所在。
1CUBE算法的理论模型
CUBE(CombinedUncertaintyandBathymetry
Estimator)算法是利用测量所得水深点(Sounding)信息,对测区网格处节点(
Node)进行水深及其相关误差的一种估计(图1)。单个节点处的估计首先选择使用的水深点;为了增加估计的抗差性,对选中水
收稿日期:2007-02-02
基金项目:国家自然科学基金资助项目(40476032);国家海洋局第二海洋研究所基本科研业务费专项资助项目(SZ0714)作者简介:王德刚(1981—),男,山东德州市人,硕士,主要从事海洋工程地球物理技术研究。
2008年6月
第26卷第2期海洋学研究
JOURNALOFMARINE
SCIENCESJune,2008Vol.26No.2
图3
水深点序列的中值滤波
Fig.3
Themedianfilteringofsoundingarray
深点应用中值滤波;然后利用动态卡尔曼滤波(
DynamicKalmanFilter)生成节点处的水深及其误差估计值;在出现多重估计值的节点,运用下述CUBE原则选择一个“最优”的水深估计;最后得到节点处
的水深及相关误差估计值。1.1水深点选择和信息传递机制
选择节点周围的水深点对节点水深进行估计。这些水深点要满足以下两个条件[7]
:(1)d≤5%H(d为节点和水深点的距离,H为水深点的水深);(2)水深点误差小于!max(IHO规定的航道测量中的最大允许误差)。
在表面连续性和局部光滑性的假设条件下,可以
得出节点所在的小区域表面是水平的(水深没有变化)(图2a),或者这个表面有很小的坡度(水深有微小变化)(图2b)。因此,根据线性关系,水深点的信息被传递到节点处,用于节点水深估
计。在估计中,距离节点越近或误差越小的水深点所给予的权重也越大,以保证估计所用水深点的可靠性[8]
。图1网格位置节点和测量水深点的分布Fig.1
Thedistributionofgridlocationnodes
andsoundingpoints
a.平坦地区;b.小坡度地区
绿色桌面壁纸
图2
水深点信息的传递机制
Fig.2
Thetransfermechanismofsoundinginformation
1.2水深点的中值滤波
李延镇
动态卡尔曼滤波需要给定一个初值[9],但第一个进入滤波器的水深数据并不一定是“真正”的水深值,有可能是粗差。为了保证滤波器的效率,采用Cormen的中值预滤波方式,来改变选中的水深数据输入滤波器的顺序,对值得怀疑的较大或较小水深值进行时间延后处理[10]
(图3)。因开始滤波时使用的水深序列是任意的,故这种模式极大地提高了估计的抗差性,确保了估计机制能很快发现“最优”的水深估计。
1.3动态卡尔曼滤波
动态卡尔曼滤波是一种基于先验信息的动态估计过程。该滤波运用最优的动态线性模型[11](DLM),当有水深数据进入滤波器的时候就可以进行节点水深估
王德刚等:CUBE算法及其在多波束数据处理中的应用
元谷
83··
海洋学研究26卷2期
计,这是CUBE算法实时应用的基础[12]。下面介绍节点处的卡尔曼滤波过程[8]。
对网格区域(
X,Y)处的某个节点,使用水深数据序列(X1,X2……X11)对其进行节点水深估计。首先将X1的值作为卡尔曼滤波的初值;当X2进入时,比较X1和X2的误差大小,以确定两者权重(
权重由传播机制、误差综合等决定[13]),进行下一次估计,得到当前估计水深H0及其误差!;当下一水深点数据X3进入时,令当前估计值作为下一个估计值的起始值(图4),如此循环直到水深数据序列中所有的水深数据均被使用后,最终得到(X,Y)处某个节点的水深及其误差估计。
节点估计所用卡尔曼滤波是一个动态跟踪过程,随着越来越多的水深点深度值被使用,节点深度估计值就越来越精确,而误差随着水深点深度值的增加则越来越小[7]
(图5)。水深点深度值序列越长,节点处水深的估计效果就越好。但为了保证效率,把这个序列控制在11个水深点范围内,就足以保证估计节点水深的精度[14]。
1.4多重估计值及“最优”水深值1.4.1多重估计值的产生
在应用动态卡尔曼滤波的过程中,由于模型的多
解性和水深点粗差的出现,有时在同一节点会得到不同的水深值,且两个水深值差异较大:!h>4!f[13](!f是估计所用水深点的标准偏差
)
,但两个水深值各自的误差都很小,根据表面连续性判断这是不可能的。此种情况的出现会导致卡尔曼滤波的失效,这时就要采用另外的DLM模型来替代当前模型[13](图6),因此在同一节点处就有可能产生多重水深估计值。
所有DLM模型在同一个节点产生的多个水深值被同时保留,直到CUBE算法确定哪一个估计值是
图4
结点处单个水深估计值的卡尔曼滤波过程
Fig.4
TheprocessofKarmanFiltatanodewithasingledepthestimation
a.水深追踪;b.误差追踪
图5
水深数据随机序列及节点处水深和误差追踪
Fig.5
Traceofdepthanderrorestimationforstochasticarrayofsoundingdata
84··
王德刚等:CUBE算法及其在多波束数据处理中的应用
“最优”水深为止。
1.4.2“最优”水深值的选择
对产生多重水深估计值的节点,CUBE算法采用
以下两个规则自动确定“最优”水深值[7]。
(1)通过产生估计值的水深点数目来决定,选择
K最大的水深值作为“最优”估计值。
k=max
1≤i≤N
n[i]/
"#
N(1)
式中:n[i]为某个节点处水深估计值为i时使用的水深点数目;N为此节点估计使用的所有水深点数量,k为所占的比例。
在一般情况下,这个规则具有足够的抗差性。在噪声数据占绝大比例的水深数据中,这个模型还可能会失效,因为“噪声”数据比“真正”水深数据出现的频率还要高,会引导CUBE算法做出错误的判断,这时就需要使用以下规则。
(2)利用水深信息的局部相关性原则,因为具有一个水深估计值的节点比具有多个水深估计值的节点更可靠。
假设G是具有一个水深估计值H的节点,且最靠近具有多重水深估计的节点P。由曲面连续性可知,节点P的水深应该接近节点G处的水深估计值。因此,选择节点P水深估计值中最接近H值作为节点
P的“最优”水深估计值。同样方法应用于下一节点,最终得出所有节点处的水深估计值及相关误差估计值。
CUBE算法可以生成节点估计水深地形图及相关误差色码图。误差色码图用来评价节点处水深估计值的精度,对那些误差较大的小区域,可以人工标注水深点的“好”、“坏”,然后在小区域中反复应用CUBE算法,生成小区域“最佳”表面。
2应用实例及效果评估
应用CUBE算法,作者已对南海某测区多波束数据(25.4~42.1m)进行过处理。处理时,先对多波束原始水深数据进行潮位、声速、动态吃水等的前期校正预处理,然后利用CUBE算法,得到测区的估计水深值及相关误差。为了评估CUBE算法自动处理多波束数据的质量和效率,又对同一测区的多波束数据进行了手工编辑处理;再将CUBE算法所得的估计水深值及手工处理后选择出的水深点生成相同网格大小的DTM图,采用同样的光照参数。为使结果更加直观,截取了一段存在沙波的区域给予分析(图7)。2.1应用实例
图7为对水深数据采用两种方法处理后生成的海底DTM效果图,图7a为手工编辑后生成的,图7b为CUBE算法自动编辑后数据生成的。由图7可以直观地看出,两者处理水深数据的效果都较好,沙波明显显露,海底地形细节被清晰地展示出来。但手工处理水深数据所需时间较长,处理过程
十分繁琐,效率低;而CUBE算法处理水深数据速度较快,且处理过程无需人工干预,效率较高。
2.2效果评估
为更好地对CUBE算法处理水深数据的效果进行评估,首先求取了CUBE算法和手工编辑生成的DTM图的水深差异值,再以手工编辑后水深值生成的DTM图为标准,生成以上两种算法的水深差异DTM图,并利用统计方法对水深差异值进行定量分
名人语录经典短句a.估计一致时,单个DLM追踪;b.估计不一致时,多个DLM追踪图6单个水深估计值和多重水深估计值的产生
Fig.6Thegenerationofsingledepthandmulti-depthesestimation
85··
海洋学研究26卷2期
析,最后选取一典型剖面作进一步的验证分析。2.2.1定性分析
图8为CUBE算法和手工编辑生成的水深差异DTM图。从图8中颜色标尺可以直观看出水深差异在[-3.051m,2.486m]之间,除了边缘有少量颜色
“跳点”外,其它区域颜色均一,均为0m附近的代表色,水深整体差异较小。2.2.2定量分析
作者对由CUBE算法和手工编辑生成水深差异值进行了统计分析,结果见图9。
a.手工编辑去噪生成的海底DTM图;b.CUBE去噪生成的海底DTM图
图7手工编辑和CUBE生成海底DTM图的对比
Fig.7
Thecomparisonofhand-editedandCUBE-generatiedDTM
图8
CUBE算法和手工编辑生成的水深差异DTM图
Fig.8
ThedepthdifferencebetweentheCUBEandhand-editedDTM
对开尺寸
从图9可见,在95%置信度区间下,由CUBE算法和手工编辑得到的水深差异在[-0.13m,0.13m]内,也就是说这两种算法得到的水深数据只有5%的差异值落在[-0.13m,0.13m]~[-2.73m,2.69m]区
间;而对85%置信度区间的水深数据分析可得,两种算法得到的水深差异在5cm左右。经计算,得出的水深差异平均值为0.01m、差异中值数为0.02m、差异标准偏差为0.10m,可知两种算法得到的统计水深差异值较小。2.2.3典型剖面分析
为进一步验证,截取了由CUBE算法和手工编辑得到的水深差异值DTM图上的一个典型剖面A(图
崇敬是什么意思8)来分析。从图10可以看出边缘区域极少数点水深差异值起伏较大;中间区域水深差异有微小波动,水深差异值大多在[-0.05m,+0.05m]以内。这与本文的整体分析结果是一致的。
综上所述,CUBE算法和传统的手工处理方法得到的海底DTM图是非常吻合的,其边缘区域个别水
图9
95%抽样率下的节点水深差异统计
纽约面积Fig.9Thedepthdifferencestatisticsat95%nodesampling
86··