Part 1 目标检测基本概念
约 833 字大约 3 分钟
2025-08-05
我们之前运行的模型都是分类任务,即我们输入一张图片,模型输出这张图片属于何种类别。
然而我们不仅想知道类别,还想知道它们在图片中的具体位置。这类任务称为目标检测。
1 边界框
在目标检测中,我们使用边界框(Bounding Box)描述对象的空间位置。边界框是一个四边平行于图片边界的矩形,通常由左上和右下角的坐标来决定。在某些场合中,边界框也可以使用边界中心坐标和边界框的宽高表示。
2 锚框
目标检测算法通常会在输入图像中采样大量区域,然后判断这些区域中是否包含我们想要的目标,并调整区域边界从而更准确地预测目标的真实边界框。
这些区域称为锚框,是预定义的一组矩形框,具有不同的尺度和长宽比,网络在每个特征图位置上基于这些框进行预测,从而统一检测结构、提高训练效率。
3 交并比
交并比用来衡量锚框和真实边界框的相似度。
J(A,B)=∣A∪B∣∣A∩B∣
交并比的取值范围在 0 和 1 之间,0 表示两个边界框无重合像素,1 表示两个边界框完全重合。
4 非极大值抑制 NMS
在预测时我们会为图像生成许多锚框,其中可能有一些具有明显重叠的预测锚框都围绕着同一目标。为了简化输出,我们使用非极大值抑制(Non-maximum Suppression,NMS)合并这些锚框。
对于一个预测边界框B,目标检测模型会计算每个类别的预测概率。假设最大的预测概率为p,则该概率所对应的类别B即为预测的类别。具体来说,我们将p称为预测边界框B的置信度。
在同一张图像中,所有预测的非背景边界框都按置信度降序排序,以生成列表L。然后我们通过以下步骤操作排序列表L。
从L中选取置信度最高的预测边界框B1作为基准,然后将所有与B1的IoU超过预定阈值ϵ的非基准预测边界框从L中移除。这时,L保留了置信度最高的预测边界框,去除了与其太过相似的其他预测边界框。简而言之,那些具有非极大值置信度的边界框被抑制了。
从L中选取置信度第二高的预测边界框B2作为又一个基准,然后将所有与B2的IoU大于ϵ的非基准预测边界框从L中移除。
重复上述过程,直到L中的所有预测边界框都曾被用作基准。此时,L中任意一对预测边界框的IoU都小于阈值ϵ;因此,没有一对边界框过于相似。
输出列表L中的所有预测边界框。