文章目录
简介
一、环境配置
二、demo
2.1 步骤一:加入工程的python路径
2.2 步骤二:下载模型
2.3 步骤三:编辑demo
三、test
3.1 步骤一:数据集.json文件准备
3.2 步骤二:OTB100等数据集的注意事项
3.3 步骤三:编辑test
四、eval
4.1 步骤一:可能遇到的报错
4.2 步骤二:解决报错
简介
随着SIamFC,SiamRPN,DASiamRPN,SiamMask,SiamRPN++等等文章的涌现,Siam家族堪称经典,商汤科技在计算机视觉领域真滴强。
pysot是商汤科技推出的一个针对单目标跟踪(Single Object Tracking)的“研究平台”,里面包含了SIam家族的算法代码,例如SiamRPN、SiamMask等。
从 STVIR/pysot下载了代码,配置了环境,跑通了demo、test,eval。本文主要记录一下配置使用过程。
以下工作都是在Ubuntu18.04系统下下进行的。电脑配置为i9-9900k,RTX2070S显卡,8G显存,16G内存。
一、环境配置
在在终端下激活anaconda,创建名为pysot的环境
conda activate
conda create --name pysot python=3.7
1.
2.
接着安装相应的模块,-i 表示指定清华源,国内源下载速度更快。
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install torchvision==0.6.1 (conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
刚开始使用命令默认安装的,但是torch文件太大,网速原因没安装上)
pip3 install torch-1.5.1-cp37-cp37m-linux_x86_64.whl (于是先从这个网址下载安装包,再安装https://download.pytorch.org/whl/torch_stable.html)
pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pyyaml yacs tqdm colorama cython tensorboardX -i https://pypi.tuna.tsinghua.edu.cn
1.
2.
3.
4.
5.
6.
7.
8.
进入Pycharm,指定pysot为解释器
二、demo
2.1 步骤一:加入工程的python路径
不加入后面会报错,类似于“没有pysot模块或者没有toolkit模块”错误。打开pycharm的终端,然后加入路径,并查看是否添加成功。
export PYTHONPATH=$PWD:$PYTHONPATH
echo $PYTHONPATH
1.
2.
接着编译stup.py文件,会生成build文件夹。
python setup.py build_ext --inplace
1.
2.2 步骤二:下载模型
根据官方 PySOT Model Zoo提供的
百度云链接 密码j9yb
将模型下载下来,将里面的各个文件夹的model.pth文件,分别复制到pysot工程文件experiments对应的文件夹里。切记不要直接替换文件夹,里面的config.yaml文件不一样。直接替换的话,后面运行程序会报错。
2.3 步骤三:编辑demo
依次打开菜单栏Run–>Edit configurations
代码如下
--config
../experiments/siamrpn_alex_dwxcorr/config.yaml
--snapshot
../experiments/siamrpn_alex_dwxcorr/model.pth
--video
../demo/bag.avi
1.
2.
3.
4.
5.
6.
点击OK,然后运行tools下的demo.py文件即可。
鼠标左键拉个矩形,框住图中的bag,回车,如下图。
三、test
3.1 步骤一:数据集.json文件准备
将官方提供的 百度云链接的文件下载下来
3.2 步骤二:OTB100等数据集的注意事项
OTB100数据集,需要参考一下 pysot-toolkit。意思是:将CVRP13.json,OTB100.json,OTB50.json放在OTB100数据集目录中(您需要将Jogging复制到Jogging-1和Jogging-2,并将Skating2复制到Skating2-1和Skating2-2或使用软链接
其实,可以打开OTB100.json文件看看,有Jogging-1和Jogging-2两个目录,但是OTB100数据集中只有Jogging,所以需要上述操作。
VOT2016和VOT2018数据集也需要有有类似的操作,将VOT2016.json和VOT2018.json文件打开后,分别对照自己的数据集看看,需要复制文件夹的复制,需要改名的直接改名即可。
3.3 步骤三:编辑test
依次打开菜单栏Run–>Edit configurations
代码如下
--snapshot
../experiments/siamrpn_alex_dwxcorr/model.pth
--dataset
VOT2018
--config
../experiments/siamrpn_alex_dwxcorr/config.yaml
1.
2.
3.
4.
5.
6.
点击OK,运行test.py
Run–>Edit configurations将上面代码中的VOT2018分别改成VOT2016、OTB100,运行程序test.py。会将测试结果保存在./tools/results下面,后面的评估需要测试结果。
四、eval
4.1 步骤一:可能遇到的报错
按照它的报错信息,就是需要这几个参数
参考官方readme.md文件,并且参考了 [对象跟踪][环境配置过程][Ubuntu16.04年]siamrpn++[cvpr2019]皮索,ObjectTracking,流程,Ubuntu1604SiamRPNCVPR2019pysot 接着输入代码
--tracker_path
../tools/results
--dataset
OTB100
--num
1
--tracker_prefix
‘siamRPNpp’
--show_video_level
1.
2.
3.
4.
5.
6.
7.
8.
9.
运行eval.py报错
第一天跑到这里,对这个报错无可奈何,放弃治疗了。第二天试了一下,迷之成功了。
4.2 步骤二:解决报错
我跑通了的代码,但不一定适应你们的情况
(1)删掉代码中的一行
--tracker_path
../tools/results
--dataset
OTB100
--num
1
--show_video_level
1.
2.
3.
4.
5.
6.
7.
(2)OTB100评估结果
评估出来的结果不太好,跟各方面的因素有关,回头再研究下
(3)VOT2016评估结果
Run–>Edit configurations将上面代码中的OTB100改成VOT2016,运行程序eval.py
(4)VOT2018评估结果
Run–>Edit configurations将上面代码中的OTB100改成VOT2018,运行程序eval.py