IoU 是什么:目标检测评估的核心指标

副标题 / 摘要 IoU(Intersection over Union)衡量两个边界框的重叠程度,是目标检测评估的核心指标。本文用 ACERS 框架拆解公式、计算步骤与工程应用。 预计阅读时长:12~16 分钟 标签:iou、object-detection、bbox SEO 关键词:IoU, 交并比, 目标检测, BBox 元描述:讲清 IoU 的计算方法、阈值含义与工程实践。 目标读者 想快速理解 IoU 公式与计算的入门读者 需要调试检测指标的工程实践者 关注视觉评估标准的开发者 背景 / 动机 目标检测不仅要“找对类别”,还要“框得准确”。 IoU 是衡量框是否准确的标准指标,直接影响 AP、mAP 等评估结果。 理解 IoU 的定义与阈值意义,是检测工程的基本功。 核心概念 BBox(边界框):用 (x1, y1, x2, y2) 表示左上与右下坐标。 交集面积:两个框重叠部分的面积。 并集面积:两个框面积之和减去交集。 A — Algorithm(题目与算法) 用通俗语言说明主题内容 IoU 就是“重叠面积 / 总面积”。 重叠越大,IoU 越接近 1;完全不相交则为 0。 基础示例(1) 框 A:[(0,0),(2,2)] 框 B:[(1,1),(3,3)] 交集面积 = 1,A 面积 = 4,B 面积 = 4 → IoU = 1 / (4 + 4 - 1) = 1/7。 基础示例(2) IoU ≥ 0.5 → 常视为检测正确(TP)。 IoU ≥ 0.75 → 更严格的高质量检测。 实践指南 / 步骤 计算交集框坐标。 得到交集面积。 计算两框面积。 交并比 = 交集 / 并集。 可运行示例(最小 IoU 计算) def iou(box1, box2): x1 = max(box1[0], box2[0]) y1 = max(box1[1], box2[1]) x2 = min(box1[2], box2[2]) y2 = min(box1[3], box2[3]) inter_w = max(0, x2 - x1) inter_h = max(0, y2 - y1) inter = inter_w * inter_h area1 = (box1[2] - box1[0]) * (box1[3] - box1[1]) area2 = (box2[2] - box2[0]) * (box2[3] - box2[1]) union = area1 + area2 - inter return inter / union if union > 0 else 0.0 box_a = (0, 0, 2, 2) box_b = (1, 1, 3, 3) print(iou(box_a, box_b)) 解释与原理 IoU 是一个归一化指标,与尺度无关。 交集为 0 时,IoU 为 0。 在训练时常用 IoU 作为正负样本匹配标准。 C — Concepts(核心思想) 方法类型 IoU 属于几何评估指标,用于衡量两个区域的重叠程度。 ...

2026年1月24日 · 2 分钟 · map[name:Jeanphilo]