
BoxMOT9种SOTA多目标追踪器共用一份检测缓存的MOT工具箱【免费下载链接】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想换个追踪算法却要重新接一遍检测器、ReID 模型和关联逻辑实验时间都耗在胶水代码上。BoxMOT 是一套插件式多目标追踪MOT把检测到的目标跨帧串成同一身份工具箱检测、外观编码、追踪器都是可独立替换的组件检测结果和嵌入appearance embedding目标的视觉特征向量会被缓存成不可变数据集换算法直接重放不重跑检测。项目定位它到底是什么BoxMOT 把检测 → 追踪 → 评估 → 调参这条 MOT 流水线拆成了独立组件检测器、分割器、外观编码器、追踪器各自可单独使用也能通过一条boxmot命令串成完整流水线。它同时支持轴对齐框AABB和带角度的定向框OBB并提供一套 C 追踪器实现与 Python 版本输出一致。能力说明入口或参数实时/离线追踪支持摄像头、视频、图片目录、RTSP 等来源boxmot track --source ...检测缓存构建把检测、嵌入发布成键控 Parquet 数据集可复用boxmot materialize --experiment ...基准评估在 MOT17、SportsMOT、MMOT 等数据集上出 HOTA/MOTAboxmot eval --experiment ...参数调优进化算法自动搜索追踪器参数boxmot tune --experiment ...C 后端ByteTrack、BotSort、OcSort 等 5 种追踪器的原生实现--tracker-backend cpp上手路径从安装到第一次看到结果支持 Python 3.10~3.13安装只需两条命令pip install boxmot boxmot --help跑通第一个追踪 demo 的最短命令boxmot track --source video.mp4 --detector yolov8n --tracker bytetrack --save窗口里出现带编号方框的行人轨迹即代表成功--save会把标注视频写到runs目录结束后终端还会输出一份各环节耗时和 FPS 的报告。进阶安装YOLO 后端、ONNX/OpenVINO 导出、Ray 调优等 extras和可选依赖的完整对照表见 安装指南按需加装即可不装也能跑基础追踪。核心能力它替你省了哪些事换追踪器不用重跑检测原本对比 ByteTrack、BotSort、OcSort 的效果每个都要把检测器重新跑一遍。BoxMOT 的materialize把检测结果和 ReID 嵌入发布成带指纹校验的不可变数据集之后eval和tune指定同一个--build即可在任意追踪器间切换。共享同一数据源、检测器和类别映射的实验还会跳过重复的检测推理只重放追踪部分。参数调优不用手调网格追踪器的卡尔曼噪声、关联阈值等参数靠手调费时。boxmot tune用进化算法在实验配置定义的搜索空间里自动寻优配合--n-trials控制迭代次数评估侧还提供--calibrate-kf从带标注数据直接估计卡尔曼初始噪声省掉盲调过程。Python 和 C 两条路结果一致对延迟敏感的生产环境加--tracker-backend cpp就能切到 C 实现覆盖 botsort、bytetrack、ocsort、occluboost、sfsort无需改动输入输出格式首次选用时会自动编译也可以通过boxmot build预编译或经 CMake 嵌入独立 C 项目详见 Native C 集成文档。只想要追踪器内核也能单独用不依赖整套 CLI 时Python API 可以直接构造追踪器create_tracker(TrackerSpec(namebytetrack))喂入检测结果就返回带 ID 的轨迹也可以只嵌入TrackingPipeline而不接管你的数据源。实战在 MOT17 上做一次追踪器选型准备确定要用的实验配置。BoxMOT 内置了带官方消融检测器的实验 YAML位于 boxmot/configs/experiments/例如mot17/ablation-yolox-lmbn.yaml绑定了 MOT17 消融集、YOLOX 检测器和 LMBN 外观模型。执行boxmot eval --dataset mot17 --split ablation \ --detector yolox-x-mot17 --reid lmbn-n-duke --tracker botsort首次运行会自动物化感知构建可省略--build之后换--tracker再跑就会直接复用同一份构建只重放追踪。看结果终端输出逐序列指标和一个汇总行HOTA、MOTA、IDF1 一目了然。下面这张 MOT17 测试序列的画面就是这类评估的原始输入一个场景里同时出现多个人物与车辆目标正是追踪器需要区分身份的典型压力场景实测数据关键指标一眼看懂官方基准MOT17 消融分割括号内为 C 后端成绩与 Python 一致追踪器HOTA↑MOTA↑IDF1↑occluboost71.1078.5085.28botsort69.6878.2382.33bytetrack67.6878.0479.16ocsort66.4474.5577.90解读IDF1 衡量身份是否稳定HOTA 综合衡量定位与身份两者都要看。occluboost 在这两个维度都领先适合精度优先的场景bytetrack 不用外观特征、只靠运动MOTA 却接近 botsort是速度和资源的折中选择。官方表格还给出 SportsMOT 和 MMOT OBB 两组成绩其中 hybridsort 在 OBB 设定下 HOTA 达 54.64适合定向框需求。新手最常卡住的几个问题必须装 GPU 吗不必须。--device cpu即可运行但检测器推理在 CPU 上明显更慢评估大建议有 CUDA 或 MPS。Python 版本有什么要求3.10~3.13默认走 PyPI 标准 PyTorch 构建。和 ByteTrack、SORT 这类独立库的核心差异是什么单独库通常只给一个算法BoxMOT 把 9 种 Python 追踪器放在同一接口和同一份缓存数据集后面并自带评估、调参闭环算法间的数字直接可比。可以只用其中一部分吗可以。追踪器组件、Python API、track命令彼此独立不装检测器 extras 也能追踪外部检测结果。C 后端需要自己编译吗宿主安装会在首次使用时自动构建需要 C17 编译器、CMake 3.16、OpenCV 4.x、Eigen3Docker 镜像已预编译。谁适合用谁可以先跳过适合做多目标追踪算法研究、需要在同一数据集上横向对比多种追踪器、要给视频/监控/自动驾驶感知加上稳定目标 ID 的团队有 OBB 或 KITTI 多模态评估需求的场景也有现成路径。可以先跳过只需要一个现成追踪器且不想引入整套实验体系的轻量项目直接选 ByteTrack 或 OCSort 原始库更省事对 BoxMOT 的实验构建、指纹校验等机制不敏感时这些结构反而会增加理解成本。相关入口官方文档、示例笔记本、追踪器配置目录。安装完成后先跑一遍boxmot track命令十五分钟内就能看到第一条带 ID 的轨迹。【免费下载链接】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),仅供参考