DETR与Deformable DETR小结

it2023-01-11  50

DETR与deformable DETR小结

DETRDeformable DETR

DETR

论文地址https://arxiv.org/abs/2005.12872 论文解读 DETR将检测视为集合预测问题,简化了目标检测的整体流程。它没有现在主流的目标检测器中的anchor、label assign、nms等操作,做到了真正的end-to-end。它主要采用了Transformer的编解码结构,它在序列预测任务上大获成功。Transformer中的自注意力机制显示地界定了序列中元素间的相互作用,因此可以用于约束集合的预测结果。

如上图是DETR的检测流程,它一次性预测多个目标,并通过损失函数唯一地匹配预测结果和标注信息。DETR不需要添加其他的特殊层,整个结构仅由Transformer和ResNet组成。同时,在最后的二分匹配过程我们可以看到,产生的预测结果中不包含感兴趣目标类别时,它与空匹配。 与其他的集合预测问题相比,DETR的一大优势是将解码器同二分匹配(匈牙利算法)损失函数结合,从而可以并行处理。该损失函数将预测结果唯一地与标注信息匹配,因而可以实现并行预测。 DETR的两个关键是:利用损失函数完成预测内容和标注信息的唯一匹配以及预测一组目标及其之间的关系。如下图: DETR transformer架构:

Pytorch代码:

很容易扩展,可以扩展为全景分割模型,通过添加一个mask分支,在box模型的基础上训练25轮,就可以达到SOTA的结果。

论文贡献: (一)提出将Transformer引用于目标检测的方法,并且得到了预期的结果,相当于为以后的目标检测提供一种新的方法论; (二)论文使用的模型结构非常简洁,不添加任何额外的Tricks就能获得与Faster-RCNN相当的结果;

(三)主要为我们提供了一种思路,提出一种将深度学习两大领域(NLP和CV)进行结合的有效方法。

Deformable DETR

论文地址:DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION; 论文翻译;

DETR将检测视为集合预测问题,简化了目标检测的整体流程。它没有现在主流的目标检测器中的anchor、label assign、nms等操作,做到了真正的end-to-end。 尽管DETR有着有趣的设计和好的表现,但是DETR也有着他自己的问题:

相比于现存的检测器,他需要更长的训练时间来收敛,在coco数据集上,他需要500轮来收敛,是faster r-cnn的10到20倍;DETR在小物体检测上性能较差,现存的检测器通常带有多尺度的特征,小物体目标通常在高分辨率特征图上检测,而DETR没有采用多尺度特征来检测,主要是高分辨率的特征图会对DETR增加不可接受的计算复杂度。

以上缺点也主要来自于transformer处理特征图时的缺陷; 在初始化的时候,attention模块在特征图上每一个像素的attention权重都几乎一样,所以需要更多的训练轮次来让注意力集中在稀疏的有意义的位置; 另一方面,在transformer编码器中,注意权值计算是基于像素数的二次计算,因此,处理高分辨率特征图的计算和内存复杂度非常高;

在图像领域,可变形卷积是一种处理稀疏空间位置的强大而高效的机制。它很自然的避免了上述提到的问题,而它缺少元素关系建模机制,这是DETR成功的关键。 论文提出的deformable DETR,结合了deformable的稀疏空间采样的优点和transformer的关系建模能力。它考虑到在所有特征图像素一个小的采样位置集作为一个预先过滤器突出关键元素; 该模块可以自然地扩展到聚合多尺度特征,而无需FPN的帮助; 在deformable DETR中,使用(多尺度)可变形注意模块替换处理特征图的transformer注意模块,如下图所示:

Deformable DETR由于其快速收敛、计算和内存效率,为我们开发端到端对象检测器的变体提供了可能性; 论文中探索了一种简单有效的迭代边界框细化机制来提高检测性能,也尝试了two-stage Deformable DETR;

two-stage Deformable DETR:通过Deformable DETR生成region proposals,再送入decoder进行迭代边界框细化;

与DETR相比,Deformable DETR可以在少10个训练周期的情况下取得更好的性能(特别是在小物体上)。提出的two-stage Deformable DETR的改进可以进一步提高性能。

最新回复(0)