多传感器融合--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的跟踪器时遇到的问题汇总如下:

  1. matlab的跟踪器默认采用的扩展卡尔曼滤波器(EKF),其函数要求测量的结果为三维的(X,Y,Z),如果是二维的则会报错误。

解决方法:将跟踪器的滤波方法设置为卡尔曼滤波(KF),或者将二维数据扩充为三维,第3维的测量数据一直为0。

  1. 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基于AIS和雷达的多传感器航迹融合相关推荐

  1. 【数据融合】基于AIS和雷达的多传感器航迹融合matlab代码

    1 简介 AIS船舶自动识别系统能提供精确的船舶位置与属性信息,通过信息融合技术能有效弥补雷达测向精度不高的影响.为了对更大范围内的海域进行监视,本文对升空AIS与雷达信息融合技术进行了研究,以提高平 ...

  2. 【数据融合】基于AIS和雷达的多传感器航迹融合附matlab代码

    1 简介 AIS船舶自动识别系统能提供精确的船舶位置与属性信息,通过信息融合技术能有效弥补雷达测向精度不高的影响.为了对更大范围内的海域进行监视,本文对升空AIS与雷达信息融合技术进行了研究,以提高平 ...

  3. 【数据融合】基于AIS和雷达的多传感器航迹融合matlab源码

    多传感器融合--MATLAB跟踪器介绍 MATLAB通过多目标跟踪器可以融合多传感器检测到的目标信息,常用到的多目标跟踪器有trackerGNN.trackerJPDA.trackerTOMHT .t ...

  4. 基于车载无线通信和车辆远程传感器融合的V2X协同感知(目标跟踪/轨迹预测)

    论文标题:Driving Environment Perception Based on the Fusion of Vehicular Wireless Communications and Aut ...

  5. 多传感器分布式融合算法——多传感器网络协同目标跟踪和定位

    多传感器分布式融合算法 应用: 多传感器网络协同目标跟踪及定位 原创不易,路过的各位大佬请点个赞 主要讲解算法:          多传感器集中式融合算法/分布式融合算法/序贯融合算法         ...

  6. 雷达 航迹跟踪 matlab,基于MATLAB的雷达与AIS航迹融合处理

    基于MATLAB的雷达与AIS航迹融合处理 matlab 2021-1-21 下载地址 https://www.codedown123.com/59444.html 基于MATLAB的雷达与AIS航迹 ...

  7. 【camera-lidar-radar】基于卡尔曼滤波和扩展卡尔曼滤波的相机、激光雷达、毫米波雷达多传感器后融合

    [camera-lidar-radar]基于卡尔曼滤波和扩展卡尔曼滤波的相机.激光雷达.毫米波雷达多传感器后融合 代码下载地址(C++ and Python):下载地址 红点和蓝点分别表示radar和 ...

  8. 【滤波跟踪】基于EKF实现雷达与红外数据融合附matlab程序

    1 简介 雷达与红外数据融合能够实现信息互补,改善对目标的跟踪,识别以 及提高系统的生存能力.为了解决空中目标高速机动时,单一模型的雷达/红外序贯滤波跟踪发散的问题,采用一种基于拓展卡尔马驴型的雷达/ ...

  9. d-s 多传感器信息融合 matlab实现_自动驾驶中的多传感器融合

    一.多传感器融合多传感器信息融合(Multi-sensor Information Fusion,MSIF),就是利用计算机技术将来自多传感器或多源的信息和数据,在一定的准则下加以自动分析和综合,以完 ...

最新文章

  1. 多线程下获取随机数的王者-ThreadLocalRandom
  2. python3 %%time 表示执行单元格时间 时间指的是CPU时间
  3. 毕业论文 | 基于MPU6050及卡尔曼滤波的平衡小车设计(源代码与设计文档)
  4. micropython实现多任务_python多任务处理
  5. 大话数据结构—栈与队列
  6. java生成flash_针对 Flash 开发者的最新 Capuchin 计划资源
  7. 思科isis路由的优先级_华为 路由双点双向引入
  8. 21天Jenkins打卡Day17-查看Jenkins服务器上的目录结构
  9. Android HAL(硬件抽象层)介绍以及调用
  10. 王庆的边缘计算(第三章)
  11. MMC-HVDC仿真模型,pscad柔性直流输电仿真mmc仿真模型,双端mmc模型,MMC为21电平NLM和均压控制
  12. vbm 分析_vbm分析 | Forum of resting-state fMRI
  13. einsum(): operands do not broadcast with remapped shapes [original->remapped]: [1, 144, 20, 17]->[1,
  14. Latex参考文献引用顺序排序
  15. 我的2020下半年阿里巴巴社招面试经历,分享我的复习方法以及面试真题(Java工程师方向)
  16. 学习OpenCV(1)概述
  17. 移动硬盘明明有空间显示内存不足,删除部分空间后仍显示不足的问题解决
  18. CIKM2020 | 最新9篇推荐系统相关论文
  19. 浅析RGB 及RGB转换为ARGB
  20. 【办公类-16-06】“校历(月日版)”(python 排班表系列)

热门文章

  1. MySQL 中行溢出是什么东西?
  2. 【概率与统计】聊聊一些常见的概率分布
  3. 【FreeRTOS】03 任务的运行、就绪、阻塞、挂起
  4. springboot 自动生成quartz表
  5. 【Java】【基础知识】【Java的基本使用】
  6. word为双栏格式mathtype公式和编号格式调整
  7. Data Lake Analytics中OSS LOCATION的使用说明
  8. 基于stm32f103c8t6的智能小车
  9. bash 与 csh 区别
  10. oracle数据库实践周总结,「Oracle实践数据库」总结