复现经典目标跟踪算法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
- 1
也可以使用pycharm自带的方式直接将代码clone下来。
二、配置环境
写在前面:为了不引起各种版本不适配导致报错的坑,强烈建议不要按照官方给出的步骤,直接写
pip3 install -r requirements.txt
- 1
可以按照下述步骤进行。
1、创建虚拟环境
打开anaconda prompt 输入
conda create -n 环境名 python=X.X
- 1
此处python建议使用3.7及以上版本(高版本的pytorch已不再支持python3.6及以下版本)
为方便后续演示,给出我建立虚拟环境命令如下:
conda create -n byte_track python=3.7
- 1
激活虚拟环境:
activate byte_track
- 1
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_track
cd 下载目录
pip install XXX.whl(XXX为torch文件名)
pip install XXX.whl(XXX为torchvision文件名)
pip install XXX.whl(XXX为torchaudio文件名)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
下载完成后,输入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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
然后在anaconda prompt中cd到项目目录
输入
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
- 1
4、python3 setup.py develop
先更改setup.py文件
with open("README.md", "r") as f:
修改为
with open("README.md", "r", encoding='utf-8') as f:
- 1
- 2
- 3
cd到项目所在目录 输入python3 setup.py develop即可
5、安装pycocotools
先安装cpython
pip install cython -i https://pypi.tuna.tsinghua.edu.cn/simple/
- 1
下一步如使用官方给出的方式安装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
- 1
- 2
第一步显示“已完成代码的生成”即成功;第二部显示"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
- 1
最终显示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
- 1
即可开始运行,运行结果会自动放入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