2406 字
12 分钟
基于Transformer+AIS的全球实时船舶行为分析开源AI模型

美国非营利组织人工智能研究所(AI2)近期推出了一套名为Atlantes的开源深度学习系统。该系统利用船舶自动识别系统(AIS)产生的GPS数据,对全球范围内的船舶行为进行实时分析。Atlantes的核心是名为ATLAS的定制Transformer架构,能够高效处理海量GPS信息流,精准、快速地识别船舶类型及其活动状态(例如捕鱼、航行或抛锚)。这一技术为打击非法、未报告和无管制(IUU)捕鱼等非法海上活动提供了有力的决策支持。目前,相关的模型、代码及部署容器均已在github开放。

这张地图展示了2023年全年广播的所有AIS消息,总计达147亿条,数据量超过5TB。图中的全球AIS数据通过颜色编码区分不同的船舶类别,以此可视化全年的海上活动。

全球AIS数据传输示意图

引言#

在全球尺度上监控海上活动是一项艰巨的任务,挑战主要源于庞大的船舶数量和随之产生的海量数据。AIS系统虽然能提供数十万艘船舶持续发送的GPS信息(包含经纬度及时间戳),为我们洞察船舶行为提供了丰富的数据基础,但如何从这些原始轨迹数据中实时、准确地解读出具体的船舶活动,则需要更为先进的分析工具。正是为了应对这一挑战,AI2开发了Atlantes 系统。该系统旨在从庞杂的AIS数据中提炼出有价值的船舶行为信息,现已成功应用于Skylight海事情报平台,并以开源项目的形式向公众开放。Atlantes的出现,标志着深度学习技术,特别是Transformer模型,在地理空间轨迹分析领域取得了重要突破。


                 该模型现已成功应用于Skylight海事情报平台

模型架构#

Atlantes直接处理原始的AIS GPS消息序列,能够应对每年高达数十亿条信号的庞大数据量(仅2023年就超过5TB)。系统的核心技术是ATLAS架构,其关键组成部分包括:

  • • **连续点嵌入 (CPE) 层:**负责处理原始且连续的 GPS 坐标和时间戳数据。
  • • **一维卷积神经网络 (CNN) 层:**用于从嵌入后的序列数据中提取局部的时空特征。
  • • **Transformer编码器层:**采用定制的Transformer模型处理上述特征,对船舶的轨迹和行为进行时序建模,有效捕捉复杂的行为模式和依赖关系。


模型学习如何连续地表示每条AIS消息周围的时空变化

该系统基于监督学习范式进行训练,训练数据包含了超过1500万条由资深海事分析专家逐一标注的GPS消息。研究团队开发了两个核心模型:

  1. 1. 实体分类模型: 用于区分GPS信号是来自船舶还是固定的浮标。
  2. 2. 活动分类模型: 将船舶的行为状态细分为航行、捕鱼、抛锚、停泊或其他等具体类别。

模型能力与性能表现#

Atlantes在实时分析方面表现出色,具备以下显著优势:

  • • **处理速度:**系统能够达到每秒28次活动分类的处理速度,完全满足实时监控的需求。
  • • **分类精度:**模型的准确率很高,实体分类准确率达到97.5%。活动分类的整体准确率为71%,尤其在识别捕鱼活动方面,准确率高达90%。这一性能已接近人类专家的水平(经评估,专家间标注一致性约为85%)。
  • • **数据效率:**模型设计精良,只需利用较短的历史轨迹数据,甚至有时仅凭最新的AIS GPS消息和少量近期数据,就能有效推断出船舶的行为模式。

应用场景#

Atlantes为众多海事应用领域带来了重要的价值:

  • • **打击IUU捕鱼:**通过实时、准确地识别捕鱼行为,Atlantes 能有效协助相关部门发现并阻止非法捕鱼活动。
  • • **提升海域态势感知:**为海上安全监控提供更清晰、全面的船舶动态及行为画像。
  • • **异常行为检测:**有助于识别需要进一步关注的异常船舶活动。
  • • **港口物流与规划:**通过分析船舶的航行与停泊规律,为港口运营和物流规划提供数据支持。

Atlantes已集成到了AI2的Skylight平台,充分证明了其在实际业务环境中的应用价值。

开源共享与访问方式#

Atlantes项目已在GitHub上开源。开源内容包括:

  • • 用于实体分类和活动分类的预训练模型权重。
  • • 完整的模型训练与推理源代码。
  • • 与生产环境一致的Docker容器镜像,极大地简化了部署和环境复现工作。

模型代码配置与运行#

若想使用Atlantes的开源模型与代码,可以参照以下步骤:

    1. 克隆代码库
  • 首先,从GitHub克隆项目代码。

    git clone https://github.com/allenai/atlantes.git
    cd atlantes
    1. 配置环境
  • •参照requirements.txt文件安装所需的Python依赖库。强烈建议在虚拟环境中进行安装。

    pip install -r requirements.txt
  • • 若有计划贡献代码,建议安装pre-commit钩子,以保证代码风格的统一和质量:

    pip install pre-commit
    pre-commit install
    1. 项目代码结构
  • • ais/: 包含 AIS 数据处理相关的脚本和工具。
  • • src/atlantes/: 存放 Atlantes 模型的核心实现逻辑。
  • • data/: 用于存放 AIS 相关数据文件(通常需要用户自行准备数据,或下载项目方可能提供的特定数据集)。
  • • tests/: 包含项目的单元测试和集成测试代码。
    1. 模型应用(推理/训练):
  • • 可以直接加载预训练模型权重进行推理预测。
  • • 代码库提供了在新的 AIS 数据上运行推理任务所需的脚本。
  • • 同时也支持模型的重新训练,方便用户在自有数据集上进行微调或开展新的架构实验。
  • • 查阅具体说明: 关于如何执行特定任务(如数据预处理、运行推理、启动训练等)的详细操作指南,请务必查阅各子目录(如 ais/src/atlantes/)下的 README 文件。这些文件通常会提供具体的命令行示例和使用说明。
  • • 利用Docker容器: 用户可以方便地使用项目提供的 Dockerfile 和容器镜像,快速搭建一个与生产环境一致的运行环境,有效解决依赖管理和部署难题。

该项目代码遵循了较高的开发标准,例如强制静态类型检查 (mypy) 和文档覆盖率要求,这无疑降低了研究和开发人员的接入门槛,并鼓励社区参与贡献。

References#

本公众号相关内容推荐#

基于Transformer+AIS的全球实时船舶行为分析开源AI模型
https://blog.scidatalab.net/posts/基于transformer-ais的全球实时船舶行为分析开源ai模型/
作者
Echo
发布于
2025-04-29
许可协议
CC BY-NC-SA 4.0