资源简介
GM_PHD_Filter
Version 1.09, 13th December 2013
Matlab code by Bryan Clarke b.clarke@acfr.usyd.edu.au with:
- some Kalman filter update code by Tim Bailey, taken from his website http://www-personal.acfr.usyd.edu.au/tbailey/software/
- error_ellipse by AJ Johnson, taken from Matlab
代码片段和文件信息
%CalculatePerformanceMetric
%Last modified 21 November 2013
%Matlab code by Bryan Clarke b.clarke@acfr.usyd.edu.au
%This is an implementation of the Optimal Subpattern Assignment
%(OSPA) metric proposed by Schuhmacher et al in
%Schuhmacher D.; Ba-Tuong Vo; Ba-Ngu Vo “A Consistent Metric for Performance Evaluation of Multi-object Filters“ Signal Processing IEEE Transactions on vol.56 no.8 pp.34473457 Aug. 2008
%X is the estimated state in the form [ [x1; y1; vx1; vy1] [x2; y2; vx2;
%vy2] ...]
%Y is the ground truth in the form [ [x1; y1; vx1; vy1] [x2; y2; vx2;
%vy2] ...]
%This isn‘t actually important as we will swap the labels so that X
%is the label of the shorter vector and Y is the label of the longer.
%cutoff_c and order_p are parameters that control the metric calculation;
%cutoff is a saturation threshold order controls how punishing it is to
%larger errors versus smaller ones. See the paper by Schuhmacher et al to
%get a handle on these in more detail.
%NOTE: This implementation is still a work in progress and is a bit buggy. Use with caution.
%NOTE: We only use 2D OSPA for position; we don‘t use the velocities.
function ospa = CalculateOSPAMetric(X Y cutoff_c order_p)
m = size(X 2);%Length of vector X
n = size(Y 2);%Length of vector Y
alphas = cutoff_c * ones(1 n);%Initialise to cutoff overwrite if there is a shorter value
bestOMATCost = -1;
bestOMATDataAssoc_i = [];
%m (i.e. the length of X) needs to be less than or equal to n (the length of Y)
if(m > n)%Swap them if this is not the case. X and Y are just labels that can be applied to either vector; whichever one is estimate or truth is not important.
tmpX = X;
tmpm = m;
X = Y;
m = n;
Y = tmpX;
n = tmpm;
end
if(m > 0)%If there are other values we need to find the best data association.
%We calculate all potential combinations (ie. subsampling without
%replacement)
comboSize = m;
valuesSampled = 1:n;
allCombos = combnk(valuesSampled comboSize);
nCombos = size(allCombos 1);
%Then for each combination we calculate every permutation (i.e.
%different ways to order the numbers) to find all possible data
%associations
for i = 1:nCombos
thisCombo = allCombos(i:);%The combination we are using
allDataAssocs = perms(thisCombo);
nDataAssocs = size(allDataAssocs 1);
%We check all the data associations for this combination
for j = 1:nDataAssocs
thisDataAssoc = allDataAssocs(j:);%An ordered list of the indices of Y to match them against the values in X
thisY = Y(:thisDataAssoc);
thisOMATCost = CalculateOMATMetric(X thisY order_p);
if(bestOMATCost < 0) || (thisOMATCost < bestOMATCost) %If thi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8343 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\error_ellipse.m
文件 10258 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Initialisation.m
文件 2683 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Simulate_Initialise.m
文件 2891 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Simulate_Measurements.m
文件 9328 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\Hungarian.m
文件 178 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\ConvertPlusMinusPi.m
文件 2221 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Predict_Birth.m
文件 3736 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\README.txt.txt
文件 1367 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Construct_Update_Components.m
文件 1895 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\ospa_dist.m
文件 3498 2014-01-07 16:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Filter.m
文件 2505 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Estimate.m
文件 1508 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\unifpdf_2d.m
文件 2615 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Simulate_Plot.m
文件 820 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Calculate_Performance_Metric.m
文件 6886 2014-01-07 15:36 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\ReleaseNotes.txt
文件 6056 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Update.m
文件 7162 2014-01-07 15:33 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Create_Birth.m
文件 3494 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Prune.m
文件 1797 2014-01-07 15:19 GM_PHD_Filter_v110\Older_Version_GM_PHD_Filter_Without_EKF\GM_PHD_Filter_v105b\GM_PHD_Predict_Existing.m
文件 4536 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\CalculateOSPAMetric.m
文件 3509 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\Test_Jacobian_Calculation.m
文件 8343 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\error_ellipse.m
文件 10547 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\GM_PHD_Initialisation.m
文件 4092 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\GM_EKF_PHD_Simulate_Measurements.m
文件 6999 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\README.txt
文件 2650 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\GM_PHD_Simulate_Initialise.m
文件 2770 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\GM_PHD_Simulate_Measurements.m
文件 2085 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\Calculate_Jacobian_H.m
文件 9410 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\Hungarian.m
文件 178 2014-01-07 15:19 GM_PHD_Filter_v110\GM_PHD_Filter\ConvertPlusMinusPi.m
............此处省略22个文件信息
相关资源
- 加窗插值FFT算法的matlab 512点仿真
- pls 可以用于计算排列熵
- 用α-β滤波器结合卡尔曼滤波器对相位
- matlab实现遗传算法 (Matlab Genetic Al
- 切比雪夫(Chebyshev)多项式展开式的
- SIR病毒传播模型的matlab程序
- STATCOM无功补偿不平衡负载,阶梯调制
-
matlab/simuli
nk仿真永磁无刷直流电机 - matlab 开发光伏阵列通用仿真模型
- 激光雷达点云滤波的topscan算法实现
- 比较分析协作通信三个节点时系统 (
- 基于HOUGH变换的车道线检测和识别的程
- matlab画庞加莱(poincare)映射
- 高斯过程回归算法工具箱
- 增广拉格朗日乘子法matlab源码
- 外国人开发的地磁数据处理全套程序
- 求解电力系统经济调度等优化问题的
- matlab频率估计
- 计算脉搏信号的方法 PPG (Blood Puls
- 石墨烯的电导率计算 (Complex conduc
- 提取地震子波的完整代码(Wave Extra
- PHD和CPHD两种算法的仿真程序
- ILC 迭代学习控制的matlab程序
- k-medoids聚类算法matlab源代码
- Chameleon变色龙层次聚类算法实现
- 平均电流控制的boost pfc仿真(BoostPF
- haar-like特征的提取代码
- 基于机器视觉的零件缺陷检测
- 用于图像处理的三类边缘保护滤波器
- 永磁同步电机的滑模变结构(SMC)仿
评论
共有 条评论