最新公告
  • 欢迎光临数据科学与编程,我们是数据学科学兴趣交流小组立即加入我们
  • Rethinking Set Prediction for Object Detection

    Rethinking Set Prediction for Object Detection

    论文:Rethinking Transformer-based Set Prediction for Object Detection

    链接:Rethinking Transformer-based Set Prediction for Object Detection

    最近提出的DETR是Transformer-based的方法,它将目标检测看作set prediction问题,并达到了SOTA的性能,但训练需要极长的时间。而这篇文章研究了DETR训练中优化困难的原因:Hungarian loss和Transformer cross-attention 机制等问题。为了克服这些问题,这篇文章提出了两种解决方案,即TSP-FCOS和TSP-RCNN。实验结果表明所提出的方法不仅比原始DETR训练更快,准确性方面也明显优于DETR。
    1 快速回顾DETR
    既然是Rethink DETR,那先快速回顾一下DETR。如下图所示,DETR使用CNN和transformer 进行特征提取,然后使用 bipartite matching loss 计算损失。

    Rethinking Set Prediction for Object Detection

    DETR与之前检测器的差别在于使用了 transformer 和 bipartite matching loss。所以,重点看一下两者。
    (1)bipartite matching loss

    之前检测器往往通过anchor和groundtruth的IOU来确定正负样本,而DETR使用了bipartite matching loss 来确定正负样本。其定义如下:

    Rethinking Set Prediction for Object Detection

    其中,Lmatch(yi, yˆσ(i))是真值(y)和预测值(yˆ)之间的 pair-wise matching cost (一一匹配的代价函数)。

    然后,DETR使用了Hungarian loss 作为 Lmatch,如下:

    Rethinking Set Prediction for Object Detection

    其中,L_class 是softamx分类损失;L box是box的损失,由L1 和 GIOU组成。整个L_hungarian由三部分加权组成。源码如下:

    接着,通过linear_sum_assignment 优化后,得到的每个 prediction 对应ground truth 最佳分配的结果 indices 。
    最后,再根据 indices 计算相应的损失,进行梯度反传。

    这样就实现预测值与真值实现最大的匹配,并且是一一对应。不会多个预测值匹配到同一个ground truth上,也就无需NMS后处理了
    (2)transformer

    即使不懂transformer,也不会有很大影响。我们只需了解transformer 由encoder和decoder 组成,并且由三种 attention(其实这三种 attention都是同一回事)。

    • scaled dot-product attention
    • self-attention
    • cross-attention

    现在先了解 scaled dot-product attention,其定义如下:

    Rethinking Set Prediction for Object Detection

    Q,K和V是经过卷积后得到的特征,而 self-attention 和 cross-attention 的区别仅仅是Q,K和V的来源不同。
    • self-attention的Q,K和V都是同一个输入, 即当前序列由上一层输出的高维表达。
    • cross-attention的Q代表当前序列;而K和V是同一个输入,对应的是encoder最后一层的输出结果。
    更多的内容可以参考:CV中的Attention和Self-Attention(对初学者友好)
    2 What Causes the Slow Convergence of DETR?
    (1)Does Instability of the Bipartite Matching Affect Convergence?

    作者设计了teacher model,用于 student model的matching监督。结果如下所示, matching distillation可以在前面轮次加速DETR的训练。

    Rethinking Set Prediction for Object Detection

    (2)Are the Attention Modules the Main Cause?

    因为 cross-attention 是 decoder 中 object queries 从 encoder 获取目标信息的关键模块。不精确的 cross-attention可能导致 decoder 从图像中提取不够准确的上下文信息,从而导致定位不良,尤其是对于小对象。

    因此,收集在不同训练阶段 cross-attention 的注意力图,由于注意力图可以解释为概率分布,我们使用负熵作为稀疏性的直观度量。

    如下图,我们可以看出cross-attention 持续增加,但不会达到即使在100个训练周期之后也会出现 plateau 。这意味着与早期阶段相比,DETR的 cross-attention 部分对收敛速度较慢更影响较大。

    Rethinking Set Prediction for Object Detection

    (3)Does DETR Really Need Cross-attention?

    我们通过设计一个只有编码器的版本来回答这个问题,并将其收敛曲线与原算法进行了比较。

    Rethinking Set Prediction for Object Detection

    实验结果如下,从曲线可以看出,encoder-only DETR在小物体上的性能明显优于原始DETR,在中型物体上差不多,但在大型物体上表现不佳original DETR。

    Rethinking Set Prediction for Object Detection

    3 The Proposed Methods
    根据前面的分析,为了加快DETR的收敛,我们需要解决 bipartite matching 的不稳定性问题和 transformer 模块中Cross-attention问题。所以,设计了以下两个网络:

    Rethinking Set Prediction for Object Detection

    TSP-FCOS:在backbone和encoder之间加上了head;
    TSP-RCNN:在backbone和encoder之间加上了RoIAlign;
    两个网络的结构如下:

    Rethinking Set Prediction for Object Detection

    4 Results
    实验证明,不论是精度和训练速度,都得到了一定的提升。

    Rethinking Set Prediction for Object Detection

    Rethinking Set Prediction for Object Detection

    5 简评
    这篇文章可作为Set Prediction 检测器的进阶,前面的分析做的很好,但不必深究提出的两个方法。

    本站上原创文章未经作者许可,不得用于商业用途,仅做学习交流使用,本站免责声明。转载请注明出处,否则保留追究法律责任的权利。《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
    数据科学与编程 » Rethinking Set Prediction for Object Detection

    发表评论

    • 52会员总数(位)
    • 309资源总数(个)
    • 34本周发布(个)
    • 5 今日发布(个)
    • 330稳定运行(天)

    提供最优质的博文资源集合

    立即阅览 了解详情