跑通ByteTrack_Yolovx(跑不通你来揍我)
下载 ByteTrack Github 资源
修改代码
安装要求
⚠如果您要在GPU中运行Bytetrack,请执行以下步骤。⚠
两个代码的两端对齐
yolox/data/data_auguments.py
工具/demo_track.py
bytetrack的Downloas预训练文件
Test视频文件
onnxruntime
下载 ByteTrack Github 资源
GitHub – ifzhang/ByteTrack: [ECCV 2022] ByteTrack: Multi-Object Tracking by Associating Every Detection Box转存失败重新上传取消
or
git clone https://github.com/ifzhang/ByteTrack.git
修改代码
set.py 近50条线路
只需在“r”后面添加编码=’utf-8′即可。
然后在提示符中输入以下内容
python setup.py develop
完成后,情况就是这样。
安装要求
pip install cythonpip install -e git+https://github.com/samson-wang/cython_bbox.git#egg=cython-bboxpip install pycocotoolspip install -r requirements.txt
⚠如果您要在GPU中运行Bytetrack,请执行以下步骤。⚠
访问官方 Pytorch 以获取 cmd 来安装 CUDA 的 pytorch。
nvidia-smi
PS.如果您确定CUDA版本,则可以在此cmd中进行检查。
两个代码的两端对齐
yolox/data/data_auguments.py
找到要替换的预程序函数,如下所示。
def preproc(img, input_size, swap=(2, 0, 1)): if len(img.shape) == 3: padded_img = np.ones((input_size[0], input_size[1], 3), dtype=np.uint8) * 114 else: padded_img = np.ones(input_size, dtype=np.uint8) * 114 r = min(input_size[0] / img.shape[0], input_size[1] / img.shape[1]) resized_img = cv2.resize( img, (int(img.shape[1] * r), int(img.shape[0] * r)), interpolation=cv2.INTER_LINEAR, ).astype(np.uint8) padded_img[: int(img.shape[0] * r), : int(img.shape[1] * r)] = resized_img padded_img = padded_img.transpose(swap) padded_img = np.ascontiguousarray(padded_img, dtype=np.float32) return padded_img, r
工具/demo_track.py
删除“self.rgb_means,self.std”
bytetrack的Downloas预训练文件
使用在 CrowdHuman、MOT17、Cityperson 和 ETHZ 上训练的模型, 下载地址如下表,表中指标在MOT17训练集上测试得到。
Model | IDs | FPS | |||
---|---|---|---|---|---|
bytetrack_x_mot17[google],[baidu(code:ic0i)] | 90.0 |
| 422 | 29.6 | |
bytetrack_l_mot17[google],[baidu(code:1cml)] |
| 80.7 | 460 | 43.7 | |
bytetrack_m_mot17[google],[baidu(code:u3m4)] | 87.0 | 80.1 | 477 | 54.1 | |
bytetrack_s_mot17[google],[baidu(code:qflm)] | 79.2 | 74.3 | 533 | 64.5 |
本文以最轻量的s
版本为例,下载bytetrack_s_mot17.pth.tar
文件,下载后在项目的根目录下新建models
文件夹并将该文件放入其中。
Test视频文件
代码:
python tools/demo_track.py video -f exps/example/mot/yolox_s_mix_det.py -c ./models/bytetrack_s_mot17.pth.tar --path ./videos/palace.mp4 --fp16 --fuse --save_result
其中部分选项符的含义如下。
demo
:任务类型,必选项,可选image、video和webcam-f
:模型配置文件-c
:模型文件--path
:需要进行推理的文件路径--save_result
:是否保存推理结果
推理过程中会出现如下的日志,并在当前目录下生成YOLOX_outputs
目录,推理生成的跟踪结果就在其中。
生成视频演示:
完毕!
如果大家觉得有帮助的话!麻烦点赞+收藏喔,谢谢大家!