YOLO 预测结果检查
580 字
3 分钟
YOLO 预测结果检查
YOLO 预测结果检查
YOLO 预测命令跑完并不代表模型可用。真正需要看的是输出图片、检测框、类别、置信度和失败案例。
我会把预测结果当成一次数据审查:哪些图检测得好,哪些图漏检,哪些图误检。
保存预测结果
yolo detect predict model=runs/detect/train/weights/best.pt source=images/val save=True save_txt=True save_conf=Truesave_txt 会保存预测框文本,save_conf 会把置信度也写进去,方便后续统计。
看输出目录
预测结果通常保存在 runs/detect/predict 或带编号的目录中。先打开可视化图片,不要只看终端输出。
统计预测数量
from pathlib import Path
label_dir = Path("runs/detect/predict/labels")counts = [len(p.read_text().splitlines()) for p in label_dir.glob("*.txt")]print("images", len(counts))print("avg boxes", sum(counts) / max(len(counts), 1))错误案例分类
-
漏检:目标存在但没有框。
-
误检:背景被框成目标。
-
类别错:框位置对,但类别错。
-
框不准:框偏大、偏小或偏移。
实战复盘
复用《YOLO 预测结果检查》时,我会先用三到五张图片跑通流程,再扩大到完整数据集。小样本阶段要故意覆盖正常图、边界图和可能失败的图,而不是只选最干净的样本。
OpenCV 和 YOLO 相关步骤都要特别关注坐标和尺寸。图片数组常用高宽顺序,检测框常用 x/y 顺序,YOLO 又使用归一化中心点坐标,混用后不会总是报错,但结果一定会偏。
后续如果要写成更完整教程,可以补充输入目录结构、输出目录结构和一张可视化样例,让读者能直接对照自己的项目。
最小验收样例
验收《YOLO 预测结果检查》时,我会固定三张图片:一张正常样例、一张边界样例、一张容易失败的样例。每次改代码都用这三张图跑一遍,并保存输出结果。
视觉流程的验收必须能用眼睛确认。只打印数组 shape 或命令成功不够,至少要保存一张中间结果图或最终可视化图,确认处理效果和预期一致。
小结
预测结果检查要从可视化开始,再进入统计。只看 mAP 或终端日志,容易忽略实际使用中的错误类型。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













