最近跑OTB50数据集时,加入BACF算法总是出错,无法正确运行BACF算法得到.mat文件,通过分析主要遇到如下几个问题:
1. 问题一,主要遇到的是编写run_BACF.m这个接口文件,通过研究OTB50中其他算法代码中的该接口文件,可以知道该文件一头一尾如下:
function results=run_BACF(seq, res_path, bSaveImage)
results.res=res;
results.type='rect';
results.fps=seq.len/duration;
解决该问题,主要就是需要把run_BACF(seq, res_path, bSaveImage),括号里面的那几个参数进行对应的转换.比如seq,该参数对应的是视频序列,这时就需要把原文件中对应的与该参数相关的变量进行更改.
2. 问题二,主要遇到的是tracker_benchmark运行main_running.m文件时,通过接口调用BACF算法时,无法正确得到.mat结果,终端结果显示如下:
1_BACF, 1_carDark: 1/1
error
究其原因,是BACF算法代码无法在服务器上正确运行.为什么呢?
首先,我单独拿出BACF算法代码来进行运行,发现报如下错误:没有fhog.m或hog.m函数,这是因为matlab路径中没有添加toolbox这个包的