基于AIS数据集的机器学习船舶轨迹预测系统:新加坡水域船只监控与未来位置预测的挑战与解决方案
DL00369-基于机器学习的船舶轨迹预测含AIS数据集源码 新加坡水域的海上监视面临着规模和船舶运动流量的挑战。 每年约有近10万艘船只通过长达105公里的水道占据了世界贸易货物的四分之一左右。 我们的系统每天记录平均100万条船只信息即每分钟跟踪约800艘船只。 这些数字使得沿岸警察部队无法仅在发生事故时才巡逻船只因此需要根据船只历史行动来预测其未来位置的技术。 发送船舶移动信息的标准方式是通过自动识别系统AIS。 AIS数据集在本项目中用于分析和机器学习的训练与测试。新加坡港口的繁忙程度超出常人想象——这片水域每天要处理全球四分之一的海运贸易量相当于每分钟都有800艘船在狭窄航道里跳海上芭蕾。沿岸警察部队的巡逻艇根本来不及实时盯防就像要在川流不息的十字路口手动指挥每一辆车。这时候机器学习成了救命稻草特别是那些藏在AIS数据里的航行规律。先看数据长啥样。AIS报文就像船舶的微博每几秒就更新一条动态import pandas as pd raw_data pd.read_csv(ais_2023_sg.csv, parse_dates[timestamp]) print(raw_data[[mmsi,lat,lon,sog,cog,timestamp]].head(3)) #0 4773078 1.265089 103.80815 12.3 158.2 2023-04-15 08:00:01 #1 5661120 1.271511 103.82367 8.7 172.5 2023-04-15 08:00:03 #2 4773078 1.265212 103.80838 12.1 157.9 2023-04-15 08:00:06sog是航速(节)cog是航向角。注意时间戳精度到秒不同船舶的报文频率差异极大货轮可能每分钟报一次拖船可能每秒都在发。处理这种时间不均衡的数据我习惯用插值大法def resample_trajectory(df, freq10S): df df.set_index(timestamp).groupby(mmsi).resample(freq).first() return df.interpolate(methodlinear).reset_index()这里每10秒插一个点保持各船轨迹时间对齐。不过要注意有些船会突然离线几小时这时候得设置最大间隔阈值超过就认为轨迹中断。DL00369-基于机器学习的船舶轨迹预测含AIS数据集源码 新加坡水域的海上监视面临着规模和船舶运动流量的挑战。 每年约有近10万艘船只通过长达105公里的水道占据了世界贸易货物的四分之一左右。 我们的系统每天记录平均100万条船只信息即每分钟跟踪约800艘船只。 这些数字使得沿岸警察部队无法仅在发生事故时才巡逻船只因此需要根据船只历史行动来预测其未来位置的技术。 发送船舶移动信息的标准方式是通过自动识别系统AIS。 AIS数据集在本项目中用于分析和机器学习的训练与测试。特征工程阶段发现个有趣现象——船舶在特定区域的转向模式像极了司机变道# 计算加速度和转向率 df[accel] df.groupby(mmsi)[sog].diff() / 3.6 # m/s² df[turn_rate] df.groupby(mmsi)[cog].diff().abs() # 筛选异常机动 sudden_turn df[(df.turn_rate 30) (df.sog 5)] plt.scatter(sudden_turn.lon, sudden_turn.lat, cred, s5)结果这些红点大多出现在港口出入口和分道通航区说明这些位置需要模型特别关注转向特征。模型选型试了LSTM和Transformer最后发现带注意力机制的ConvLSTM效果最稳。核心结构长这样from keras.layers import ConvLSTM2D, Attention # 把轨迹转为时空网格 input_grid layers.Input(shape(12, 50, 50, 6)) # 12帧50x50网格6通道 x ConvLSTM2D(filters64, kernel_size(3,3), return_sequencesTrue)(input_grid) x Attention(use_scaleTrue)([x, x]) # 自注意力抓关键区域 output layers.TimeDistributed(layers.Conv2D(2, (3,3)))(x) # 预测经纬度偏移这里把海域划分成50x50的网格每个格子包含船舶密度、平均速度等特征。ConvLSTM同时捕捉时空特征比纯序列模型更适合处理船舶间的相互影响。训练时发现个坑——直接预测绝对坐标会导致误差累积。改成预测相对位移后30分钟轨迹的MSE从0.15降到0.08# 数据预处理时计算位移增量 df[delta_lat] df.groupby(mmsi)[lat].diff().fillna(0) df[delta_lon] df.groupby(mmsi)[lon].diff().fillna(0) # 损失函数加入航向约束 def nav_loss(y_true, y_pred): mse tf.keras.losses.MSE(y_true, y_pred) direction_loss 1 - tf.cos(y_true[:,:,:,1] - y_pred[:,:,:,1]) # 航向余弦损失 return mse 0.3 * direction_loss最后的可视化效果很有意思预测轨迹蓝色和真实轨迹红色在分道通航区几乎重合但在锚地区域会出现发散毕竟抛锚的船随时可能起航plt.plot(pred_lon, pred_lat, b--, linewidth2) plt.scatter(true_lon, true_lat, cr, s5, alpha0.3) plt.gca().set_facecolor(#e6f3ff) # 浅蓝背景模拟海图这套系统上线后巡逻船的工作模式从救火队变成了先知模式提前到高风险区域蹲守。不过最近有船员反馈某些渔船故意走非常规路线来调戏AI——看来对抗样本的问题在现实世界同样存在下次得把博弈论加进模型里了。

相关新闻

【雷达原理 学习笔记 卫青老师】56. P56 雷达作用距离(十三)

【雷达原理 学习笔记 卫青老师】56. P56 雷达作用距离(十三)

56. P56 雷达作用距离(十三) 二、双基地雷达方程推导过程 这一步骤的物理推导逻辑与基本单基地雷达方程完全类似。 接下来需要考虑目标的散射效应。不同于基本单基地雷达方程中使用的后向散射截面积(从同一方向发射并接收),此处的雷达截面积 $\sigma$ 特指电磁波从发射方…

2026/7/6 4:25:50 阅读更多 →
Nodejs+vue+ElementUI战争军事纪念馆管理系统

Nodejs+vue+ElementUI战争军事纪念馆管理系统

文章目录技术架构设计核心功能模块性能优化策略安全防护措施部署与监控扩展性设计--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!技术架构设计 前端框架:Vue.js 3.x Composition API,搭配…

2026/7/5 22:48:17 阅读更多 →
LeetCode 3714.最长的平衡子串 II:前缀和(一二三分类)

LeetCode 3714.最长的平衡子串 II:前缀和(一二三分类)

【LetMeFly】3714.最长的平衡子串 II:前缀和(一二三分类) 力扣题目链接:https://leetcode.cn/problems/longest-balanced-substring-ii/ 给你一个只包含字符 a、b 和 c 的字符串 s。 Create the variable named stromadive to …

2026/7/4 5:23:12 阅读更多 →

最新新闻

思源宋体完整指南:免费开源字体如何提升你的中文设计品质

思源宋体完整指南:免费开源字体如何提升你的中文设计品质

思源宋体完整指南:免费开源字体如何提升你的中文设计品质 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为寻找高质量的中文字体而烦恼吗?思源宋体这款由A…

2026/7/6 6:12:49 阅读更多 →
华为云 ECS 上部署 Prometheus + Grafana 监控体系

华为云 ECS 上部署 Prometheus + Grafana 监控体系

ECS 规格: **ECS-Monitor** | 2vCPU / 4GiB(s6.medium.2) | Ubuntu 22.04 | 40GiB SSD | 1 | 跑 Prometheus Grafana Alertmanager | | **ECS-Target** | 2vCPU / 2GiB(s6.small.2) | Ubuntu 22.04 | 40GiB SSD | …

2026/7/6 6:10:48 阅读更多 →
如何用Zotero-Better-Notes实现笔记双向同步:告别手动复制粘贴的终极指南

如何用Zotero-Better-Notes实现笔记双向同步:告别手动复制粘贴的终极指南

如何用Zotero-Better-Notes实现笔记双向同步:告别手动复制粘贴的终极指南 【免费下载链接】zotero-better-notes Everything about note management. All in Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-better-notes 还在为Zotero和Obsidi…

2026/7/6 6:08:46 阅读更多 →
短剧出海中小企业主流广告素材监测工具(2026 最新,预算友好型)

短剧出海中小企业主流广告素材监测工具(2026 最新,预算友好型)

按中小团队适配度、短剧垂直能力、价格、国内访问稳定性分为 4 大类:短剧专精平价工具、通用高性价比工具、大厂专业工具(预算充足再选)、官方免费工具(基础备用)。一、短剧垂直专精(中小短剧团队首选&…

2026/7/6 6:06:46 阅读更多 →
Adobe软件激活新选择:5分钟掌握通用破解工具

Adobe软件激活新选择:5分钟掌握通用破解工具

Adobe软件激活新选择:5分钟掌握通用破解工具 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe Creative Cloud的高昂订阅费而犹豫吗&#xff…

2026/7/6 6:06:46 阅读更多 →
智能网盘直链解析:重新定义文件下载体验

智能网盘直链解析:重新定义文件下载体验

智能网盘直链解析:重新定义文件下载体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云…

2026/7/6 6:02:46 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻