提交 e66d422e 编写于 作者: A Aston Zhang

till train in anchor

上级 c29707a6
# 锚框
目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边缘从而更准确预测目标的真实边界框。不同的模型所使用的区域采样方法可能不同。这里我们介绍其中的一种方法:它以每个像素为中心生成数个大小和宽高比(aspect ratio)不同的边界框。这些边界框被称为锚框(anchor box)。我们将在后面的小节中基于锚框实践目标检测。
目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边缘从而更准确预测目标的真实边界框(ground-truth bounding box)。不同的模型所使用的区域采样方法可能不同。这里我们介绍其中的一种方法:它以每个像素为中心生成数个大小和宽高比(aspect ratio)不同的边界框。这些边界框被称为锚框(anchor box)。我们将在后面的小节中基于锚框实践目标检测。
首先,导入本小节需要的包或模块。这里我们新引入了`contrib`包,并修改了NumPy的打印精度。由于NDArray的打印实际调用NumPy的打印函数,本节打印出的NDArray中的浮点数更简洁一些。
......@@ -78,13 +78,14 @@ show_bboxes(fig.axes, boxes[250, 250, :, :] * bbox_scale,
's=0.75, r=0.5'])
```
## IoU:交并比
## 交并比
在介绍如何使用锚框参与训练和预测前,我们先介绍如何判断两个边界框的距离。我们知道集合相似度的最常用衡量标准叫做Jaccard距离。给定集合$A$和$B$,它的定义是集合的交集除以集合的并集
我们刚刚提到某个锚框较好地覆盖了图像中的狗。如果该目标的真实边界框已知,这里的“较好”该如何量化呢?一个直观的方法是衡量锚框和真实边界框之间的相似度。我们知道,Jaccard系数(Jaccard index)可以衡量两个集合相似度。给定集合$\mathcal{A}$和$\mathcal{B}$,它们的Jaccard系数即二者交集大小除以二者并集大小
$$J(A,B) = \frac{|A\cap B|}{| A \cup B|}.$$
$$J(\mathcal{A},\mathcal{B}) = \frac{\left|\mathcal{A} \cap \mathcal{B}\right|}{\left| \mathcal{A} \cup \mathcal{B}\right|}.$$
边界框指定了一块像素区域,其可以看成是像素点的集合。因此我们可以定义类似的距离,即我们使用两个边界框的相交面积除以相并面积来衡量它们的相似度。这被称之为交并比(Intersection over Union,简称IoU),如图9.2所示。它的取值范围在0和1之间。0表示边界框不相关,1则表示完全重合。
实际上,我们可以把边界框内的像素区域看成是像素的集合。如此一来,我们可以用两个边界框的像素集合的Jaccard系数衡量这两个边界框的相似度。当衡量两个边界框的相似度时,我们通常将Jaccard系数称为交并比(Intersection over Union,简称IoU),即两个边界框相交面积与相并面积之比,如图9.2所示。交并比的取值范围在0和1之间:0表示两个边界框无重合像素,1表示两个边界框相等。
![交并比。](../img/iou.svg)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册