Yolov8的多目标跟踪实现
Yolov8_tracking
2023年2月,Yolov5发展到yolov8,这世界变得真快哦。Yolov8由ultralytics公司发布,yolov6-美团,yolov7-Alexey Bochkovskiy和Chien-Yao Wang,其各有高招,对yolov5均有提升。mikel-brostrom在github上不断更新多目标跟踪方法,deepsort升级到StrongSort,检测用yolov8,tracker除了StrongSort外,还有 ocsort和bytetrack,眼花缭乱。
来体验一下mikel-brostrom提供的yolov8_tracking。
克隆yolov8_tracking
git clone --recurse-submodules https://github.com/mikel-brostrom/yolov8_tracking.git
安装
cd yolov8_tracking
pip install -r requirements.txt
安装python和pytorch时要解决各包间的版本依赖关系,这往往要花费时间,因为不同的硬件平台,linux版本,python版本,python调试工具各不相同。
下载yolov8和REID权重
yolov8在这里可找到
https://github.com/ultralytics/ultralytics/blob/main/README.zh-CN.md
下载,将yolov8n.pt和yolov8s.pt放到目录 yolov8_tracking/yolov8/weights。Reid特征识别用osnet,在安装目录yolov8_tracking/trackers/strongsort/deep/checkpoint下已有如下REID权重:
osnet_x0_25_market1501.pth
osnet_x0_25_msmt17.pth
osnet_x1_0_msmt17.pth
yolov8_tracking只支持后缀为pt的REID权重文件,这里选择osnet_x0_25_market1501.pth,修改后缀为pt。
命令行
track.py --yolo-weight yolov8/yolov8n.pt \--tracking-method strongsort \--source MOT16-13-raw.mp4 \--img 640 \--reid-weights trackers/strongsort/deep/checkpoint/osnet_x0_25_market1501.pt \--classes 0 2 \
试验过程没有遇到问题。本人用lenovo thinkpad E560,没有nvidia显卡支持,只能用device=cpu方式运行跟踪推理过程,运行速度比较慢,实际运行结果如下:
Yolov8n, osnet_x0_25_market1501, 640x384视频,每帧处理时间0.2s
Yolov8s, osnet_x0_25_market1501, 1280x736视频, 每帧处理时间1.2s
Yolov8n, osnet_x0_25_market1501, 1280x736视频,每帧处理时间0.5s
运行效果,明显比以前的deepsort好,即使用yolov8n,也比deepsort yolov5m强,说明strongsort比deepsort,yolov8比yolov5都有效果的提升。