BoxMOT 多目标跟踪:9 种算法一条命令切换
BoxMOT 多目标跟踪9 种算法一条命令切换【免费下载链接】boxmotBoxMOT: Pluggable Python and C SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes项目地址: https://gitcode.com/GitHub_Trending/bo/boxmot做过视频分析的同学应该都有同感检测模型只回答这一帧有谁而业务要的是第 3 号人走到哪了。中间缺的那步就是多目标跟踪——给每个目标发一个稳定 ID跨帧不串号。自己实现要同时碰卡尔曼滤波用数学模型预测目标下一帧位置、关联策略、外观特征调参的坑不在少数。BoxMOT 是一个开源跟踪工具包把 ByteTrack、StrongSORT、BoT-SORT、OCSORT 等 9 种多目标跟踪算法装进同一个接口换算法只需改一个--tracker参数。检测器、ReID 模型靠外观特征认出这是同一个目标的编码器、跟踪器三者都可以自由组合。它同时提供 Python 和 C 两套实现兼容轴对齐框和有向边界框OBB带旋转角度的框能框住斜着停的车。 不同场景换不同的跟踪器不用逐个背算法论文先按场景对号入座要速度、场景不复杂从bytetrack起步。它只靠运动信息做关联是最轻的基线MOT17 上 MOTA衡量跟踪准确率的常用指标也有 78.04。人群密集、遮挡多、ID 老跳号换带外观信息的跟踪器botsort、strongsort、deepocsort、hybridsort、boosttrack、occluboost都属于这一类。MOT17 消融集上occluboost的 MOTA 是 78.50botsort78.23比纯运动基线更稳。目标是斜的航拍、自动驾驶里的车加--geometry obb走有向边界框路径hybridsort在 MMOT OBB 测试上 HOTA同时看定位与 ID 稳定性的指标54.64是该场景里表现最均衡的一个。要编进 C 服务、压帧率加--tracker-backend cppByteTrack、BotSort、OcSort、OccluBoost、SFSORT 都有生产可用的 C 实现指标与 Python 路径基本一致。 三步跑通第一条跟踪流水线第一步装包BoxMOT 支持 Python 3.10 到 3.13装完直接看--helppip install boxmot boxmot track --source 0 --detector yolo26n --reid lmbn_n_duke \ --tracker occluboost --save --show第二条命令就是一条完整的 YOLO 目标跟踪流水线--source 0调起 0 号摄像头--detector挂 YOLO 检测器每帧输出目标框和置信度的模型--reid挂外观编码器--save --show落盘视频并弹窗预览。跑完会打印耗时报告检测、关联、渲染各占多少一目了然。想量化对比就换评测命令例如boxmot eval --dataset mot17 --split ablation --detector yolox-x-mot17 --reid lmbn-n-duke --tracker botsort输出 HOTA、MOTA、IDF1 三项标准指标横向比算法就有据可依。把跟踪器嵌进自己的项目CLI 之外Python API 只有几行。手里已有 NumPy 检测框格式为x1, y1, x2, y2, 置信度, 类别的话from boxmot import OccluBoost tracker OccluBoost() tracks tracker.update(dets, frame) # frame 为 BGR 图像 print(tracks[:, 4].astype(int)) # 每个目标的跟踪 ID需要 OBB 就把构造改成OccluBoost(is_obbTrue)检测框格式相应换成cx, cy, w, h, 角度, 置信度, 类别。想把检测器也接进来时用create_tracker创建跟踪器、交给TrackingPipeline组合每帧step一次即可。 谁该用它怎么选适合上手的人有三类要横向对比多种多目标跟踪算法效果的研究同学做安防、体育、自动驾驶原型想跳过先写关联再调参阶段的应用开发以及要把跟踪逻辑编进 C 服务、嫌 Python 启动慢的部署同学。反过来如果只做单帧检测、根本不需要 ID就不必引入它。我的建议路径先bytetrack打底看基线ID 跳号再换外观系算法选型确认后跑一次eval用 MOT17 的数字背书最后才谈调参。各算法的可调参数范围都标在boxmot/configs/trackers/的 YAML 里调好参数后用--tracker-config加载即可。现在就可以挑一段自己的视频把bytetrack和occluboost各跑一遍对比一下 MOTA 的差距。【免费下载链接】boxmotBoxMOT: Pluggable Python and C SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes项目地址: https://gitcode.com/GitHub_Trending/bo/boxmot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考