源码地址:https://github.com/ifzhang/ByteTrack
我的cuda版本为10.2,先安装pytorch
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/torch_stable.html
下载源码
git clone https://github.com/ifzhang/ByteTrack.git
cd ByteTrack
pip install -r requirements.txt
python setup.py develop
pip install -r requirements.txt过程中会把我的torch、torchvision自动卸掉,重新安装一次pytorch!
执行python setup.py develop报错UnicodeDecodeError: 'gbk' codec can't decode byte
编辑setup.py,将
with open("README.md", "r") as f:
改为:
with open("README.md", "r",encoding='utf-8') as f:
安装pycocotools
pip install cython
安装cython_bbox
使用pip install cython_bbox安装会报错
从官网下载cython_bbox库,在Windows本地进行编译,具体步骤如下:
①首先从官网下载cython_bbox库,进入官网后,单击Download files,再单击cython_bbox-0.1.3.tar.gz开始下载。下载地址:cython-bbox · PyPI
②将下载的cython_bbox-0.1.3.tar.gz解压,解压后打开文件夹,右击setup.py以记事本的方式打开,将第31行
extra_compile_args=['-Wno-cpp']
替换为:
extra_compile_args={'gcc': ['/Qstd=c99']}
然后保存。
③以命令行的方式进入cython_bbox-0.1.3目录,执行命令:
python setup.py build_ext install
下载模型
下载模型,并放于pretrained目录下,若文件夹不存在,则新建一个!
效果测试
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
如果出现Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.报错问题,编辑demo_track.py文件,增加以下代码:
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
若没有报错,则可在YOLOX_outputs目录下找到生成视频!
摄像头实时跟踪
python tools/demo_track.py webcam -f exps/example/mot/yolox_m_mix_det.py -c pretrained/bytetrack_m_mot17.pth.tar --fp16 --fuse --save_result
建议选择bytetrack_m_mot17.pth.tar模型,基本0延迟!
尝试直接调用海康威视摄像头的rtsp视频流进行实时识别,但同局域网下延迟却很大,不知原因为何,正在解决!
参考:
Windows上遇到错误之No module named 'cython_bbox'_慕课手记 (imooc.com)
目标跟踪之 MOT 经典算法:ByteTrack 算法原理以及多类别跟踪_kuweicai的博客-CSDN博客_多类别多目标跟踪