1. 写在前面
目标检测到底是DETR好还是YOLO好?感觉也没有一个明确的答案,YOLO在不停的平衡精度和效率,DETR也在不停的提高实时性。今天笔者为大家推荐一篇最新的DETR开源工作MS-DETR,通过一对一监督和一对多监督相结合的方式,提高DETR的训练效率。
下面一起来阅读一下这项工作
2. 摘要
DETR通过迭代地生成基于图像特征的多个候选目标,并为每个真值目标提升一个候选目标,从而实现端到端的目标检测。原始DETR中采用一对一监督的传统训练过程缺乏对目标检测候选的直接监督。
我们旨在通过一对一监督和一对多监督相结合的方式,对候选生成过程进行明确监督,从而提高DETR的训练效率。我们的方法,即MS - DETR,简单,并且对用于推理的主解码器的对象查询进行一对多的监督。与现有的一对多监督的DETR变体(如Group DETR和Hybrid DETR )相比,我们的方法不需要额外的解码器分支或对象查询。在我们的方法中,主解码器的对象查询直接受益于一对多的监督,因此在对象候选预测方面具有优势。实验结果表明,我们的方法优于相关DETR变体,如DN - DETR、Hybrid DETR和Group DETR,与相关DETR变体的结合进一步提高了性能。
3. 效果展示
这篇文章的思想就是使用一对一监督和一对多监督相结合的混合监督。混合监督会产生更好的检测候选。Top:box真值。Middle:与基线匹配的前20个查询的候选框。Bottom:使用MS - DETR从前20个查询中选出候选框。可以看出,MS - DETR比基线产生了更好的检测候选。
4. 具体原理是什么?
混合监督会产生比基线更低的一对一损失。x轴对应epoch,y轴对应一对一监督的训练损失。虚线和实线分别对应于Deformable DETR基线和MS - DETR的损失曲线。
不同架构的差异。( a )原始DETR:采用一对一监督的方式对其进行训练。( b ) MS -- DETR:通过混合一对一和一对多监督的方式进行训练。这两种监督都施加在初级解码器上。( c ) DETR组和DN - DETR组。引入了额外的并行译码器,并对额外的译码器进行一对一的监督。DETR和DN - DETR可能会使用更多的额外解码器。(d) 混合DETR:增加了一个额外的并行译码器,并对额外的译码器施加一对多的监督。
MS-DETR的具体实现。( a )对每个解码器层的输出对象查询进行一对一和一对多的监督。( b )对每个稍作修改的解码器层的输出对象查询进行两次监督:首先执行交叉注意力,然后执行自注意力。( c )和( d )对内部对象查询进行一对多监督。cls11和box11是一对一监督的class和box预测子,cls1m和box1m是一对多监督的class和box预测子。
5. 和其他SOTA方法的对比
MS - DETR与一对多( O2M )监督的其他方法在不同基线上的比较。MS - DETR一致地改进了各种流行的DETR基线。
与其他方法相结合的对比, MS - DETR是现有O2M方法的一种补充方法。
6. 总结
这篇文章在原有一对一监督的基础上增加了一对多的监督,用于DETR训练。主要特点是显式地监督了对象查询。MS-DETR是对相关方法的补充,这些方法主要是修改交叉注意力结构或使用额外的查询或额外的解码器来学习解码器权重。
审核编辑:黄飞
-
解码器
+关注
关注
9文章
1156浏览量
41136 -
目标检测
+关注
关注
0文章
213浏览量
15713
原文标题:MS-DETR:全面提升目标检测的效率和精度!
文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
旋变位置不变的情况下,当使能SOTA功能与关闭SOTA功能时,APP中DSADC采样得到的旋变sin和cos两者值不一样,为什么?
使用OpenVINO™进行优化后,为什么DETR模型在不同的硬件上测试时显示不同的结果?
SOTA的定义是什么?常规的实现方式有哪些
实体关系联合抽取取得SOTA的三种方法

SOTA机制详解

介绍RT-DETR两种风格的onnx格式和推理方式

Focus-DETR:30%Token就能实现SOTA性能,效率倍增

一种新型的DETR轻量化模型Focus-DETR

人工智能SOTA什么意思
DETR架构的内部工作方式分析

基于OpenVINO Python API部署RT-DETR模型

第一个基于DETR的高质量通用目标检测方法

基于OpenVINO C++ API部署RT-DETR模型

基于OpenVINO C# API部署RT-DETR模型

评论