• 大小:
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-04-17
  • 语言: Matlab
  • 标签: matlab  

资源简介

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个文件信息

评论

共有 条评论