pysottoolkit使用问题记录
pysottoolkit是什么?
我们的跟踪模型,无论是相关滤波跟踪器,还是深度学习的跟踪器,都需要在数据集上测试性能,常用的数据集有OTB、VOT等等。测试的步骤可以分为两步,第一,使用跟踪器在数据集的不同视频序列上,“推理”得到对应的标注文件,这个标注文件可以是txt格式,也可以是mat格式。第二,对得到的标注文件,将其与GT进行比较,计算成功率、精确度等指标,乃至绘制曲线图。
我们使用跟踪器得到跟踪标注结果后,想评估自己的跟踪器性能,就需要利用标注文件计算指标(第二步),这时候可以借助OTB、VOT的官方工具包,也可以自己实现函数。
pysottoolkit就是在第二步中帮助我们快速实现的工具包。它可以给出不同跟踪器的跟踪性能指标,绘制曲线图。
数据集准备
把需要使用的数据集下载解压,并将对应的json文件放在数据集目录下。比如图中的/track/pysot-toolkit/dataset/OTB100/
目录下,除了basketball/、biker/
等视频目录,还要将OTB100.json
放进去。其他数据集类似。
使用步骤
pysottoolkit使用前,需要安装依赖包。
一、安装python库
主要是requirements.txt中的库。其中的glob是python自带的,其他诸如Cython的库,运行时按提示补充即可。
二、运行setup.py
# pwd = path/to/pysot-toolkit
cd pysot/utils/
python setup.py build_ext --inplace
会自动生成build文件
这一步结束之后就可以运行,出结果了,但是不可以出图。
如果出错,一般都是路径设置不对,或者一些文件名字,human4.txt要改成human4-2之类。
运行结果:
(torch110) D:\track\pysot-toolkit>python bin/eval.py --dataset_dir D:\PYSOT\pysot\testing_dataset\OTB100 --dataset OTB100 --tracker_result_dir ./resu
lts/OTB100 --trackers SiamFCRes22
loading OTB100: 100%|█████████████████████████████████████| 100/100 [00:00<00:00, 214.95it/s, Woman]
eval success: 100%|███████████████████████████████████████████████████| 1/1 [00:05<00:00, 5.17s/it]
eval precision: 100%|█████████████████████████████████████████████████| 1/1 [00:03<00:00, 3.79s/it]
------------------------------------------------------
|Tracker name | Success | Norm Precision | Precision |
------------------------------------------------------
| SiamFCRes22 | 0.619 | 0.000 | 0.816 |
------------------------------------------------------
三、安装Latex绘图(可选)
1、MiKTeX
2、TexMaker
搜索下载按默认选项安装即可。
3、设置MikTeX镜像源并更新
把MikTeX更新的镜像源换成国内的,不然更新比较慢。
1、打开MiKTeX Console,更新-更改,选择“远程宏包存储库(互联网)”,点击“next”。
2、选择一个镜像源,点击“Finish”。
3、点击“检查更新”,之后点击“立即更新”。我这里已经更新过了,所以没有可用更新。
部分问题
1、cannot import name 'OTBDataset’
Traceback (most recent call last):
File "bin/eval.py", line 11, in <module>
from pysot.datasets import OTBDataset, UAVDataset, LaSOTDataset, VOTDataset, NFSDataset, VOTLTDataset
ImportError: cannot import name 'OTBDataset'
原因是没有把pysot-toolkit路径加入PATHONPATH环境变量,按下面加入即可。
# 按照系统选择下面的语句之一,我这里的/path/to/pysot-toolkit就是D:\track\pysot-toolkit
set PYTHONPATH=$PATHONPATH$;D:\track\pysot-toolkit # Windows
export PYTHONPATH=/path/to/pysot-toolkit:$PYTHONPATH # Ubuntu
2、绘图中的一些问题
1、Package Installation
2、TimeoutError: Lock error: Matplotlib failed to acquire the following lock file:
TimeoutError: Lock error: Matplotlib failed to acquire the following lock file:
C:\Users\Administrator.matplotlib\tex.cache\1f182d9bede4c9cd7c73d0968523a788.tex.matplotlib-lock
This maybe due to another process holding this lock file. If you are sure no
other Matplotlib process is running, remove this file and try again.
这两个问题在这个博主的文章中总结得很细致,可以参考。
https://blog.csdn.net/weixin_42495721/article/details/110855071