什么是边界框(Bounding Box)
边界框(Bounding Box,简称 BBox)是计算机视觉和图像处理领域中,用来描述图像中目标位置和范围的最小矩形框。它通过一组坐标(或尺寸)来限定目标在图像平面上的位置,常用于目标检测、图像标注、姿态估计等任务。
1. 基本概念
- 最小矩形:在二维平面上,边界框是能够完全包围目标的最小矩形。
- 坐标表示:常见的表示方式有两种
- 左上角 + 右下角:
(x_min, y_min, x_max, y_max)
- 左上角 + 宽高:
(x_min, y_min, width, height)
- 左上角 + 右下角:
- 坐标系:在图像坐标系中,
x
轴向右递增,y
轴向下递增(左上角为原点)。
2. 常见类型
类型 | 说明 | 适用场景 |
---|---|---|
轴对齐边界框(Axis‑Aligned Bounding Box, AABB) | 矩形的四条边平行于图像坐标轴,只用左上/右下坐标或左上+宽高即可描述。 | 大多数目标检测模型(如 YOLO、SSD、Faster R‑CNN)默认使用。 |
旋转边界框(Rotated Bounding Box) | 矩形可以任意旋转,通常用中心点坐标、宽高和旋转角度 (cx, cy, w, h, θ) 表示。 |
检测倾斜或长条形目标(如航拍图中的建筑、文字检测)。 |
三维边界框(3D Bounding Box) | 在三维空间中用六个面限定目标,常用 (x, y, z, w, h, d, yaw) 表示。 |
自动驾驶、机器人导航等需要空间定位的场景。 |
3. 关键应用
- 目标检测
- 图像标注
- 人工或半自动标注工具(如 LabelImg、CVAT)使用边界框让标注者快速框选目标,生成训练数据。
- 评估指标
- 交并比(IoU, Intersection over Union):衡量预测框与真实框的重叠程度,IoU = (预测框 ∩ 真实框) / (预测框 ∪ 真实框)。
- 常用阈值(如 0.5、0.75)决定检测是否算作正确。
- 后续任务
- 目标跟踪:在视频序列中,利用边界框的连续位置估计目标运动轨迹。
- 姿态估计、分割:边界框提供粗略定位,后续细化为关键点或像素级分割。
4. 优点与局限
优点 | 局限 |
---|---|
表示简洁,计算成本低 | 只能近似目标形状,尤其对非矩形目标(如圆形、复杂轮廓)误差大 |
与主流检测框架兼容性好 | 对倾斜或旋转目标的捕捉能力有限(需使用旋转框) |
易于在图像坐标系中进行几何运算(平移、缩放) | 在三维场景中仅用二维框会丢失深度信息,需要 3D BBox |
5. 实际使用示例(伪代码)
# 假设检测模型返回的边界框列表
boxes = [
(50, 30, 200, 180), # (x_min, y_min, x_max, y_max)
(300, 120, 400, 250)
]
# 计算 IoU 示例
def iou(boxA, boxB):
xA = max(boxA[0], boxB[0])
yA = max(boxA[1], boxB[1])
xB = min(boxA[2], boxB[2])
yB = min(boxA[3], boxB[3])
interArea = max(0, xB - xA) * max(0, yB - yA)
boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])
return interArea / float(boxAArea + boxBArea - interArea)
# 示例:计算第一个预测框与真实框的 IoU
gt_box = (55, 35, 195, 175)
print(iou(boxes[0], gt_box))
6. 小结
- 边界框是描述图像中目标位置的最小矩形,广泛用于目标检测、标注、跟踪等任务。
- 根据需求可选用轴对齐、旋转或三维形式。
- 通过 IoU 等指标评估检测质量,同时也要注意其对复杂形状的局限性。
了解并熟练使用边界框,是开展计算机视觉项目的基础步骤。希望以上内容能帮助你对该概念有一个全面而清晰的认识。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!