基于Biharmonic插值的海底地形可视化仿真
2014-02-27陈彦勇
刘 锋, 张 严, 陈彦勇
基于Biharmonic插值的海底地形可视化仿真
刘 锋, 张 严, 陈彦勇
(中国船舶重工集团公司 第 705 研究所昆明分部, 云南 昆明, 650118)
由于电子海图中只包含海洋环境的矢量数据, 并未给出海底地形相关信息。本文利用ISO8211类库, 提取S-57电子海图原始文件的矢量水深数据, 依据这一组水深数据进行Biharmonic曲面样条插值, 计算出一组曲面上的网格点处的坐标数据, 从而实现对该海区内海底地形的可视化仿真。同时利用插值后的坐标数据, 进行等深线绘制仿真, 将仿真结果与专业电子海图软件打开同一张海图进行对比以及误差分析, 结果表明, 使用插值数据构建地形的正确性, 规则分布的插值水深数据可用于自主式水下航行器(AUV)的自主路径规划。
自主式水下航行器; 电子海图; 海底地形; Biharmonic插值; 可视化仿真
0 引言
随着水下航行器的航程越来越长, 执行的任务越来越复杂, 自主式水下航行器(autonomous underwater vehicle, AUV)智能化程度也越来越高, 而水中兵器的发展方向之一就是能够执行长航程的巡航任务, 在预设的一片海区进行目标搜索, 航程达到数百公里。除AUV或长航程水中兵器自身所带的探测感知设备之外, 还需要对海洋环境有充分的了解, 环境信息可以为长航程的水下航行器提供航行路线的输入, 选择航行路线, 避开危险海区暗礁区域, 更安全更快捷地到达指定的就位点。长航程AUV在无人干预的情况下, 更需要航行器自身尽可能多的获得航行航区环境信息, 以提供给AUV决策系统有价值输入, 再采用适当的算法进行AUV的自主航路规划。从而规避障碍物等区域, 更好地完成攻击警戒或者探测任务。而水深点坐标数据, 是水下航行器执行任务时所需要的最基本的一个环境信息, 结合水中兵器或者AUV具体任务的航行深度要求, 依据海图水深坐标点, 可以实现基于电子海图的自主航路规划。但电子海图中只包含有水深、岛屿灯塔等矢量位置信息, 更多的面向水面航行应用, 并没有给出海底地形的分布图。而AUV或者长航程的水中兵器导航更关心水下航行环境, 这就需要利用现有的电子海图有限信息最大限度挖掘出AUV避障所需要环境信息。本文利用水深坐标数据, 基于一种插值算法构建出海区的海底地形, 为水中兵器完成任务提供必要的支持。利用ISO8211开源库, 对S-57格式的电子海图.000文件提取海图数据, 并且裁剪掉灯塔等不关键数据, 唯一保留水深点数据坐标, 对海底地形进行可视化仿真。
1 S-57电子海图数据读取及裁剪
经过对S-57电子海图的完全解析, 可以实现将S-57电子海图.000数据的解析, 从而实现电子海图的完全解读, 完整的得到每一个字段的全部信息。利用一张中国南海电子海图原始.000文件, 提取其中空间物标类的水深字段(SG3D)数据, 在不进行任何电子海图投影的前提下, 利用直角坐标系, 对所提取数据进行数学插值, 并进行仿真绘图验证。首先对封装的S-57电子海图原始数据实现成功读取, 并且有针对性的裁剪水下航行器不关心的数据, 留下需要的电子海图原始数据, 为长航程的水下航行器提供宝贵的先验数据输入。其次读取出data set parameter field structure(DSPM)字段, 该字段主要描述了一张电子海图的权值及控制信息。而要读取电子海图的水深子字段数据, 需要读取出该字段与水深及经纬度坐标权值信息。DSPM字段定义见文献[1]。
水深数据是一组3D点数据, 坐标形式是经度、纬度及深度。在原始提取的数据中, IHO标准为便于数据交换, 在.000数据中水深字段数据被存储为整型数据, 数据权值是从DSPM字段来控制的。其中sounding datum(SDAT)子字段表示水深数据的权值。经读取, 本张海图SDAT=10,因而从电子海图中读取的水深点值要除以10才是实际该点的水深值。而包含在该字段下的另外一个子字段coordinate multiplication facto(COMF)表示本张海图经纬度的权值。读取出的经纬度值除以这个子字段的值才是实际的经纬度数值。经读取, 本海图COMF=10 000 000。
由于电子海图数据仅给出一些离散点的水深数据, 并没有给出任何海底地形信息, 通常在水面舰艇应用方面, 也不需要了解海底地形信息, 而在水中兵器领域, 对于需要远程航行的AUV, 在无人干预的情况下, AUV在现有的自身探测设备基础上, 需要充分利用电子海图水深数据, 进行曲面插值拟合, 从而仿真出海底地形图像, 对AUV的水下智能决策提供有价值的输入信息。
为了方便仿真时建立地形模型, 将读取出的水深值符号取反。提取出的电子海图在除以权值后[2], 可得出水深点坐标数据。从一张中国南海S-57电子海图EA200 001.000提取出水深数据坐标如图1所示, 共有3 542条水深数据记录, 第1列为经度, 第2列为纬度, 第3列为水深值。
图1 水深点坐标数据
在直角坐标系下, 以经度和纬度作为平面坐标, 可标绘出所测水深散点的位置。再根据水深数据, 以不同颜色表示水深点的数值大小。水深平面散点图如图2所示。
图2 中国南海水深散点图
2 Biharmonic插值原理
本文采用Biharmonic样条曲面插值方法[3-4]对所提取到的水深数据进行曲面插值, 从而拟合出该海图所包含区域的海底地形。
以所给出的数据点为中心, 计算这些中心点的Green函数, 这些函数的线性组合就是插值得到的曲面。这种方法不但利用了已知点的3D数据, 还利用了点与点之间的斜率关系, 并且满足Biharmonic方程, 此方法产生的曲面具有最小曲率。Biharmonic方程在不同维空间的解就是对应于不同维的Green函数。
若3D空间中离散分布着个已知水深数据点T,=1~, Biharmonic样条插值也就转化为求解方程组
表1 m维Green函数
对于任何分布形式, 任何数量的给定已知散乱分布3D数据点, 均可以使用Biharmonic样条插值方法进行数学插值, 拟合出3D曲面。已知点称为控制点, 对于拟合网格里的其他点称为非控制点。
3 样条曲面插值计算过程
Step2: 矩阵的对角元素为0, 现将的对角线元素置为1。
, 其中对角元素对于P里的每个元素, 利用式(5)计算各元素的Green函数。
Step6: 对于任意给定点, 进行插值计算。
图3 数学插值网格点
计算中间向量
计算后, 将为0的元素置为1。再计算Green函数值向量
4 曲面插值仿真试验结果及误差分析
以同样的方法处理纬度, 得到100×100个网格待插值坐标点。由于岛屿或陆地水深数据是不给出的, 这样划分就覆盖了整张海图除陆地部分的海域, 形成规则的网格插值点。X坐标轴选为经度, Y轴坐标选为纬度, 深度值设置为Z轴。海底地形仿真如图4所示。将海底地形图投影到X-Y平面, 如图5所示。
图5 中国南海水深区域平面映射图
为从另一个方面验证海图提取数据的正确性以及Biharmonic样条插值的效果, 利用插值后的数据, 在Matlab中自动拟合绘制等深线[7], 并以不同颜色对等深区域进行标绘, 结果如图6所示。
为对比等深线的绘制效果, 用专业的电子海图软件Opencpn进行打开EA2 000001.000电子海图文件, 长方形框选的区域就是本张电子海图覆盖的区域。专业海图软件是读取了电子海图文件的所有数据后, 按照标准进行了莫卡托投影计算后, 显示在屏幕上, 如图7所示。
图6 数学插值等深线图
图7 专业海图浏览器浏览中国南海海图
对比利用Biharmonic样条插值数据插值后拟合的等深线, 发现轮廓图形基本一致, 说明提取的电子海图数据正确、可信。由于仅利用了一张电子海图, 庞大繁杂的矢量数据中的一组水深数据进行插值处理、绘图, 并未提取电子海图的岛屿边信息等其他信息, 并且为了能够仿真出海底地形图, 建立的坐标系是直角坐标系, 并未考虑专业海图的投影算法, 因而在构造等深线时与海图浏览器存在部分细微差异。
在网格插值的10 000个水深数据点中, 选取了离原始数据点距离小于1 km的32个插值点, 默认这些插值点的经纬度和原始数据经纬度一致, 认为距离小于1 km时点的经纬度坐标相同。利用Biharmonic插值水深数据与原始水深数据进行误差对比分析, 数据对比图如图8 所示。横坐标为点序号, 纵坐标为水深值。正方形表示原始水深数据点, 星号标出的点为同一经纬坐标下插值计算的水深数据, 由图可知插值点数据与原水深数据基本重合。
图8 插值数据与原始数据对比
其中为分析误差点总数,=32,表示原始坐标点处水深值,表示同一点处插值计算水深值。平均相对误差用式(11)计算30个点的平均相对误差为11.22%。在已知水深点分布密集的区域, 差值计算精度会大大提高; 而在已知水深点分布稀疏的区域, 插值误差会较大。
5 结束语
通过提取S-57电子海图数据, 裁剪无关数据, 仅利用一张中国南海部分海域的3 542个水深点坐标数据, 基于Biharmonic样条插值算法, 得到10 000个水深插值数据, 将原有数据扩充了近3倍, 同时对该区域的海底地形进行了可视化的3D仿真及等深线绘图, 对比专业的电子海图浏览器可以验证电子海图提取数据的正确性。本文利用电子海图中有限的一组水深数据, 最大化的复现海底地形。利用提取的水深坐标数据, 插值后得到3D空间的数据模型, 从而构建立体栅格数据, 一方面可以基于数据利用某些智能算法,作为水下航行器载体进行水下自主决策(如规避暗礁等水域的路径规划)的输入; 另一方面, 在岸基监测端, 通过数学插值及绘图仿真, 可以更生动形象的模拟出海底地形, 可用于水下航行器的人工路径规划, 同时也可以通过水声通信或者遥控电缆, 对AUV进行遥测或者遥控。
[1] International Hydrographic Organization. S-57 Edition 3.1 IHO Transfer Standard for Digital Hydrographic Data[S]. Monaco: International Hydrographic Bureau, 2000.
[2] 王晓锋. S-57标准电子海图显示平台的研究[D]. 哈尔滨: 哈尔滨工程大学, 2010.
[3] 王亚涛, 董兰芳, 倪奎. Biharmonic样条插值的图像渐变算法及实现[J]. 中国图象图形学报, 2007, 12(12): 2189-2194.Wang Ya-tao, Dong Lan-fang, Ni Kui. Image Morphing Algorithm Based on Biharmonic Spline Interpolation and Its Implementation[J]. Journal of Image and Graphics, 2007, 12(12): 2189-2194.
[4] 陆鹏. 基于Biharmonic样条的离散数据三维地形生成方法[J]. 广西水利水电, 2011(6): 64-65.
[5] 欧阳洁. 数值分析[M]. 北京: 高等教育出版社, 2009: 80-150.
[6] Sandwell D T. Biharmonic Spline Interpolation of GEOS-3 and SEASAT Altimeter Data[M]. Geophysical Research Letters, 1987, 14(2): 139-142.
[7] 刘保柱. MATLAB7.0从入门到精通[M]. 北京: 人民邮电出版社.
(责任编辑: 许 妍)
Visual Simulation of Seafloor Topography Based on Biharmonic Interpolation
LIU FengZHANG YanCHEN Yanyong
(Kunming Branch of the 705 Research Institute, China Shipbuilding Industry Corporation, Kunming 650118, China)
The electronic chart only includes the vector data of marine environment, however it doesn′t give seafloor topography information. We extract the depth vector data from S-57 original document by using the ISO8211 library, calculate a set of grid points data based on the water depth data by Biharmonic curved surface spline interpolation, so as to visually simulate underwater terrain. The interpolated data are used to simulate depth contour, and the result shows consistency with that of the special electronic chart software. Error analysis demonstrates the validity of the proposed method in constructing seafloor topography. Regularly distributed interpolated data can be used for path planning of an autonomous underwater vehicle.
autonomous underwater vehicle(AUV); electronic chart; seafloor topography; Biharmonic interpolation; visual simulation
TJ630.33; TP391.9
A
1673-1948(2014)01-0054-06
2013-08-20;
2013-09-24.
国防科技预先研究项目资助(4010605010102), 国家863计划资助(2011AA09A107).
刘 锋(1985-), 男, 在读硕士, 研究方向为水下决策技术, 电子海图应用技术.