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