【数据融合】基于AIS和雷达的多传感器航迹融合matlab源码
多传感器融合--MATLAB跟踪器介绍MATLAB通过多目标跟踪器可以融合多传感器检测到的目标信息,常用到的多目标跟踪器有trackerGNN、trackerJPDA、trackerTOMHT 、trackerPHD等。trackerGNN通过假设一个跟踪的目标只能与一个测量目标匹配。trackerJDPA对每一个跟踪的目标可能匹配多个测量到的目标。trackerPHD通过概率假设密度(PHD)函
多传感器融合--MATLAB跟踪器介绍
MATLAB通过多目标跟踪器可以融合多传感器检测到的目标信息,常用到的多目标跟踪器有trackerGNN、trackerJPDA、trackerTOMHT 、trackerPHD等。trackerGNN通过假设一个跟踪的目标只能与一个测量目标匹配。trackerJDPA对每一个跟踪的目标可能匹配多个测量到的目标。trackerPHD通过概率假设密度(PHD)函数来跟踪目标。trackerTOMHT认为跟踪的目标存多个假设的目标与之匹配。
1、跟踪器的使用步骤
MATLAB中使用跟踪器的主要步骤有(1)设定跟踪器的参数,(2)获得检测目标的信息,调用跟踪器,(3)提取跟踪成功的目标的位置及速度信息。
(1)设定跟踪器的参数,如下所示
tracker = trackerGNN('FilterInitializationFcn', @initcvkf,'AssignmentThreshold',10, ...
'ConfirmationThreshold', [3 5], 'TrackLogic', 'History', ...
'DeletionThreshold', 10);
(2)获得检测目标的信息,调用跟踪器,如下所示
[confirmed,tentative,alltracks,info] = tracker(detection,time);
(3)提取跟踪成功的目标的位置及速度信息,如下所示
[pos,cov] = getTrackPositions(confirmed,positionSelector);
vel = getTrackVelocities(confirmed,velocitySelector);
2、测量目标的创建
表1 测量目标的属性表
|
序号 |
符号 |
描述 |
|
1 |
Time |
目标的时间戳 |
|
2 |
Measurement |
测量目标的结果 |
|
3 |
MeasurementNoise |
测量目标的结果噪声 |
|
4 |
SensorIndex |
测量的传感器的类型 |
|
5 |
ObjectClassID |
测量目标的类型 |
|
6 |
MeasurementParameters |
非线性卡尔曼滤波器初始化参数 |
|
7 |
ObjectAttributes |
跟踪器的其它附加信息 |
测量目标属性表通过detection = objectDetection(time,measurement) 函数获得,输入是时间和测量的目标的结果。
通过如下两个例子可以建立测量目标
例1:detection = objectDetection(1,[100;250;10])
例2:detection = objectDetection(1,[100;250;10],'MeasurementNoise',10, ...
'SensorIndex',1,'ObjectAttributes',{'Example object',5})
3、跟踪目标的获得
表2 跟踪目标的属性表
|
序号 |
符号 |
描述 |
|
1 |
TrackID |
跟踪目标ID(唯一) |
|
2 |
Time |
跟踪目标的更新时间 |
|
3 |
Age |
跟踪目标的从首次初始化后的更新次数 |
|
4 |
State |
跟踪目标的状态矩阵 |
|
5 |
StateCovariance |
跟踪目标的状态协方差矩阵 |
|
6 |
IsConfirmed |
目标是否被证实的状态,它为真表示目标为真实目标。 |
|
7 |
IsCoasted |
滑行状态,它为真表示跟踪的目标在没有检测到的情况进行的更新 |
|
8 |
ObjectClassID |
表示目标的分类,0表示目标类型未知 |
|
9 |
ObjectAttributes |
包含传感器检测到目标的属性元胞数组 |
通过[confirmed,tentative,alltracks,info] = tracker(detection,time)可获得confirmed和tentative,它们分别指的是跟踪器返回的已经证实的真目标和假设的目标。Confirmed tracks 和Tentative tracks 两类目标都包含有表2的目标属性。
4、跟踪及测量目标的图形化
Matlab通过创建theater 绘图来展现虚拟化的跟踪目标和测量目标。Matlab 中的trackPlotter 函数与detectionPlotter 函数分别用于在theater 中绘制跟踪目标和测量目标的结果。具体例子如下所示:
(1)初始化跟踪目标和测量目标的结果
tp = theaterPlot('XLimits',[-1 1200],'YLimits',[-600 600]); %%确定绘制区域X轴,Y轴的范围
trackP = trackPlotter(tp,'DisplayName','Tracks','MarkerFaceColor','g', ... 'HistoryDepth',0); %% 绘制跟踪目标
detectionP = detectionPlotter(tp,'DisplayName','Detections','MarkerFaceColor', ... 'r'); %% 绘制测量到的目标
(2)更新跟踪目标和测量目标的结果
trackP.plotTrack(pos,vel,cov,labels); %%更新跟踪目标
detectionP.plotDetection(meas',measCov);%%更新测量目标
5、其它
在使用matlab的跟踪器时遇到的问题汇总如下:
- matlab的跟踪器默认采用的扩展卡尔曼滤波器(EKF),其函数要求测量的结果为三维的(X,Y,Z),如果是二维的则会报错误。
解决方法:将跟踪器的滤波方法设置为卡尔曼滤波(KF),或者将二维数据扩充为三维,第3维的测量数据一直为0。
- MATLAB的plotTrack(trPlotter,pos,vel,cov) 函数要求pos、vel、cov为三维信息,如果只有2维信息直接调用该函数会报维度不匹配的错误。
解决方法:在调用plotTrack函数之前将二维的位置、速度、协方差信息扩展成三维之后再调用plotTrack函数绘制跟踪结果。对于plotDetection函数同样可采用该方法进行处理。
clc;
clear;
close all
load('MarCE_Radar_Detections_01_005_patched.mat');
load('dtGroundTruthAIS.mat')
figure(1);
for i = 1:numel(data)
TR = extractfield(data{i},'TR');
TR = reshape(TR,2,[]);
Azimuth = TR(1,:);
Range = TR(2,:);
[X,Y] = pol2cart(Azimuth, Range);
plot(X,Y,'.b');
axis([-7000 7000 -7000 7000]);hold on;
A = gt{i};
scatter(A(:,1),A(:,2),'r.');
% pause(.01);
end
grid on;
xlabel('X')
ylabel('Y')
title('Radar Data with AIS Ground Truth')
legend('Radar Data','AIS Data')
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🎁 私信完整代码和数据获取及论文数模仿真定制
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类
2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)