【发布时间】:2019-05-17 12:16:22
【问题描述】:
我最近一直在研究 RetinaNet。我阅读了原始论文和一些相关论文,并写了一篇分享我所学到的帖子:http://blog.zenggyu.com/en/post/2018-12-05/retinanet-explained-and-demystified/。但是,我仍然有一些困惑,我也在帖子中指出了这一点。哪位大神可以赐教一下?
困惑#1
如论文所述,如果锚框与任何 ground-truth 的 IoU 低于 0.4,则将锚框分配给背景。在这种情况下,对应的分类目标标签应该是什么(假设有K个类)?
我知道 SSD 有一个背景类(总共有 K+1 个类),而 YOLO 预测一个置信度分数,表明除了K 类概率。虽然我在论文中没有发现任何表明 RetinaNet 包含背景类的陈述,但我确实看到了这样的陈述:“......,我们只解码来自......的框预测,在阈值检测器置信度为 0.05 之后”,这似乎表示存在置信度分数的预测。但是,这个分数是从哪里来的(因为分类子网只输出了K个数字,表示K个类的概率)?
如果 RetinaNet 定义的目标标签与 SSD 或 YOLO 不同,我会假设目标是一个长度为 K 的向量,其中所有 0 条目且没有 1。但是,在这种情况下,如果是假阴性,focal loss(见下面的定义)将如何惩罚anchor?
在哪里
困惑#2
与许多其他检测器不同,RetinaNet 使用与类别无关的边界框回归器,分类子网最后一层的激活是 sigmoid 激活。这是否意味着一个anchor box可以同时预测多个不同类别的物体?
困惑#3
让我们将这些匹配的anchor box和ground-truth box表示为${(A^i, G^i)}_{i=1,...N}$,其中$A$代表anchor, $G$ 代表一个ground-truth,$N$ 是匹配的数量。
对于每个匹配的锚点,回归子网预测四个数字,我们将其表示为 $P^i = (P^i_x, P^i_y, P^i_w, P^i_h)$。前两个数字指定anchor $A^i$ 和ground-truth $G^i$ 的中心之间的偏移量,而后两个数字指定anchor 的宽度/高度与ground-truth 之间的偏移量。相应地,对于这些预测中的每一个,都有一个回归目标$T^i$,计算为anchor和ground-truth之间的偏移量:
以上公式正确吗?
在此先感谢,如有任何其他误解,请随时指出!
更新:
为了将来参考,我在研究 RetinaNet 时遇到了另一个困惑(我发现这段对话很闲散):
【问题讨论】:
标签: deep-learning computer-vision object-detection