复现经典目标跟踪算法ByteTrack之路:调通第一个demo

ByteTrack源论文地址:https://arxiv.org/pdf/2110.06864.pdf

ByteTrack开源代码地址:https://github.com/ifzhang/ByteTrack

本文在官方给出的配置指南编写,提供了许多避坑方式。

文章目录

  • 复现经典目标跟踪算法ByteTrack之路:调通第一个demo
    • 一、将代码clone到本地
    • 二、配置环境
      • 1、创建虚拟环境
      • 2、快速安装pytorch一家
      • 3、安装requirements.txt中的剩余包
      • 4、python3 setup.py develop
      • 5、安装pycocotools
      • 6、安装cpython_bbox
    • 三、跑通第一个Demo
    • 四、结语
    • 参考

一、将代码clone到本地

可直接使用Git clone到本地

git clone https://github.com/ifzhang/ByteTrack.git

也可以使用pycharm自带的方式直接将代码clone下来。

二、配置环境

写在前面:为了不引起各种版本不适配导致报错的坑,强烈建议不要按照官方给出的步骤,直接写

pip3 install -r requirements.txt

可以按照下述步骤进行。

1、创建虚拟环境

打开anaconda prompt 输入

conda create -n 环境名 python=X.X

此处python建议使用3.7及以上版本(高版本的pytorch已不再支持python3.6及以下版本)

为方便后续演示,给出我建立虚拟环境命令如下:

conda create -n byte_track python=3.7

激活虚拟环境:

activate byte_track

2、快速安装pytorch一家

如果使用官方给出的安装方式可能会出现如下两个问题:第一,安装速度过慢;第二,安装完成后,torch.cuda.is_available()为False。因此,给出如下安装步骤:

第一步:打开cmd,输入nvidia-smi

如图,我本机安装的是cuda11.6

第二步:打开链接https://download.pytorch.org/whl/torch_stable.html 找到自己需要的版本

例如,我的环境为Windows,cuda版本为11.6,python版本为3.7。那就选择如图所示的版本的torch、torchvision和torchaudio。点击即可下载。

第三步,打开anaconda prompt

activate byte_trackcd 下载目录pip install XXX.whl(XXX为torch文件名)pip install XXX.whl(XXX为torchvision文件名)pip install XXX.whl(XXX为torchaudio文件名)

下载完成后,输入python激活python环境

输入如下代码

结果若为true,则安装成功

3、安装requirements.txt中的剩余包

由于已安装部分包,且有一些包已更新(当前时间:2022-09-18)先修改项目文件夹中requirements.txt如下

# TODO: Update with exact module version
numpy
opencv_python
loguru
scikit-image
tqdm
Pillow
thop
ninja
tabulate
tensorboard
lap
motmetrics
filterpy
h5py# verified versions
onnx==1.8.1
onnxruntime-gpu
onnx-simplifier==0.3.5

然后在anaconda prompt中cd到项目目录

输入

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

4、python3 setup.py develop

先更改setup.py文件

with open("README.md", "r") as f:
修改为
with open("README.md", "r", encoding='utf-8') as f:

cd到项目所在目录 输入python3 setup.py develop即可

5、安装pycocotools

先安装cpython

pip install cython -i https://pypi.tuna.tsinghua.edu.cn/simple/

下一步如使用官方给出的方式安装pycocotools可能会出现报错,可以根据如下方式安装

该部分参考https://blog.csdn.net/weixin_46961200/article/details/124344341

1)在https://github.com/pdollar/coco.git下载源码压缩包,解压后放在site-packages文件下,具体路径可参考我的:D:\MyEnvironment\Anaconda3\envs\byte_track\Lib\site-packages

2)打开cocoapi-master\pythonAPI中的setup.py文件,删除下面的两个参数:

3)在anaconda prompt中cd到刚才的cocoapi-master\pythonAPI文件夹下,可参考我的路径:D:\MyEnvironment\Anaconda3\envs\byte_track\Lib\site-packages\cocoapi-master\PythonAPI输入

python setup.py build_ext --inplace
python setup.py build_ext install

第一步显示“已完成代码的生成”即成功;第二部显示"Finished processing dependencies for pycocotools==2.0"即成功。

6、安装cpython_bbox

按照官方方式仍然是会报错,可根据下述步骤安装

该部分参考https://blog.csdn.net/JackyAce6880/article/details/123751018

1)下载源码

链接:https://pan.baidu.com/s/1uYC6qhZ0eWjIenOBdoyLtQ
提取码:fef4

解压后放在site-packages文件下(site-packages文件夹位置与上一步相同)

2)更改setup.py文件

打开文件夹内setup.py文件,将第31行,extra_compile_args=[‘-Wno-cpp’] 修改为 extra_compile_args = {‘gcc’: [‘/Qstd=c99’]}

打开anaconda prompt 执行

python setup.py build_ext install

最终显示Finished processing dependencies for cython-bbox==0.1.3即成功

至此,环境已配置完成!

三、跑通第一个Demo

下载预训练模型,可通过我的网盘下载,下载链接如下:

链接:https://pan.baidu.com/s/1qwecLD57quI__l6_91gvhA
提取码:zmqn

将下载下来的文件放在项目文件夹 pretrained文件夹下

cd到项目文件夹,输入

python tools/demo_track.py video -f exps/example/mot/yolox_x_mix_det.py -c pretrained/bytetrack_x_mot17.pth.tar --fp16 --fuse --save_result

即可开始运行,运行结果会自动放入ByteTrack\YOLOX_outputs\yolox_x_mix_det\track_vis文件夹中

至此,ByteTrack的第一个Demo已完成。

四、结语

目前只是用预训练模型跑通第一个Demo,后续训练过程和多类别目标跟踪,以及使用其他目标检测网络的版本将持续更新,敬请期待…

参考

https://blog.csdn.net/JackyAce6880/article/details/123751018
https://blog.csdn.net/weixin_46961200/article/details/124344341
https://www.ngui.cc/51cto/show-544748.html?action=onClick

复现经典目标跟踪算法ByteTrack之路:调通第一个demo相关推荐

  1. 计算机视觉中,目前有哪些经典的目标跟踪算法

    首先来一个跟踪算法的大杂烩: VOT2016 Trackers repository 以下是转载内容 ------------------------------------------------- ...

  2. 2016年之前目标跟踪算法总结

    作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/answer/156025576 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  3. 2018目标跟踪算法综述

    转自  https://www.zhihu.com/question/26493945 作者:YaqiLYU 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 相信很多来这里的人和 ...

  4. 计算机视觉中,目标跟踪算法的综述

    作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/answer/156025576 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  5. 深度长文:计算机视觉中,目前有哪些经典的目标跟踪算法?

    第一部分:目标跟踪速览 先跟几个SOTA的tracker混个脸熟,大概了解一下目标跟踪这个方向都有些什么.一切要从2013年的那个数据库说起..如果你问别人近几年有什么比较niubility的跟踪算法 ...

  6. 2017目标跟踪算法综述

    转自  https://www.zhihu.com/question/26493945 作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/an ...

  7. 90+目标跟踪算法九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望...

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[目标跟踪]技术交流群 后台回复[视觉目标跟踪综述]获取本文论文! 准确和鲁棒的视觉目标 ...

  8. 目标跟踪算法综述与分析

    本人硕士期间研究过10个月左右的目标跟踪算法,刚入门时苦于没人指点,自己每天乱看文章,后来发现看的好多文章都是没有意义的(ps....看了一大堆meanshift,kalman啥的......),做了 ...

  9. Siamese-RPN目标跟踪算法

    Siamese-RPN目标跟踪算法 这个比较全:不是具体项目,是个目录 https://github.com/HonglinChu/SiamTrackers 没有预训练: SiamTrackers/4 ...

最新文章

  1. java 随机取三个_Java-Random 从五个人中随机三个 且不能重复
  2. MySQL / 为什么需要主键?主键为什么最好是单调递增的?
  3. 某法院HP-P4500存储数据恢复案例
  4. 数据源管理 | 分布式NoSQL系统,Cassandra集群管理
  5. 内置auth 的使用,用超级用户创建
  6. @开发者 区块链技术如此火爆 你却只能望而却步?京东云为你配齐装备!
  7. 20190830:(leetcode习题)二叉树的最大深度
  8. python基础教程视频-Python基础视频教程全集
  9. java自定义sql查询条件_mybatis-plus QueryWrapper自定义查询条件的实现
  10. 【Python】爬取的图片不对怎么办?Python爬取网页图片小结
  11. CSF视频文件格式转换
  12. 智能传感器应用领域及其发展现状
  13. 判断zip,rar 文件是否加密
  14. javascript回调函数有什么用
  15. CF633H Fibonacci-ish II(莫队+线段树)
  16. 我知道你在淘宝买过很多东西,但是你买过一所大学吗
  17. 公安部称游街示众的执法方式严重违规
  18. 我是怎么薅的双十一羊毛
  19. 如何去除视频水印?这几个方法帮你解决难题
  20. python 斗地主发牌_Python_斗地主发牌程序

热门文章

  1. 使用xpath时候出现AttributeError: ‘list‘ object has no attribute ‘strip‘解决方法
  2. 大数据报告:十一国庆黄金周全民出行交通情况预测
  3. 81条恶搞脑筋急转弯
  4. 今天买了空间和域名^^
  5. 英文计算机简历,计算机英文简历范文
  6. element-ui 修改时间选择器样式
  7. 微盟“删库跑路”事件给我们的启示!
  8. 华为机试——计算面积
  9. spring自动装配Bean的五种方式
  10. kali激活phpstorm_phpstorm2018.2永久激活,亲测有效!!!