目前本文所涉内容均未使用图形处理器。
运行在有图形处理器环境下的实验将在稍后补充,敬请关注。
需要准备的文章和工具有:
一、集成 OTB100
1.1 下载基准测试
在该目录中可以看到:trackers 目录中已经包含了若干跟踪算法。而我们要做的就是把 ECO 和 ECO_HC 的跟踪算法加进去即可。
ECO 和 ECO_HC 的区别就是:前者使用“深度特征”,后者使用 HOG 和 CNN。
1.2 下载 ECO 代码
可以参照 ECO 的 GitHub 页面中提到的部署代码的方法,将代码下载到 trackers 目录中。
由于 ECO 和 ECO_HC 是两种不同的算法,因此,出于分别测试其性能的考虑,需要下载两份代码,并分别命名为 ECO 和 ECO_HC。如下所示:
将 ECO 和 ECO_HC 保存到 OTB100 基准测试的 trackers 目录下。
ECO 和 ECO_HC 的内容完全一样。
1.3 添加集成接口
切换到 ECO 目录下 runfiles 文件夹中,将 OTB_DEEP_settings.m 文件夹复制到上一级目录,并改名为 run_ECO.m,如下所示:
从 runfiles 文件夹中复制 OTB_DEEP_settings.m 文件到此目录,并改名为 run_ECO.m
类似的,在 ECO_HC 目录中,将 runfiles 文件夹中的 OTB_HC_settings.m 文件复制到上一级目录,并改名为 run_ECO_HC.m 即可。
1.4 修改基准测试代码并运行基准测试
由于 tracker_benchmark_v1.0 目录的 results 目录下已经有其它跟踪算法的结果,因此我们只需要运行 ECO 和 ECO_HC 的基准测试即可。
OPE、SRE 和 TRE 评价方法可以并行运行,因此我们将 main_running.m 文件复制为三份,分别命名为 main_running_OPE.m 、 main_running_SRE.m 、 main_running_TRE.m ,并分别将其中第 20 行的 evalType 修改为对应评价方法的名称即可。例如 main_running_OPE.m 的第 20 行可以改为:
evalType='OPE';
main_running_SRE.m 和 main_running_TRE.m 的第 20 行可以参照此法修改。
紧接着在 utils 目录中找到 configTrackers.m 文件,将 trackers 变量赋值为仅包含 ECO 和 ECO_HC,意即只运行 ECO 和 ECO_HC 基准测试。如下所示:
将 trackers 变量修改为只包含 ECO 和 ECO_HC。
基准测试运行完毕后再改回原始状态,以便生成对比图。
接下来运行三个 matlab,然后分别执行 main_running 文件。
注意:SRE 和 TRE 评价方法运行耗时比 OPE 评价方法要长得多,如果要运行完全部 51 个基准测试,约需耗时两天。
如果要并行运行ECO 和 ECO_HC 测试,则需要准备两份 OTB100,并修改对应的 configTrackers.m 的 trackers 变量为分别只包含 ECO 和 ECO_HC
二、OTB100 基准测试下的实验结果对比
三种评价方法运行完毕后,修改 util\configTrackers.m 文件,启用所有跟踪算法,即可开始输出实验结果图。如下所示:
在 trackers1 变量中加入 ECO 和 ECO_HC 的定义。
将这两个定义加到最前面,输出图片时的图例就会排在最前面。
在 Matlab 中运行 perfPlot.m 文件。随后会弹出比较结果图,并且在 figs 目录下生成相应的图片文件。
以下为 ECO 和 ECO_HC 与其它八种跟踪算法的比较结果图(按不同评价方法和排序方法分别显示。按 AUC 排序的评价方法各 12 张图,按阈值排序的评价方法各 24 张图,按文件名顺序排序):
2.1 OPE(按 AUC 排序)