Skip to main content

10.3.1 目标检测路线图:类别加框

目标检测在分类上增加位置:图里有什么对象,它在哪里?

先看框工作流

目标检测章节学习流程图

目标检测输出图

检测输出 IoU 错误图

重要概念是 bounding box、class、confidence、IoU、threshold、false positive、false negative 和 mAP。

跑一个 IoU 检查

IoU 衡量预测框和真实框重叠多少。

truth = (10, 10, 50, 50)
pred = (20, 20, 60, 60)

def area(box):
x1, y1, x2, y2 = box
return max(0, x2 - x1) * max(0, y2 - y1)

ix1 = max(truth[0], pred[0])
iy1 = max(truth[1], pred[1])
ix2 = min(truth[2], pred[2])
iy2 = min(truth[3], pred[3])
intersection = area((ix1, iy1, ix2, iy2))
union = area(truth) + area(pred) - intersection

print("iou:", round(intersection / union, 3))

预期输出:

iou: 0.391

检测调试从打印框和指标开始。不要凭一张漂亮截图判断检测质量。

按这个顺序学

步骤阅读实操产出
1检测概览解释 box、class、confidence、IoU、mAP
2经典检测器比较 two-stage 和 one-stage 思路
3YOLO理解网格预测、阈值、NMS 和速度取舍
4检测实战记录误报、漏检和阈值变化

通过标准

如果你能用框、confidence、IoU 和至少一个误报或漏检案例解释检测结果,就通过了本章。