IoU 交并比 & NMS 非极大值抑制

目标检测里,同一个物体常被多个框重复检测IoU(交并比)量化两个框「框的是不是同一个东西」,NMS(非极大值抑制)据此去重、只留最优框。本演算器全程纯前端实时计算 —— 第 4 章 YOLO 核心考点。

① IoU:拖动两个检测框,看交 / 并 / 交并比

用鼠标或手指拖动下面的框 A、框 B。橙色是交集(∩),两框覆盖的全部区域是并集(∪),IoU = 交 ÷ 并。

框 A(预测/真实框) 框 B 交集 A∩B
交集面积 |A∩B|0
并集面积 |A∪B|0
IoU = 交 / 并0.00
直观档次:约 0.40 勉强沾边 · 0.73 较好 · 0.93 几乎完美。
IoU = |A∩B| / |A∪B|
|A∪B| = area(A) + area(B) − |A∩B|

② NMS:按分数排序,抑制高重叠框

一组带置信度的重叠框,围着 2 个真实目标。调两个阈值,看 NMS 如何一步步保留高分框、剔除重复框。三步循环:①选最高分 → ②剔除与它 IoU 超阈值的框 → ③在剩余框重复

0.50

与保留框重叠 IoU > 阈值 的框会被抑制(视为同一目标的重复框)。阈值越低抑制越狠。

0.30

分数 < 阈值 的框在 NMS 前就被过滤掉(不参与排序)。

保留 被抑制 当前处理 待处理 低于置信阈值
分数vs当前IoU状态

一句话直觉:IoU 回答「两个框像不像在框同一个东西」;NMS 就用它做「留强去重」—— 每次抓住当前分数最高的框,把和它挤在一起(IoU 高)的低分框全清掉。这是几乎所有 YOLO 推理的最后一步(Resize→CNN→NMS)。