跑通ByteTrack_Yolovx(跑不通你来揍我)

跑通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 转存失败重新上传取消

跑通ByteTrack_Yolovx(跑不通你来揍我)_第1张图片

or

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

修改代码

set.py 近50条线路

只需在“r”后面添加编码='utf-8'即可。

跑通ByteTrack_Yolovx(跑不通你来揍我)_第2张图片

  然后在提示符中输入以下内容

python setup.py develop

完成后,情况就是这样。

跑通ByteTrack_Yolovx(跑不通你来揍我)_第3张图片

安装要求 

pip install cython
pip install -e git+https://github.com/samson-wang/cython_bbox.git#egg=cython-bbox
pip install pycocotools
pip install -r requirements.txt

⚠如果您要在GPU中运行Bytetrack,请执行以下步骤。⚠ 

访问官方 Pytorch 以获取 cmd 来安装 CUDA 的 pytorch。 

 

跑通ByteTrack_Yolovx(跑不通你来揍我)_第4张图片

nvidia-smi

PS.如果您确定CUDA版本,则可以在此cmd中进行检查。

跑通ByteTrack_Yolovx(跑不通你来揍我)_第5张图片

 两个代码的两端对齐

 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

跑通ByteTrack_Yolovx(跑不通你来揍我)_第6张图片

 工具/demo_track.py 

删除“self.rgb_means,self.std”

跑通ByteTrack_Yolovx(跑不通你来揍我)_第7张图片

bytetrack的Downloas预训练文件 

使用在 CrowdHuman、MOT17、Cityperson 和 ETHZ 上训练的模型, 下载地址如下表,表中指标在MOT17训练集上测试得到。

Model IDs FPS
bytetrack_x_mot17 [google], [baidu(code:ic0i)] 90.0
83.3
422 29.6
bytetrack_l_mot17 [google], [baidu(code:1cml)]
88.7
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目录,推理生成的跟踪结果就在其中。 

跑通ByteTrack_Yolovx(跑不通你来揍我)_第8张图片 生成视频演示: 

完毕!

如果大家觉得有帮助的话!麻烦点赞+收藏喔,谢谢大家!

你可能感兴趣的:(#,目标追踪,#,环境配置(DL),计算机视觉,人工智能)