BoxMOT MOT17 评估:一条命令出 HOTA 完整结果
【免费下载链接】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 里跑boxmot eval选中 MOT17 ablation 切片,它会按需自动下载数据、准备检测与 ReID 输入,最后直接给你一份 HOTA、MOTA、IDF1 报告——你不用自己拼数据目录,也不用单独装 TrackEval。
它到底解决什么问题
BoxMOT 是一个「检测 + 可插拔跟踪器」的工具箱,跟踪器(ByteTrack、BoT-SORT 等十几种)可以单独拎出来用,也可以整条流水线串起来。eval这条命令做的事是:把感知结果固定成一次不可变的 build,然后让跟踪器回放打分。适合你在论文复现、算法对比前快速拿到基准分数;不适合没有标注的直播流场景(那种情况用track,不打分也不出指标)。
5 分钟跑通 MOT17 最小评估
先装好项目(需要 Python 3.10–3.13),然后一条命令走完:
pip install "boxmot[yolo]" boxmot eval --dataset mot17 --split ablation \ --detector yolox-x-mot17 --reid lmbn-n-duke --tracker botsort数据不用手动下载:mot17.yaml里声明了各切片的 HF 资源地址,缺哪个切片就自动拉哪个,默认落到./datasets/mot下。
| 参数 | 它控制什么 |
|---|---|
--dataset mot17 | 选定 MOT17 数据集,对应 boxmot/configs/datasets/mot17.yaml |
--split ablation | 评估哪个切片;ablation 是官方消融实验常用的子集,规模比全量 train 小 |
--detector | 感知阶段用哪个检测模型出框,首次会现场推理并缓存 |
--reid | 外观特征编码器;ByteTrack 这类纯运动跟踪器不需要它,BoT-SORT 需要 |
--tracker | 回放时用的跟踪算法,同一 build 换它就能横向对比 |
参数组合和--experiment二选一写法见 docs/modes/eval.md。
输出怎么读
评估结束在终端面板里直接出数,同时写到运行目录的metrics.json/csv:
| 指标 | 一句话含义 | 往哪个方向看更好 |
|---|---|---|
| HOTA | 定位准不准、ID 换不换号,揉在一起的总账 | 越高越好,0–1 |
| MOTA | 误检 + 漏检 + 换 ID 折成的一个准确率 | 越高越好 |
| IDF1 | 跟踪轨迹里身份保得住的比例,像 F1 但只看 ID | 越高越好 |
经验上 MOTA 高而 IDF1 低,多半是 ID 频繁断线;HOTA 对两者都敏感,拿它当总分最稳。
这些坑先知道
--dataset和--experiment只能二选一,直接拼组件参数时别再加--experiment,否则报错。- ablation 切片首次运行会自动从 Hugging Face 下载,断网环境会卡住,建议先确认能访问;已有数据则直接复用不再下载。
- 同一 build 换 ReID 模型不用重跑检测,但换检测器、换切片、换几何类型都会产生新 build,磁盘占用别忽略。
- 文档里的实测提醒:加了 EdgeTAM 掩码引导后短序列上 HOTA 反而略降(61.36 → 60.21),这类增强必须在你自己的工作集上验证,具体数值以官方文档为准。
一条命令打通「下载数据 → 检测 → 跟踪回放 → 出分」的 MOT17 评估闭环。想换序列数、加 Kalman 校准或对比 TrackEval,继续看 docs/modes/eval.md。
【免费下载链接】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),仅供参考