商汤 目标跟踪 商汤目标跟踪算法

文章目录
简介
一、环境配置
二、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

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值