商汤PySot的配置使用(1)---siam跟踪算法demo、test、eval

简介

随着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

接着安装相应的模块,-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

进入Pycharm,指定pysot为解释器
在这里插入图片描述

二、demo

2.1 步骤一:加入工程的python路径

不加入后面会报错,类似于“没有pysot模块或者没有toolkit模块”错误。打开pycharm的终端,然后加入路径,并查看是否添加成功。

export PYTHONPATH=$PWD:$PYTHONPATH
echo $PYTHONPATH

在这里插入图片描述
接着编译stup.py文件,会生成build文件夹。

python setup.py build_ext --inplace

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

点击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

点击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

运行eval.py报错
在这里插入图片描述
第一天跑到这里,对这个报错无可奈何,放弃治疗了。第二天试了一下,迷之成功了。

4.2 步骤二:解决报错

我跑通了的代码,但不一定适应你们的情况
(1)删掉代码中的一行

--tracker_path
../tools/results
--dataset
OTB100
--num
1
--show_video_level

在这里插入图片描述
(2)OTB100评估结果
在这里插入图片描述
评估出来的结果不太好,跟各方面的因素有关,回头再研究下
在这里插入图片描述
在这里插入图片描述
(3)VOT2016评估结果
Run–>Edit configurations将上面代码中的OTB100改成VOT2016,运行程序eval.py
在这里插入图片描述
(4)VOT2018评估结果
Run–>Edit configurations将上面代码中的OTB100改成VOT2018,运行程序eval.py
在这里插入图片描述

大家如果觉得写得很详细,有帮助的话,点个赞吧!

  • 36
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 61
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值