学习 PySOT1

部署运行你感兴趣的模型镜像


前言

PySOT是商汤(SenseTime视频智能研究团队)开源的目标跟踪库,实现了最新的单目标跟踪算法,主要包含: SiamRPN、SiamMask。使用Python编写的,基于Pytorch深度学习框架。该软件系统还包含了评估跟踪算法的Python工具箱断开。
开源链接:https://github.com/STVIR/pysot
为什么叫 PySOT?
网上有人解释:Python/PyTorch + Single Object Tracking 的组合。
PySOT的目标是为视觉跟踪研究提供高质量,高性能的代码库。可以支持快速实施和评估新研究的跟踪算法。

一、PySOT介绍

PySOT包括跟踪算法有:SiamFC、SiamRPN、DaSiamRPN、SiamRPN++、SiamMask
使用的网络结构有:ResNet{18, 34, 50}、MobileNetV2和AlexNet
评估工具包可支持的数据集有:OTB2015 、VOT16/18/19 、 VOT18-LT、 LaSOT、 UAV123
现在PySOT里包含了Python版的评测工具,包含VOT的baseline EAO测试,以及OTB,UAV123,LaSOT,NFS等OPE测试的评测。这里需要强调的是VOT的reset测试,项目里重新包装了vot-toolkit里的overlap计算方式,即跑出来的结果和vot-toolkit的EAO是一致的。

提供了大量的基准结果和经过训练的模型,可在 PySOT Model Zoo中下载。
PySOT Model Zoo 介绍
该文件记录了使用pysot训练的大量基线。这些基准的所有配置都位于PySOT\experiments目录中。
下表提供了有关推理的结果。
在这里插入图片描述
注意:
速度测试是在显卡GTX-1080Ti上进行的
alex表示AlexNet,r50_lxyz表示ResNet-50中第x、y和z阶段的输出,mobilev2表示MobileNetV2。
dwxcorr表示深度互相关。请参见SiamRPN
++论文第3.4节中的更多内容。
后缀otb和lt是针对OTB和VOT长期跟踪挑战而设计的,默认值(无后缀)是针对VOT短期跟踪挑战而设计的。
以上所有模型都在与DaSiamRPN相同的VID,YoutubeBB,COCO,ImageNetDet上进行了训练。
模型下载,官方百度云https://pan.baidu.com/s/1GB9-aTtjG57SebraVoBfuQ,提取码:j9yb

二、PySOT配置

1.引入库

  1. 文件准备(附:所有百度云链接)
    PySOT 工程文件下载
    PySOT Model Zoo
    模型下载,提取码:j9yb (下载模型注意事项:
    下载好预训练模型之后,不要直接用PySOT中的文件夹替换experiments里文件夹,要使用pysot源码的中提供的config.yaml文件,
    不然会报错—KeyError: ‘Non-existent config key: BACKBONE.LAYERS’)
    下载测试数据集的Json,百度云
    下载数据集并将其放入testing_dataset目录
    数据集下载:
    OTB2015,百度云https://pan.baidu.com/s/1mGrfVPXs7yz16vCBRwDurA,密码:faqb
    VOT16/18/19,百度云https://pan.baidu.com/s/1co6NSk3imqhLWfq3H1ek1A,密码:bs6g
    VOT18-LT,百度云https://pan.baidu.com/s/1yzq81FrqRILqzzfKbmj8Tw,密码:2kqi
    LaSOT,百度云https://pan.baidu.com/s/1UbcQIU-Fpps7Jqq4WHRRkA,密码:227G
    UAV123,百度云https://pan.baidu.com/s/1OAUG8IrdqTRpGbK4Nv-bhA,密码:vp4r

2.环境配置

PySOT环境配置要求:

  • Conda with Python 3.7
  • Nvidia GPU.
  • PyTorch 0.4.1
  • yacs
  • pyyaml
  • matplotlib
  • tqdm
  • OpenCV
  • 分步说明:
    1.创建环境、激活:(在Anaconda Prompt 命令窗口下)
    conda create --name pysot python=3.7
    conda activate pysot

2.安装 numpy/pytorch/opencv等:
conda install numpy
conda install pytorch=0.4.1 torchvision cuda90 -c pytorch
pip install opencv-python
pip install pyyaml yacs tqdm colorama matplotlib cython tensorboardX
如果安装过pytorch,不用再安装pytorch。
若安装慢,可使用清华镜像源,建议使用anaconda3.7,安装的一般都会换清华源,这样下载各种库相对也快很多,换清华源那个-c pytorch不需要。

在Pycharm中PySOT使用

1.配置环境,运行demo
进入pycharm,导入pysot,进入settings(设置)->project: pysot->project interpreter 指定python的解释器(我使用的是之前安装好的pytorch python3.7)。点击右边齿轮来添加。在这里插入图片描述
接下来,在run->edit configurations (编辑配置)下添加参数(无摄像头):
–config
…/experiments/siamrpn_alex_dwxcorr/config.yaml
–snapshot
…/experiments/siamrpn_alex_dwxcorr/model.pth
–video
…/demo/bag.avi
有摄像头:
–config
…/experiments/siamrpn_alex_dwxcorr/config.yaml
–snapshot
…/experiments/siamrpn_alex_dwxcorr/model.pth
这里的路径是以你在 "Script Path"栏中选定的python文件为准。这样就会使用 …/demo/bag.avi 中的视频进行;而如果你希望使用摄像头来进行验证,将 “–video …/demo/bag.avi” 一行去掉即可
在这里插入图片描述
需要我们手动画框,空格或者回车运行。

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 关于 PySOT 工具包 #### 什么是 PySOTPySOT 是由 SenseTime 视频智能研究团队开发的一个开源软件系统,专注于实现先进的单目标跟踪算法。它不仅提供了 SiamRPN 和 SiamMask 等前沿算法的实现[^3],还通过 Python 编写并依赖 PyTorch 深度学习框架来运行。 #### 如何获取 PySOT 工具包? 可以通过两种方式获得该工具包: 1. **直接下载**:访问其官方 GitHub 页面手动下载压缩文件。 2. **克隆仓库**:如果本地已安装 Git,则可以使用以下命令从终端或 Git Bash 中执行操作以获取最新版本的代码: ```bash git clone https://github.com/STVIR/pysot.git ``` 对于 pysot-toolkit 的特定部分,同样可以选择直接下载或者利用如下命令完成克隆工作: ```bash git clone https://github.com/StrangerZhang/pysot-toolkit ``` 上述方法能够帮助用户快速搭建起基础的工作环境[^2]。 #### 安装指南 为了顺利部署 PySOT 及其配套组件,请参照官方提供的 `INSTALL.md` 文件中的说明文档进行配置。这份文档详尽列出了所需依赖项以及具体的操作流程[^1]。 #### 功能特性概述 pysot-toolkit 提供了一个全面的评估 API 接口,适用于多个主流单一物体追踪数据集上的性能测试,其中包括但不限于 VOT2016, VOT2018, OTB100(UAV123), NFS, LaSOT, TrackingNet 和 GOT-10k 等知名公开资源集合[^4]。这使得研究人员能够在统一的标准下比较不同模型的效果差异,并进一步优化各自的设计方案。 #### 示例代码片段展示如何初始化一个简单的跟踪过程 以下是基于 PySOT 构建基本应用的一段示范程序: ```python from pysot.core.config import cfg from pysot.models.model_builder import ModelBuilder from pysot.tracker.siamrpn_tracker import SiamRPNTracker def init_tracker(): # 加载预训练权重路径 snapshot_path = 'path_to_your_pretrained_model.pth' # 配置加载 config_file = './experiments/siamrpn_r50_l2loss/config.yaml' cfg.merge_from_file(config_file) model = ModelBuilder() tracker = SiamRPNTracker(model=model) checkpoint = torch.load(snapshot_path) model.load_state_dict(checkpoint['state_dict'], strict=False) model.eval().cuda() return tracker ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值