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

这篇具有很好参考价值的文章主要介绍了复现经典目标跟踪算法ByteTrack之路:调通第一个demo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

一、将代码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
bytetrack复现,深度学习算法复现,目标跟踪,算法,python

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

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

bytetrack复现,深度学习算法复现,目标跟踪,算法,python

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

第三步,打开anaconda prompt

activate byte_track

cd 下载目录

pip install XXX.whl(XXX为torch文件名)

pip install XXX.whl(XXX为torchvision文件名)

pip install XXX.whl(XXX为torchaudio文件名)

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

输入如下代码

bytetrack复现,深度学习算法复现,目标跟踪,算法,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文件,删除下面的两个参数:

bytetrack复现,深度学习算法复现,目标跟踪,算法,python

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、安装cython_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文章来源地址https://www.toymoban.com/news/detail-845081.html

到了这里,关于复现经典目标跟踪算法ByteTrack之路:调通第一个demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MOT】目标追踪DeepSORT与ByteTrack

    匹配算法: SORT算法: Kalman滤波, 匈牙利算法(匹配算法), 马氏距离(损失指标); Kalman滤波是通过对上一帧每个检测对象进行预测,得到一个BBox_predicted,然后再将predicted与当前帧的检测对象BBox_measure进行匹配,这样的话就能固定ID了; 如果不用Kalman滤波,将当前帧的BBox_m

    2023年04月25日
    浏览(32)
  • 【目标跟踪算法】Strong SORT多目标跟踪模型论文解析+代码详解

    1. Strong SORT算法的背景和概述 Strong SORT算法基于经典的Deep SORT模型,并从目标检测模型、表征特征模型和匹配算法等各个方面对其进行了升级优化。 1.1 表观特征分支的优化算法 对于Strong SORT算法的表观特征分支部分,主要是进行了2方面的优化,一是优化了特征提取器的能力

    2024年02月12日
    浏览(35)
  • 【多目标追踪算法】多目标跟踪评价指标

    yolov5+deepsort 多目标跟踪算法实践 评价指标总览: 这种指标可以衡量算法跟踪目标的准确性。IDsw (ID switches)度量用于统计MOT算法在对象之间切换的次数。多目标跟踪精度(MOTA)指标将假阳性率、假阴性率和错配率组合成一个数字,为整体跟踪性能提供一个相当合理的数量。尽管

    2024年02月04日
    浏览(41)
  • 【FPGA目标跟踪】基于FPGA的帧差法和SAD匹配算法的目标跟踪实现

    quartusii12.1 FPGA整体的算法流程如下图所示:  FPGA的模块主要包括如下几大模块: 摄像机驱动程序,SDRAM控制程序,显示屏驱动程序,中值滤波程序,帧差法模块,SAD模板匹配模块,跟踪定位模块等等。 跟踪模块顶层程序 帧差法模块 SAD模板匹配模块,R通道 SAD模板匹配模块,

    2024年02月04日
    浏览(43)
  • 目标跟踪——SORT算法原理浅析

    目标跟踪——SORT算法原理浅析 目标跟踪——Deep Sort算法原理浅析 基于yolov5与Deep Sort的流量统计与轨迹跟踪 Simple Online and Realtime Tracking(SORT)是一个非常简单、有效、实用的多目标跟踪算法。在SORT中,仅仅通过IOU来进行匹配虽然速度非常快,但是ID switch依然非常严重。 SORT最大

    2024年02月06日
    浏览(52)
  • 经典目标检测YOLO系列(二)YOLOV2的复现(1)总体网络架构及前向推理过程

    和之前实现的YOLOv1一样,根据 《YOLO目标检测》(ISBN:9787115627094) 一书,在不脱离YOLOv2的大部分核心理念的前提下,重构一款较新的YOLOv2检测器,来对YOLOV2有更加深刻的认识。 书中源码连接: RT-ODLab: YOLO Tutorial 对比原始YOLOV2网络,主要改进点如下: 添加了后续YOLO中使用的neck,

    2024年01月18日
    浏览(44)
  • 基于深度学习的多目标跟踪算法

    基于深度学习的多目标跟踪(MOT,Multi-Object Tracking)算法在近年来取得了显著的进步。这些算法主要利用深度学习模型对视频中的多个目标进行检测和跟踪。 在介绍一些常见的深度学习多目标跟踪算法之前,我们首先了解一下其基本概念和挑战: 目标检测 :首先识别视频帧

    2024年01月23日
    浏览(40)
  • 经典目标检测YOLO系列(二)YOLOV2的复现(2)正样本的匹配、损失函数的实现及模型训练

    我们在之前实现YOLOv1的基础上,加入了先验框机制,快速的实现了YOLOv2的网络架构,并且实现了前向推理过程。 经典目标检测YOLO系列(二)YOLOV2的复现(1)总体网络架构及前向推理过程 如前所述,我们使用基于先验框的正样本匹配策略。 由于每个网格只输出一个边界框,因此在

    2024年01月19日
    浏览(54)
  • DeepSORT多目标跟踪——算法流程与源码解析

    1. 目标检测 在目标检测任务中,主要目标是识别图像或视频帧中存在的物体的位置和类别信息。这意味着目标检测算法需要定位物体的边界框(Bounding Box)并确定每个边界框内的物体属于哪个类别(如人、汽车、狗等)。目标检测通常独立地处理每一帧图像,不考虑目标在不

    2024年04月13日
    浏览(50)
  • 【老生谈算法】基于matlab的运动目标识别与跟踪系统设计与算法原理及程序源码——目标识别算法

    大家好,今天给大家介绍基于matlab的运动目标的监测与跟踪系统设计与原理。 视频图像分析主要是对运动图像序列进行分析处理,它通常涉及到运动检测、目标分类、目标跟踪及行为理解与描述几个过程。其中,运动目标检测与跟踪处于整个视觉监视系统的最底层,是视频图

    2024年02月13日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包