DTB70 toolkit的使用

DTB70 toolkit的使用

DTB70 toolkit的官网是: https://github.com/flyers/drone-tracking
在使用过程中还是有几点需要修改的:
1、去DTB70_toolkit/experiments/util/configTrackers.m里修改trackers,可以修改 为如下:

trackersClassic = {
    
    
            struct('name','ATOM','namePaper','ATOM')
            struct('name','DIMP50','namePaper','DIMP50')
            struct('name','RTMDNet','namePaper','RTMDNet')
            struct('name','ECO','namePaper','ECO')
            struct('name','SIAMRPNPP','namePaper','SiamRPN++')
            };

2、去DTB70_toolkit/experiments/util/configDTBSeqs.m中修改数据集的路径,可以使用replace all的功能,把原本的/home/sliay/Documents/data修改为自己的路径,如/home/lz/Videos,并且把DTB70_toolkit/experiments/perfPlot.m的63行修改为seqs = configDTBSeqs;
3、去DTB70_toolkit/experiments/genPerfMat.m中把原来结果加载的语句:load(fullfile(rpAll, [s.name '_' t.name '.mat']));给注释掉,因为我们自己的tacker生成的都是txt文件,然后替换为这样一段:

% check the result format
res_mat = fullfile(rpAll, [s.name '_' t.name '.mat']);
if(~exist(res_mat, 'file'))
    res_txt = fullfile(rpAll, [s.name '_' t.name '.txt']);
    results = cell(1,1);
    results{
    
    1}.res = load(res_txt);
    results{
    
    1}.type = 'rect';
    results{
    
    1}.annoBegin = 1;
    results{
    
    1}.startFrame = 1;
    results{
    
    1}.len = size(results{
    
    1}.res, 1);
else
    load(res_mat);
end

4、为了符合步骤一里面的命名要求,需要用下面的语句把结果文件重命名一下:

from os.path import isdir, join, dirname
import glob
import shutil

old_name_root = '/home/lz/PycharmProjects/util/visualization/{}/DTB70'
methods = ['ATOM', 'DIMP50', 'ECO', 'RTMDNet', 'SIAMRPNPP']
result_OPE = '/home/lz/PycharmProjects/DTB70_toolkit/experiments/results/results_OPE'
for method in methods:
    old_name_dir = old_name_root.format(method)
    old_name_list =  [i for i in sorted(glob.glob(join(old_name_dir, '*.txt'))) if not "time" in i]
    for old_seq_path in old_name_list:
        new_seq_name = old_seq_path.split('/')[-1].split('.')[0] + '_{}.txt'.format(method)
        new_seq_path = join(result_OPE, new_seq_name)
        shutil.copy(old_seq_path, new_seq_path)

这里以dimp50去评估DTB70生成的文件:
在这里插入图片描述
里面就是(x,y,w,h)的结果文件:
在这里插入图片描述

5、原作者忘了生成perfMat/overall的文件夹了,所以在DTB70_toolkit/experiments/perfPlot.m的108行开始添加这么几句:

if ~exist(perfMatPath,'dir')
    mkdir(perfMatPath);
end

6、为了能保存下来图片,可以在DTB70_toolkit/experiments/util/plotDrawSave.m中的126行将saveas(gcf,figName,'eps');注释去掉,图片后缀也可以改为png,因为eps保存出来没有彩色
7、最后在运行perfPlot.m之前可以将8,9行的:

drawOverall = true;
drawAtt = false;

随自己设定一下,如果只要综合性能,而不要各个属性上的性能图,可以像上面这样设置,这样以后就可以画图了。

猜你喜欢

转载自blog.csdn.net/laizi_laizi/article/details/108938607