技术文章及通讯

声纳和回声测深数据分析软件的开发和部署

作者:Jean-Marie Augustin, Ifremer


虽然卫星照片和雷达提供了地球表面几乎每一平方米的高分辨率图像,但海底的图像更模糊,更不详细。然而,精确的海底地图对科学研究和许多工业应用都至关重要。除了海洋学、地球科学和生物学之外,对海床轮廓和组成的精确了解还有助于电力公司布置风力发电场和钻井平台,有助于通信公司规划光纤电缆的铺设位置,有助于环境专家评估气候变化对海洋的影响。

对海底的相对模糊的看法并不是因为缺乏数据;配备多波束回声测深仪(mess)和侧扫声呐系统的船只对广阔的海域进行调查,收集数以tb计的原始海洋数据。然而,在科学家和工程师将这些信息应用于他们的工作之前,他们必须将其转化为有意义的数据。

虽然我不是编程专家,MATLAB®使我能够运用我在信号处理和声纳方面的专业知识来开发和部署SonarScope®,一款高性能的软件产品,用于处理、分析和可视化原始MBES数据。SonarScope是高度可定制的,并提供了一种原始的MBES数据处理方法,使其成为需要测试和校准MBES系统的研究人员和工程师的宝贵工具。

MATLAB被证明是开发SonarScope的理想环境,因为它使我能够开发算法,可视化结果,然后在迭代周期中改进算法。使用c++这样的语言,设计迭代需要更长的时间,这需要额外的编译和链接步骤,以及大量的额外编程来可视化结果。

从基本算法到独立软件

当我开始开发MBES和声纳数据分析算法时,我并没有打算创建一个完整的软件包;我只是需要可靠的分析工具来进行研究。我用C语言开发了最初的算法。由于C语言的编译、链接和执行周期较慢,而且无法在调试器中检查数据,我发现C语言效率很低,于是我转向了MATLAB。

在MATLAB中,我交互式地开发算法,并可以立即绘制结果,以查看任何变化的影响。信号处理工具箱中的函数、图像处理工具箱,优化工具箱,以及统计和机器学习工具箱进一步加快开发速度,因为我不需要自己编写和调试它们。

在开发出最终形成SonarScope基础的算法后不久,我意识到如果我创建一个图形界面来驱动MBES数据分析,我的工作可以有更广泛的影响范围,更多的同事可以利用我的专业知识。这促使我使用自定义标签和按钮来构建SonarScope接口,这些标签和按钮带有同事们容易理解的术语(图1)。该接口受到了同事们的好评。它还提高了其他机构的研究人员对我工作的认识。

SonarScope接口,使用MATLAB构建。
图1。SonarScope接口,使用MATLAB构建。中心图像显示活动数据层。下方的按钮可以与数据进行交互。上部的菜单提供了对处理工具的快速访问。

随着对SonarScope的兴趣扩展到Ifremer之外,我使用了MATLAB编译器建立一个独立的软件包,即使研究人员没有MATLAB也可以使用。今天,任何研究人员或工程师都可以使用SonarScope来处理海底测绘声纳数据。

收集数据

为了勘测海底,一艘装有MBES的船沿着一系列平行线覆盖要测绘的区域。测量线两侧覆盖的区域可达20公里宽。它们重叠以确保没有未映射的区域。当船沿着每条带状航行时,MBES会传输一系列高强度、短持续时间的信号ping.每个ping信号在几百个波束内接收和处理,这些波束在一个跨度内从船的正下方转向带状边缘(图2)。

sonarscope_fig2_w.jpg
图2。收集MBES数据。一个ping信号被发送到水中,来自海底的回声被接收到多个波束中。图片由ATLAS HYDROGRAPHIC提供。

对于每个波束,MBES记录发射信号和接收回波之间的时间间隔。这一指标用于计算从船到被光束“看到”的海底点的倾斜范围,并最终构建描绘海底的数字地形模型。回声的强度被记录下来,因为它与海床的反射率有关,因此也与海底的物理特性有关。这种反射率可以用来区分岩石、沙子、植被和海床的其他特征。

为了绘制精确到厘米以内的海底地图,算法必须考虑回波延迟、波束的发射角度和船舶的运动(横摇、俯仰和垂荡)。所有这些原始数据,连同由MBES传输的每一个ping信号所对应的船的经纬度都被记录下来。在一次调查中收集的数据通常是千兆字节(有时是兆兆字节),通常持续几天到几周。

执行复杂转换

将从MBES设备获取的原始数据转换为海底地图需要涉及多个几何图形的复杂转换。使用MATLAB和映射工具箱,我开发了处理单个ping数据的算法,并计算ping覆盖的海底深度(图3)。除了识别海底的特征外,算法还检测水的特征。例如,它们可以探测到由海底释放的气体引起的气泡羽流。

由SonarScope处理的三维水深测量数据汇编
图3。由SonarScope处理的三维水深测量数据汇编。

除了测深,SonarScope还执行许多不同类型的数据处理,所有这些都由MATLAB和相关工具箱支持。金宝app我使用MATLAB,统计和机器学习工具箱,图像处理工具箱,信号处理工具箱来实现降噪,散斑滤波,分割和底部检测技术。我在整个SonarScope中使用优化工具箱进行曲线拟合。我计划用“映射工具箱”中提供的地图投影代替我自己的地图投影。

分割算法基于共现矩阵和Gabor滤波器的纹理分析(图4)。边界线由基于MATLAB的分割算法自动绘制。

sonarscope_fig4_w.jpg
图4。四种图像处理技术处理前后的对比图。从上到下:马赛克,散斑滤波,分割,底部检测。散斑滤镜是由罗马尼亚蒂米什瓦拉理工大学的Alexandru Isar博士设计的。分割算法是由Imen Karoui, ENST Brest开发的。

应用面向对象编程技术处理超大数据集

SonarScope由大约27万行MATLAB代码组成。类似的用C语言编写的软件包通常包含100万行或更多的代码。然而,如果没有有效地组织和重用代码的方法,开发和维护任何具有数十万行代码的项目都可能是一个挑战。我使用MATLAB语言的面向对象(OO)编程功能为在整个应用程序中频繁重用的组件创建类。例如,我为图像定义了一个类,这使得通过更改参数值来管理和操作图像实例变得很容易。

通过应用面向对象原则,处理SonarScope处理的超大数据集也变得更加容易。在对包含千兆字节数据的大型矩阵执行操作时,很容易耗尽计算机内存。为了解决这个问题,我创建了一个使用MATLAB的类memmapfile对象将动态内存映射到硬盘上的文件。使用这种方法,我可以轻松地处理10,000 x 10,000个矩阵,而只使用120字节的内存。使用这个类,对变量值的访问是相同的,无论变量是MATLAB矩阵还是cl_memmapfile对象。

SonarScope接口利用MATLAB支持的可重用类对象和OO设计模式来提供拖放功能、属性编辑器、用于平移和缩放的键盘快捷键以及自定义菜单。

构建独立应用程序

许多使用SonarScope的研究人员、科学家和工程师都熟悉MATLAB。然而,并不是每个用户都是MATLAB专家,也不是所有用户都在他们的工作站上安装了MATLAB。为了向这些用户提供解决方案,我使用MATLAB编译器为Windows创建了独立的32位和64位版本的SonarScope®和Linux®操作系统。

SonarScope具有详细和可定制的数据处理功能,擅长帮助工程师验证、校准和排除MBES硬件故障。当MBES系统在数据中产生无关的工件时,工程师使用SonarScope动态检查数据并识别工件的来源。在一个案例中,为了最大限度地减少测深数据中的峰值数量,MBES制造商将他们使用的底部检测算法替换为SonarScope的算法。

SonarScope的开发正在积极进行中。我继续更新代码,以利用MATLAB中可用的新功能,并使我能够与全球更多的研究同事有效合作。

新罕布什尔大学的声纳镜项目

作者:Mashkoor Malik,新罕布什尔大学

在新罕布什尔大学(UNH)海岸和海洋测绘中心,我们使用SonarScope进行评估后向散射多波束声纳系统的特征。后向散射是返回到声纳的声能量。多波束声纳通常用于测量海底深度和获取海底连续3D地图。多波束反向散射研究是一个新兴的研究领域,具有广阔的应用前景。例如,它能够对海底沉积物进行分类,描述渔业生境,评估跨洋电缆的适当路线,以及确定矿物和自然资源。

SonarScope加速了海底后向散射分析,使我们能够快速评估数据质量,并应用一系列数据采集和处理参数。

在最近的一个研究项目中,我们需要分析两周的连续MBES采样,产生了超过600gb的数据。通过使用SonarScope预处理数据,我们为项目节省了几个月的代码开发时间,然后我们将其集成到MATLAB中进行进一步分析。如果没有SonarScope,我们所做的工作将会慢得多,在某些情况下甚至是不可能的。

Mashkoor Malik是UNH的博士候选人,在那里他与UNH海岸和海洋测绘中心主任Larry Mayer教授一起工作。

发布于2011 - 91949v01

参考文献

  • Isar, Alexandru, Ioana Firoiu, Corina Nafornita和Sorin Moga(2011)。”声纳图像去噪”。在声纳系统, N. Z. Kolev(编著),InTech。

  • Karoui, Imen, Ronan Fablet, Jean-Marc Boucher和Jean-Marie Augustin。“使用优化的声纳纹理统计数据进行海床分割。”地球科学与遥感学报, 2009年6月,第47卷第6期,第1621-1631页。
  • Karoui, Imen, Ronan Fablet, Jean-Marc Boucher, woj切赫Pieczynski和Jean-Marie Augustin。“使用相似度量的纹理统计融合:应用于纹理识别和分割。”模式分析与应用,卷11,No. 3-4, 2008年9月,第425-434页。
  • 拉马彻,G.,勒顿,X.,维迪尔,a.l。奥古斯汀,j.m.。“使用先进的多波束后向散射处理对海底基底和床层形态进行定量描述。新西兰库克海峡的应用:大陆架研究(Pergamon-Elsevier Science Ltd.), 2011-02, Vol. 31, N. 2, pp. S93-S109。