1. 论文基本信息
- 论文标题:Meta-Tracker: Fast and Robust Online Adaptation for Visual Object Trackers
- 论文作者:Eunbyung Park(Department of Computer Science, University of North Carolina at Chapel Hill)等人
- 论文出处:ECCV 2018
- 在线阅读:http://openaccess.thecvf.com/content_ECCV_2018/papers/Eunbyung_Park_Meta-Tracker_Fast_and_ECCV_2018_paper.pdf
- 源码链接:https://github.com/silverbottlep/meta_trackers
2. 运行环境介绍
- NVIDIA GTX 1070
- Ubuntu 16.04 x64
- CUDA 8.0.61 for Ubuntu 16.04
- cuDNN 5.1 for CUDA 8.0
- Python 3.6
- PyTorch 0.2.0
3. 准备:
S1. 下载Meta-Tracker官方源码并解压。链接:https://github.com/silverbottlep/meta_trackers 。
S2. 下载imagenet-vgg-m.mat
文件,将该文件放置到源码中的meta_sdnet/models
目录下(如果没有models
文件夹就自己创建一个)。链接:http://www.vlfeat.org/matconvnet/models/imagenet-vgg-m.mat 。
S3. 下载imagenet-vgg-verydeep-16.mat
文件,将该文件放置到源码中的/meta_crest/models
目录下(如果没有models
文件夹就自己创建一个)。链接:http://www.vlfeat.org/matconvnet/models/imagenet-vgg-verydeep-16.mat 。
S4. 下载meta_init_vot_ilsvrc.pth
文件(for MetaSDNet),将该文件放置到源码中的meta_sdnet/models
目录下。链接:https://drive.google.com/file/d/1hQm9pHO_FJDceAcX_DDqoiZvNpXUfJ5D/view 。
S5. 下载meta_init_otb_ilsvrc.pth
文件(for MetaSDNet),将该文件放置到源码中的meta_sdnet/models
目录下。链接:https://drive.google.com/file/d/1y5Iqd40G6CrRZTeY2zHybO49qfUmGjXE/view 。
S6. 下载meta_init_vot_ilsvrc.pth
文件(for MetaCREST),将该文件放置到源码中的meta_crest/models
目录下。链接:https://drive.google.com/file/d/1pBiVFaoi1kjK_COnQxZehmLvA59o3PGt/view 。
S7. 下载meta_init_otb_ilsvrc.pth
文件(for MetaCREST),将该文件放置到源码中的meta_crest/models
目录下。链接:https://drive.google.com/file/d/1THmp-FdUPu2lzueSJlXsMOPBpe7QYh2q/view 。
S8. 将OTB数据集放置到源码中的dataset/OTB
目录下,如下图所示:
S9. 根据这篇笔记(https://blog.csdn.net/discoverer100/article/details/87372180 ),添加一个tb_100.txt
文件到源码的dataset/OTB
目录下,添加后如下图所示:
4. 运行(以MetaSDNet为例)
作者官方给出的实现,有MetaSDNet和MetaCREST两个版本,这里以MetaSDNet为例介绍其运行过程。
S1. 若仅仅需要选择自己感兴趣的视频来运行,首先打开刚才源码中复制进来的tb_100.txt
文件,删掉所有其他的行,保留自己感兴趣视频所对应的行(例如Bolt2视频),如下图所示:
S2. 进入到源码中的meta_sdnet/meta_tracking
目录中,在终端中运行如下命令即可运行MetaSDNet跟踪算法(请确保当前的Python版本为3.6):
python run_tracker.py -d
运行效果如下图所示(绿色矩形框表示ground-truth,红色矩形框表示算法result):
也可以不带图像显示运行,其运行命令为:
python run_tracker.py
5. 可能出现的问题及解决方法
问题 1: 找不到PIL模块,ModuleNotFoundError: No module named 'PIL'
。
解决: 在自己的Python 3.6环境中安装Pillow库,可以用命令pip install Pillow
进行安装。
问题 2: 找不到matplotlib模块,ModuleNotFoundError: No module named 'matplotlib'
。
解决: 在自己的Python 3.6环境中安装matplotlib库,可以用命令conda install -c conda-forge matplotlib
进行安装。
问题 3: 找不到scipy模块,ModuleNotFoundError: No module named 'scipy'
。
解决: 在自己的Python 3.6环境中安装scipy库,可以用命令conda install scipy
进行安装。
问题 4: 找不到sklearn模块,ModuleNotFoundError: No module named 'sklearn'
。
解决: 在自己的Python 3.6环境中安装scikit-learn库,可以用命令conda install scikit-learn
进行安装。
问题 5: 在显示视频图像的模式下报错:
Fontconfig warning: FcPattern object weight does not accept value [50 200)
Segmentation fault (core dumped)
解决: 检查自己的matplotlib版本是不是2.x的,如果是,请在自己的Python 3.6环境中将其重新安装,更换为3.x的版本。
问题 6: 一个视频跟踪完成后,出现如下错误:
Traceback (most recent call last):
File "run_tracker.py", line 435, in <module>
json.dump(res, open('../result4/otb/' + seq + '_' + tracker_name + '.json', 'w'), indent=2)
FileNotFoundError: [Errno 2] No such file or directory: '../result4/otb/Basketball_MetaTracker-Init1-Online15-lr0.000050.json'
解决: 在源码的meta_sdnet
目录下,创建一个result4
文件夹,再在result4
文件夹内部创建一个otb
文件夹,创建好后如下图所示: