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是带外观的追踪器所以额外指定了--reidboxmot 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 等现成 notebookPython 侧用create_tracker加TrackingPipeline把检测器和追踪器拼起来不锁定某个具体检测框架。按场景挑追踪器运动就够还是要认脸追踪器分两档。纯运动的bytetrack、ocsort、sfsort只吃框、不依赖 ReID需要认脸的botsort、strongsort、deepocsort、occluboost才会加载外观特征。想省算力就选运动档想抗遮挡、保身份一致就加--reid切到外观档。检测只跑一次评估、调参、导出共用缓存materialize先把检测、嵌入缓存成不可变的 Parquet 构建之后eval、tune、research都直接回放这份缓存不再重复过检测器。想离线评测或调超参时这一步能帮你省掉大量重复推理。 参数与用法速查下面这张表只收录高频参数覆盖track、eval、export最常用的几个开关。参数作用示例值--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这里只改了两个地方——--tracker从occluboost换成bytetrack、加上--classes过滤把--tracker-backend cpp或--geometry obb换上去就能切到原生 C 或旋转框方案。⚠️ 常见坑 选型建议别给纯运动追踪器白挂 ReIDstrongsort一定用外观ECC 且需要像素而bytetrack、ocsort只吃框。运动档不需要--reid硬给只会多加载一份模型拖慢速度。检测框几何和--tracker必须对齐OBB 检测输出要用--geometry obb但maf_hda、eagermot只吃 AABB。对不上会在启动阶段被校验拒绝。别在评估/调参里反复跑检测先materialize一次缓存检测与嵌入eval、tune再回放追求低延迟可加--tracker-backend cpp但原生后端不支持 mask、3D 和变时模式选型前先看 docs/trackers/index.md 的输入支持矩阵。 延伸资源官方文档docs/各模式参数在boxmot MODE --help里最权威检测器接法 notebookexamples/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),仅供参考