tracker_benchmark的perfPlot函数解析

这个函数主要实在使用数据集跑完自己的算法之后,利用统计的结果进行画图的函数

前面会先定义一些东西,比如:
metricTypeSet = { ‘overlap’};
valTypeSet = {‘OPE’};
等等,这些参数后面都会用到。

函数的主体从这里开始:
for i=1:length(metricTypeSet)
一般metricTypeSet当中有error,overlap两个属性,是精度图和成功率图分别要用到的。
在该层for循环下面,还有一个for循环,是:
for j=1:1(因为一般只用到OPE,所以循环中之遍历一次)在这个for循环当中,有如下代码:

  dataName = [perfMatPath 'aveSuccessRatePlot_' num2str(numTrk) 'alg_'  plotType '.mat'];
  % If the performance Mat file, dataName, does not exist, it will call
  % genPerfMat to generate the file.
  if ~exist(dataName)
     genPerfMat(seqs, trackers, evalType, nameTrkAll, perfMatPath);
  end        
  load(dataName);%load(filename) 从 filename 加载数据。
  numTrk = size(aveSuccessRatePlot,1);        

用来在tracker_benchmark_v1.0\perfMat\overall文件夹下生成.mat文件,这个.mat文件是用来画图的。
然后定义了生成的图片的名字

 figName= [figPath 'quality_plot_' plotType '_' rankingType];%生成的图片的名字

然后再画图

plotDrawSave(numTrk,plotDrawStyle,aveSuccessRatePlot,idxSeqSet,rankNum,rankingType,rankIdx,nameTrkAll,thresholdSet,titleName, xLabelName,yLabelName,figName,metricType);

画了该图之后,还会根据视频的属性再进行画多幅图片:
下面这个for循环在for j=1:1当中

for attIdx=1:attNum
	idxSeqSet=find(att(:,attIdx)>attTrld);%得到属于该属性的视频序列的编号
	..........
	..........
	plotDrawSave(numTrk,plotDrawStyle,aveSuccessRatePlot,idxSeqSet,rankNum,rankingType,rankIdx,nameTrkAll,thresholdSet,titleName, xLabelName,yLabelName,figName,metricType);	

attNum=11 因为视频的属性有11种,在该for循环当中,又会再画11张图片

在调试代码当中,有时提示索引超出维度,可能是因为G:\tracker_benchmark_v1.0\perfMat\overall文件夹下面已经存在一些文件,需要删除,因为每次运行perfPlot.m文件,都会生成新的.mat文件。

对于perfPlot.m当中调用的一些画图函数还没有仔细看,后续可能会研究研究。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值