ByteTack的Demo基于docker搭建。步骤如下:
1. 下载ByteTrack源码
git clone https://github.com/ifzhang/ByteTrack.git
2. docker镜像准备
cd ByteTrack && docker build -t bytetrack:latest
3. 模型准备
这里使用已经训练好的模型bytetrack_s_mot17.pth.tar,下载地址为bytetrack_s_mot17 [google], [baidu(code:qflm)]。模型下载后,需要在项目的根目录下创建目录pretrained,即
mkdir -p pretrained
然后将模型bytetrack_s_mot17.pth.ta放到目录pretrained。然后在项目根目录下创建分析结果保存的目录YOLOX_outputs,即
mkdir -p YOLOX_outputs
4. docker容器创建
在项目的根目录下执行以下命令创建bytetrack容器。
xhost +local: && docker run --gpus all -it --name bytetrack -v $PWD/pretrained:/workspace/ByteTrack/pretrained -v $PWD/datasets:/workspace/ByteTrack/datasets -v $PWD/YOLOX_outputs:/workspace/ByteTrack/YOLOX_outputs -v /tmp/.X11-unix/:/tmp/.X11-unix:rw --device /dev/video0:/dev/video0:mwr --net=host -e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR -e DISPLAY=$DISPLAY --privileged bytetrack:latest
5. Demo运行
执行完上述步骤(4)后会自动进入docker的工作目录下,然后执行以下命令运行demo:
sudo python3 tools/demo_track.py video -f exps/example/mot/yolox_s_mix_det.py -c pretrained/bytetrack_s_mot17.pth.tar --path videos/palace.mp4 --fuse --save_result
推理过程中会出现如下的日志,推理生成的跟踪结果自动存入YOLOX_outputs目录。
如果需要更改测试视频,可以将视频文件放入docker环境下的videos。由于容器bytetrack创建时没有为videos目录做映射,因此可以通过pretained目录中转。而输出目录YOLOX_outputs已经做了映射,不需要中转,可以直接在宿主机中播放。另外,每一次运行demo,都会在YOLOX_outputs/yolox_s_mix_det/track_vis目录中创建一个新的目录,用于保存分析后的结果视频。



