新闻中心

DECO: 纯卷积Query-Based检测器超越DETR!

2024-03-19
浏览次数:
返回列表

DECO: 纯卷积Query-Based检测器超越DETR!

标题:deco: query-based end-to-end object detection with convnets

论文:https://arxiv.org/pdf/2312.13735.pdf

源码:https://github.com/xinghaochen/DECO

原文:https://zhuanlan.zhihu.com/p/686011746@王云鹤

刺鸟创客 刺鸟创客

一款专业高效稳定的AI内容创作平台

刺鸟创客 110 查看详情 刺鸟创客

引言

引入Detection Transformer(DETR)后,目标检测领域掀起了一股热潮,许多后续研究都在精度和速度方面对原始DETR进行了改进。然而,关于Transformer是否能够完全主导视觉领域的讨论仍在持续。一些研究如ConvNeXt和RepLKNet表明,CNN结构在视觉领域仍具有巨大的潜力。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

DECO: 纯卷积Query-Based检测器超越DETR!

我们这个工作探究的就是如何利用纯卷积的架构,来得到一个性能能打的类 DETR 框架的检测器。致敬 DETR,我们称我们的方法为DECO (Detection ConvNets)。采用 DETR 类似的结构设定,搭配不同的 Backbone,DECO 在 COCO 上取得了38.6%和40.8%的AP,在V100上取得了35 FPS和28 FPS的速度,取得比DETR更好的性能。搭配类似RT-DETR的多尺度特征等模块,DECO取得了47.8% AP和34 FPS的速度,总体性能跟很多DETR改进方法比都有不错的优势。

方法

网络架构

DECO: 纯卷积Query-Based检测器超越DETR!

DETR的主要特点是利用Transformer Encoder-Decoder的结构,对一张输入图像,利用一组Query跟图像特征进行交互,可以直接输出指定数量的检测框,从而可以摆脱对NMS等后处理操作的依赖。我们提出的DECO总体架构上跟DETR类似,也包括了Backbone来进行图像特征提取,一个Encoder-Decoder的结构跟Query进行交互,最后输出特定数量的检测结果。唯一的不同在于,DECO的Encoder和Decoder是纯卷积的结构,因此DECO是一个由纯卷积构成的Query-Based端对端检测器。

编码器

DETR 的 Encoder 结构替换相对比较直接,我们选择使用4个ConvNeXt Block来构成Encoder结构。具体来说,Encoder的每一层都是通过叠加一个7x7的深度卷积、一个LayerNorm层、一个1x1的卷积、一个GELU激活函数以及另一个1x1卷积来实现的。此外,在DETR中,因为Transformer架构对输入具有排列不变性,所以每层编码器的输入都需要添加位置编码,但是对于卷积组成的Encoder来说,则无需添加任何位置编码

解码器

相比而言,Decoder的替换则复杂得多。Decoder的主要作用为对图像特征和Query进行充分的交互,使得Query可以充分感知到图像特征信息,从而对图像中的目标进行坐标和类别的预测。Decoder主要包括两个输入:Encoder的特征输出和一组可学的查询向量(Query)。我们把Decoder的主要结构分为两个模块:自交互模块(Self-Interaction Module, SIM)和交叉交互模块(Cross-Interaction Module, CIM)。

DECO: 纯卷积Query-Based检测器超越DETR!

这里,SIM模块主要融合Query和上层Decoder层的输出,这部分的结构,可以利用若干个卷积层来组成,使用9x9 depthwise卷积和1x1卷积分别在空间维度和通道维度进行信息交互,充分获取所需的目标信息以送到后面的CIM模块进行进一步的目标检测特征提取。Query为一组随机初始化的向量,该数量决定了检测器最终输出的检测框数量,其具体的值可以随实际需要进行调节。对DECO来说,因为所有的结构都是由卷积构成的,因此我们把Query变成二维,比如100个Query,则可以变成10x10的维度。

CIM模块的主要作用是让图像特征和Query进行充分的交互,使得Query可以充分感知到图像特征信息,从而对图像中的目标进行坐标和类别的预测。对于Transformer结构来说,利用cross attention机制可以很方便实现这一目的,但对于卷积结构来说,如何让两个特征进行充分交互,则是一个最大的难点。

要把大小不同的SIM输出和encoder输出全局特征进行融合,必须先把两者进行空间对齐然后进行融合,首先我们对SIM的输出进行最近邻上采样:

DECO: 纯卷积Query-Based检测器超越DETR!

使得上采样后的特征与Encoder输出的全局特征有相同的尺寸,然后将上采样后的特征和encoder输出的全局特征进行融合,然后进入深度卷积进行特征交互后加上残差输入:

DECO: 纯卷积Query-Based检测器超越DETR!

最后将交互后的特征通过FNN进行通道信息交互,之后pooling到目标数量大小得到decoder的输出embedding:

DECO: 纯卷积Query-Based检测器超越DETR!

最后我们将得到的输出embedding送入检测头,以进行后续的分类和回归。

多尺度特征

跟原始的DETR一样,上述框架得到的DECO有个共同的短板,即缺少多尺度特征,而这对于高精度目标检测来说是影响很大的。Deformable DETR通过使用一个多尺度的可变形注意力模块来整合不同尺度的特征,但这个方法是跟Attention算子强耦合的,因此没法直接用在我们的DECO上。为了让DECO也能处理多尺度特征,我们在Decoder输出的特征之后,采用了RT-DETR提出的一个跨尺度特征融合模块。实际上,DETR诞生之后衍生了一系列的改进方法,我们相信很多策略对于DECO来说同样是适用的,这也希望感兴趣的人共同来探讨。

实验

我们在COCO上进行了实验,在保持主要架构不变的情况下将DECO和DETR进行了比较,比如保持Query数量一致,保持Decoder层数不变等,仅将DETR中的Transformer结构按上文所述换成我们的卷积结构。可以看出,DECO取得了比DETR更好的精度和速度的Tradeoff。

DECO: 纯卷积Query-Based检测器超越DETR!

我们也把搭配了多尺度特征后的DECO跟更多目标检测方法进行了对比,其中包括了很多DETR的变体,从下图中可以看到,DECO取得了很不错的效果,比很多以前的检测器都取得了更好的性能。

DECO: 纯卷积Query-Based检测器超越DETR!

文章中DECO的结构进行了很多的消融实验及可视化,包括在Decoder中选用的具体融合策略(相加、点乘、Concat),以及Query的维度怎么设置才有最优的效果等,也有一些比较有趣的发现,更详细的结果和讨论请参看原文。

总结

本文旨在研究是否能够构建一种基于查询的端到端目标检测框架,而不采用复杂的Transformer架构。提出了一种名为Detection ConvNet(DECO)的新型检测框架,包括主干网络和卷积编码器-解码器结构。通过精心设计DECO编码器和引入一种新颖的机制,使DECO解码器能够通过卷积层实现目标查询和图像特征之间的交互。在COCO基准上与先前检测器进行了比较,尽管简单,DECO在检测准确度和运行速度方面取得了竞争性表现。具体来说,使用ResNet-50和ConvNeXt-Tiny主干,DECO在COCO验证集上分别以35和28 FPS获得了38.6%和40.8%的AP,优于DET模型。希望DECO提供了设计目标检测框架的新视角。

以上就是DECO: 纯卷积Query-Based检测器超越DETR!的详细内容,更多请关注其它相关文章!


# 端到端  # 排列  # overflow  # 进行了  # 取得了  # 保时捷  # 框架  # 网购翻译模板网站推广  # 唐山百度手机seo  # html meta标签 seo  # 松原seo助手必看软件  # 潜江同城网站建设招标  # 山亭网站建设推广  # 安徽商品推广网站哪家好  # 服装推广营销模式  # 宿州网站首页推广  # 青海省网站怎么优化排名  # 如何用  # 开源  # 一键  # 第四次  # 你该  # 首个  # 而对 


相关栏目: 【 行业资讯67740 】 【 技术百科0 】 【 网络运营39195


相关推荐: a股等权平均市盈率是什么意思  typescript怎么添加css样式  12306退票手续费最新规定  夸克搜题的原理是什么  如何选购ssd固态硬盘  轩逸e-power挡位b是什么意思  33000日元等于多少人民币  固态硬盘如何接主机  春运抢票最多能抢几趟车  得物怎样不扣手续费 如何通过得物不支付手续费  联想手机如何输入命令行  juice是什么意思  平板键盘nfc功能是什么意思  typescript和哪个语音很像  typescript如何遍历map  ready是什么意思  如何开发typescript  市盈率是负数是什么意思  折叠屏手机哪个有性价比  如何让固态硬盘坏掉  单片机log怎么看  单片机显存怎么设置最佳  typescript中如何引入本地js  苹果16最近玩法有哪些  一分钟等于多少秒  如何打开命令提示符  如何测试固态硬盘速度  typescript的文件如何执行  play的三人称单数和过去式  舆论是什么意思  自己如何安装固态硬盘  pp是什么意思  如何修改域名解析  新版路由器如何设置路由命令  ai文件里无法找到链接文件怎么解决  路由器power闪红绿灯闪是什么意思  基金市盈率是什么意思  夸克为什么会变小  怎么确定手机是5g  mac如何使用vi命令行  win7怎么取消360显示的壁纸  51单片机贴片怎么*  充电器上的power是什么意思  电瓶车充电器power是什么意思  typescript参数怎么用  什么是夸克模组文件格式  a股等权市盈率中位数是什么意思  typescript和node学哪个  光刻机的分类及特点  春运抢票哪个城市好抢 

搜索