本文章仅用于学术分享,如有侵权请联系删除
作者丨Aritra Roy Gosthipaty and Ritwik Raha 来源丨AI公园 编辑丨AiCharm
作者:Aritra Roy Gosthipaty and Ritwik Raha 编译:ronghuaiyang
导读
在本文中,我们会学习到DETR中应用的方法。
这是DETR解析系列的第 2 部分。在之前的文章中,我们了解了哪些因素导致了DETR的诞生,添加了哪些部分,以及到底什么使得DETR 成为当今的超级目标探测器。
DETR 的关键组成部分之一是一种称为“集合预测损失”的东西。今天,我们来仔细说明一下这个“集合预测损失”。
首先,让我们回顾一下 DETR 的模型架构。
我们不会在今天的文章中揭开上述架构的神秘面纱。集合预测损失出现在该架构结束并输出预测的地方。将预测与GT目标相匹配以产生损失。该模型在此基础上迭代并变得越来越好,最终效果与Faster R-CNN等过去的模型持平。
如何实现?继续阅读即可找到答案!
DETR 推断出一组 固定大小 的N个预测。请注意, N 明显大于 图像中目标的典型数量。
训练的主要困难之一是根据真实情况对预测目标进行评分。因此,研究人员提出以下算法。
这里让我们暂停一下来理解什么是二分匹配。
二分匹配是图论中的一个数学概念,经常用于计算机科学和优化问题。它是指在二分图中找到边的子集,使得图中的每个顶点最多与子集中的一条边关联,并且子集的大小最大化的过程。该边缘子集称为最大基数匹配或简称为最大匹配。
二分图是一种特殊类型,其顶点可以分为两个不相交的集合,使得所有边将一个集合中的顶点连接到另一个集合。换句话说,没有边连接同一组内的顶点。
二分匹配是对两个集合中的顶点进行配对的过程,以便每个顶点与另一集合中的至多一个顶点配对,并且配对顶点的总数最大化。
将其视为寻找匹配两个类别中的项目的最佳方式,例如将工人与工作或学生与项目联系起来。一个类别中的每个项目最多与另一类别中的一个项目配对,并且配对的成本是最优的。如下图的演示。
在我们讨论如何将上述二分匹配的概念应用于GT和预测目标之前,让我们首先熟悉一下术语和命名法。
查找匹配对的过程类似于以前的目标检测器中用于将建议框或锚框链接到图像中的实际目标的方法。主要区别在于,对于直接的集合预测,我们需要找到唯一的一对一匹配,没有任何重复。让我们看一下下面的演示,以更好地理解。
我们已知N远大于图像中实际的目标数量,那么,为了将GT和检测目标对齐,我们将GT用φ(用来表示没有目标)来填充。
现在的任务是在GT和预测这两个集合之间找到最佳二分匹配。
让表示N的所有可能的排列组合。如果N=2, =1,2,2,1,这表示着我们的GT集合和预测集合各有两个元素。为了找到两个集合之间的最佳二分匹配,我们搜索预测的特定排列(顺序),该排列与GT匹配时损失最小。
此特定顺序由定义,其中,首先,我们定义寻找最优排序的损失函数:
我们来看一个例子,N=2,损失函数会这样搜索:
我们会选择损失最小的那个σ,在选择了损失最小的排列之后,我们最终得到了GT和预测目标之间的最优二分匹配。
现在我们已经将预测与GT相匹配,我们对所有匹配对应用匈牙利损失。
注意这里的使用,表示预测的最优排列。
论文注释: 在实践中,当 时,我们将对数概率项降低10倍来平衡类别的不均衡。在匹配损失中,我们使用概率而不是对数概率。这使得类别预测项可与大小相当,我们观察到这样具有更好的经验性能。
L1损失常用于物体检测中,用来衡量预测框坐标与真实框坐标之间的差异。然而,在处理不同尺寸的框时,这种损失可能会导致问题。
例如,考虑两个具有相同相对误差(即与框大小相比误差比例相同)但大小不同的框。较大的框将具有较大的绝对误差,这可能导致模型优先考虑较大的框而不是较小的框。
L1 损失和称为广义交并集 (IoU) 的尺度不变损失的组合可以解决这个问题。
广义 IoU 损失衡量预测框和真实框之间的重叠,考虑它们的大小。
使用 L1 损失和 IoU 损失的线性组合,该模型可以平衡准确预测框坐标及其相对大小的重要性,从而在不同大小的框之间获得更一致的性能。
正如我们现在所知,DETR 有两个主要组成部分:集合预测损失和Transformer架构。在本文中,我们主要关注集合预测损失。
在下一篇文章中,我们将反思 DETR 的架构和复杂性。我们将研究它的构建模块、连接以及使该模型如此高效的原因。