我正在从Tensorflow / Keras中从头开始实现Vanilla Yolo v2检测器。本文没有详细介绍如何使用这些盒子。我首先尝试将每个对象直接分配给该网格单元中具有最高IoU的预测,并且仅使用先前的框(也称为锚框)来修改预测的宽度和高度,如下所示:
offset_boxes[:, :, :, :, 2:4] = np.exp(t[:, :, :, :, 2:4]) * bbox_priors[:, 2:4]
但是,在查看了一些实现之后,我发现每个对象首先以最相似的框形状映射到边界框(计算类似IoU的度量标准,其中不考虑对象位置,仅考虑宽度和高度)。然后,在每个预测框与该先前框的分配对象之间计算IoU。这是实现包围盒先验的正确方法吗?