news 2026/9/20 20:19:11

BoxMOT:给检测模型配上 ID 稳定的多目标追踪,10 分钟跑通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BoxMOT:给检测模型配上 ID 稳定的多目标追踪,10 分钟跑通

BoxMOT:给检测模型配上 ID 稳定的多目标追踪,10 分钟跑通

【免费下载链接】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 把主流 SOTA 追踪器做成可插拔模块,你只管喂检测框,它负责把每个目标的 ID 稳住。

🚀 快速上手:3 步跑通

第一步,装包。它要求 Python 3.10 到 3.13,一行命令即可:

pip install boxmot

跑完boxmot --help就能看到全部子命令,确认装好了。

第二步,用一条命令起追踪。下面这条直接对着默认摄像头(--source 0)跑,occluboost是带外观的追踪器,所以额外指定了--reid

boxmot track --detector yolo26n --reid lmbn_n_duke --tracker occluboost --source 0 --save --show

第三步,看结果。--show会弹出带 ID 框的实时窗口,--save把每段序列存成 MP4,正常结束(或按q、Ctrl-C)后还会打印一份分阶段耗时和 FPS 的收尾报告。

上面这类画面里的行人,就是追踪要在帧与帧之间稳住身份的对象。

🗺️ 能力地图:它到底能做什么

接你自己的检测模型:当你的检测器不是 YOLO 时

任何能输出框的模型都能接。仓库里的 examples/det/ 给了 torchvision 的 FasterRCNN、RT-DETR、YOLOX 等现成 notebook,Python 侧用create_trackerTrackingPipeline把检测器和追踪器拼起来,不锁定某个具体检测框架。

按场景挑追踪器:运动就够,还是要认脸

追踪器分两档。纯运动的bytetrackocsortsfsort只吃框、不依赖 ReID;需要认脸的botsortstrongsortdeepocsortoccluboost才会加载外观特征。想省算力就选运动档,想抗遮挡、保身份一致就加--reid切到外观档。

检测只跑一次:评估、调参、导出共用缓存

materialize先把检测、嵌入缓存成不可变的 Parquet 构建,之后evaltuneresearch都直接回放这份缓存,不再重复过检测器。想离线评测或调超参时,这一步能帮你省掉大量重复推理。

📋 参数与用法速查

下面这张表只收录高频参数,覆盖trackevalexport最常用的几个开关。

参数作用示例值
--source追踪输入0(摄像头)/vid.mp4/ 图片目录
--detector选检测模型yolov8n/yolo11n/yolox
--reid外观编码模型osnet_x0_25_msmt17/lmbn_n_duke
--tracker选追踪算法botsort/deepocsort/bytetrack
--tracker-backend选实现后端python/cpp
--geometry框几何类型aabb/obb
--classes只追指定类别"15,16"
--show/--save预览 / 存视频直接加标志

具体取值和可选模型清单,建议以boxmot track --help的实时输出为准。

🎬 实战:换一个场景试试

假设你要做街道监控,只盯猫和狗(COCO 索引 15、16),还想要更快的推理速度。这时候把外观档换回纯运动的bytetrack,并用--classes过滤类别:

# 场景:只追猫/狗,换更快的纯运动追踪器,存成视频 boxmot track \ --source street.mp4 \ --detector yolo11n \ --tracker bytetrack \ --classes "15,16" \ --device 0 \ --save

跑完你会在输出目录拿到一条标注视频。如果之后要把外观模型单独部署出去,再用export把 ReID 权重转成目标格式,它会自动把中间需要的.onnx一并处理:

# 把 ReID 权重导出成 ONNX 部署 boxmot export --weights osnet_x0_25_msmt17.pt --include onnx --device cpu

这里只改了两个地方——--trackeroccluboost换成bytetrack、加上--classes过滤;把--tracker-backend cpp--geometry obb换上去,就能切到原生 C++ 或旋转框方案。

⚠️ 常见坑 & 选型建议

  • 别给纯运动追踪器白挂 ReIDstrongsort一定用外观+ECC 且需要像素,而bytetrackocsort只吃框。运动档不需要--reid,硬给只会多加载一份模型拖慢速度。
  • 检测框几何和--tracker必须对齐:OBB 检测输出要用--geometry obb,但maf_hdaeagermot只吃 AABB。对不上会在启动阶段被校验拒绝。
  • 别在评估/调参里反复跑检测:先materialize一次缓存检测与嵌入,evaltune再回放;追求低延迟可加--tracker-backend cpp,但原生后端不支持 mask、3D 和变时模式,选型前先看 docs/trackers/index.md 的输入支持矩阵。

📚 延伸资源

  • 官方文档:docs/,各模式参数在boxmot MODE --help里最权威
  • 检测器接法 notebook:examples/det/torchvision_boxmot.ipynb
  • 贡献与工程约定:CONTRIBUTING.md

--source换成你自己的视频,跑通第一条命令,追踪这条线就算真正接上了。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 20:18:41

iOS应用签名机制解析:从原理到正规测试流程的合规指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 20:18:08

D85163低功耗RTC:硬件温补+I²C优化的电池级时序方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 20:09:26

STM32F103C8T6驱动AS608指纹模块实战:从硬件选型到识别优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 20:07:05

Buzz 实战指南:免费离线转录,把本地语音转成文字和字幕

Buzz 实战指南:免费离线转录,把本地语音转成文字和字幕 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz …

作者头像 李华
网站建设 2026/9/20 20:06:42

Simulink AD/DA转换器仿真:采样量化与串并转换链路实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华