资讯动态

10分钟跑通多目标追踪:BoxMOT 插件化方案实战入门

发布时间:2026/9/20 6:14:59 来源:尧图企业网站定制
10分钟跑通多目标追踪BoxMOT 插件化方案实战入门【免费下载链接】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换追踪器要重搭检测流程检测结果被反复跑是多目标追踪项目里最常见的两类返工。BoxMOT 是一个插件式多目标追踪框架检测器、ReID 外观编码器和追踪器是三个独立组件--tracker换一个参数就能切算法检测结果和外观嵌入只缓存一次供多个追踪器回放评估不必重复跑检测。五分钟跑起来安装与第一次追踪BoxMOT 支持 Python 3.10 到 3.13。装完先确认 CLI 可用pip install boxmot boxmot --help然后跑一次摄像头追踪。--detector、--reid、--tracker都是可替换的组件选择项boxmot track --detector yolo26n --reid lmbn_n_duke --tracker occluboost \ --source 0 --save --show--source 0是网络摄像头换成视频文件路径或图片目录同样有效。运行中会弹出标注好的追踪预览加--save会把结果写成 MP4退出时终端会打印一份汇总报告含各阶段耗时和 FPS。不想用 CLI 的话Python API 也能直接给追踪器喂 NumPy 检测矩阵import numpy as np from boxmot import OccluBoost tracker OccluBoost() dets np.array([[100, 200, 300, 400, 0.9, 0]]) frame np.zeros((480, 640, 3), dtypenp.uint8) # BGR tracks tracker.update(dets, frame)多目标追踪框架选型追踪器对比一张表BoxMOT 内置 11 种追踪器每个算法一个独立目录和一份 YAML 配置。下表数据取自 MOT17 消融集的官方基准身份保持列以 IDF1 为依据追踪器速度取向身份保持IDF1适用场景ByteTrack最快纯运动模型79.16实时基线快速对比的对照组OcSort快轻量77.90低延迟、资源受限部署BotSort中可选外观CMC82.33常规行人追踪默认稳妥项StrongSort偏慢ECC外观为必需输入80.76重度遮挡必须用外观的场景OccluBoost中可选外观85.28精度优先遮挡恢复要求高口诀要快选 ByteTrack要稳选 BotSort遮挡狠选 StrongSort机器紧选 OcSort。各算法的完整说明在 docs/trackers/逐个算法的参数在 boxmot/configs/trackers/。MOT评估流程三步走缓存→评估→调参研究追踪器最贵的不是追踪本身而是反复跑检测。BoxMOT 的解法是物化一次回放多次对应三个命令。第一步materialize生成一份不可变的感知缓存包含检测结果、ReID 嵌入和帧引用boxmot materialize --experiment mot17/ablation-yolox-lmbn.yaml \ --data-root datasets/mot --build-root runs/materializations第二步eval在标准数据集上回放缓存并打分。同一实验的 eval 和 tune 解析的是同一个 build检测推理只在准备阶段发生一次回放阶段不再跑检测boxmot eval --experiment mot17/ablation-yolox-lmbn.yaml \ --tracker botsort --show --save序列默认按 CPU 数并行回放min(序列数, 逻辑核数-2)个 worker。换--tracker bytetrack再跑一次就是同一批检测下的第二组成绩零重复检测。第三步tune做参数搜索。它复用同一个 build每个 trial 只回放缓存不重新跑检测、分割或 ReID需要先用boxmot install --extra evolve装好 Ray 依赖boxmot tune --experiment mot17/ablation-yolox-lmbn.yaml \ --tracker botsort --n-trials 200结束时输出best.yaml记录最优参数。注意调参指标来自拟合 split正式结论要在留出序列上用eval --tracker-config path/to/best.yaml验证。基准表现数据说话README 基准表的 MOT17 消融集成绩Python 实现括号内为 C 后端追踪器HOTAMOTAIDF1C 后端OccluBoost71.1078.5085.28支持BotSort69.68 (69.74)78.23 (78.27)82.33 (82.55)支持BoostTrack69.2575.9183.20—StrongSort68.0576.1980.76—ByteTrack67.6878.0479.16支持怎么读这张表IDF1 看身份跳不跳MOTA 受误检影响更直接HOTA 综合定位与身份对外汇报优先看它。场景里遮挡多、身份切换频繁就重点看 IDF1实时部署则先看 FPS 和 MOTA再确认精度可接受。高频问题与解法ReID 模型从哪来--reid接受内置 profile ID如lmbn-n-duke、osnet-x0_25_msmt17或本地权重路径。内置 profile 定义在 boxmot/configs/reid/训练出的.pt文件也可以直接传路径。如何按类别过滤追踪目标加--classes按检测类别索引过滤--classes 0只追索引 0 的类别--classes 0,1追两个类别其余检测在进入追踪器前被丢弃。支持哪些模型导出格式boxmot export支持 ONNX、TorchScript、OpenVINO、TensorRT、Core ML 和 TFLiteboxmot export --weights osnet_x0_25_msmt17.pt --include onnx --device cpuTensorRT 和 OpenVINO 以 ONNX 为中间格式只请求engine或openvino时会先自动准备.onnxTensorRT 需要 CUDA 设备。C 后端怎么启用、支持哪些追踪器加--tracker-backend cpp即可。目前 ByteTrack、BotSort、OcSort、OccluBoost 和 SFSORT 有 C 实现指标与 Python 版对等速度更快不支持掩码、3D 传感器输入和变步长时序选型前确认组合受支持。调参次数怎么设--n-trials指定 trial 数文档示例是 200。先用 9 左右快速验证流程和搜索空间再放大到上百次正式跑中断后可用--resume-tune 目录从断点继续不浪费已完成的 trial。场景速览安防监控多路行人轨迹与身份保持偏好 BotSort/StrongSort 这类外观方案自动驾驶支持 OBB 有向框--geometry obb和多模态传感融合EagerMOT体育分析运动员快速运动追踪可结合 SportsMOT 数据集评估零售统计进店人流计数--classes过滤到行人即可资源都在仓库里docs/ 是完整文档examples/ 含检测、分割、姿态的笔记本示例boxmot/configs/trackers/ 是每个追踪器的调参范围与默认值docs/modes/ 按命令组织工作流。一行pip install boxmot装完上面那条 track 命令就能跑。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价