FoLR:Focus on Local Regions for Query-based Object Detection论文学习笔记

论文地址:https://arxiv.org/abs/2310.06470

自从DETR问询式检测器首次亮相以来,基于查询的方法在目标检测中引起了广泛关注。然而,这些方法面临着收敛速度慢和性能亚优等挑战。值得注意的是,在目标检测中,自注意力机制经常因其全局聚焦而妨碍了收敛。为了解决这些问题,作者提出了FoLR,一种仅包含解码器的类似Transformer的架构。作者通过隔离不相关目标之间的连接来增强自注意力机制,使其聚焦于局部区域而不是全局区域。作者还设计了自适应采样方法,从特征图中基于查询的局部区域提取有效特征。此外,作者采用了一种解码器的回溯策略,以保留先前的信息,然后使用特征混合器模块来融合特征和查询。实验结果表明,FoLR在基于查询的检测器中表现出卓越的性能,具有卓越的收敛速度和计算效率。

1. INTRODUCTION

        通用目标检测旨在定位和分类图像中的现有目标,并使用矩形边界框对它们进行标记以显示存在的置信度。这些方法的框架主要可以分为两种类型:一阶段方法,如SSD和YOLO,以及多阶段检测器,如Faster R-CNN。最近,基于Transformer的目标检测器引起了关注,DETR引入了Transformer的编码器-解码器模块到目标检测中。与传统检测器不同,DETR消除了对Anchor Box设计的需求,依赖于一组可学习的向量,称为目标查询,用于检测。然而,DETR在收敛速度慢和性能问题方面面临挑战。具体来说,在COCO 2017数据集上取得与以前检测器相媲美的结果需要DETR训练超过500个Epoch,而Faster R-CNN通常只需要12个Epoch。

        为了应对这一挑战,一些研究已经提出了解决这些问题的方法。然而,这些方法往往引入了大量的额外参数,增加了网络的大小,显著提高了训练成本。因此,在收敛速度和计算复杂性之间取得适当平衡仍然是一个挑战。此外,包含全局信息的注意力机制可以快速建立不相关目标之间的关联,对算法的收敛产生负面影响。这促使作者对全局信息的注意力机制进行了研究和增强。

        在本文中,作者提出了FoLR,这是一种旨在解决上述挑战的新型基于查询的检测器。总之,作者的工作做出了以下贡献:

  • 引入FoLR,这是一种新型的基于查询的目标检测方法,具有简化的解码器架构,可以增强自注意力与局部区域的交互。

  • 设计和实现了Feature Mixer模块和基于DCN的自适应采样方法,以增强特征和查询之间的交互。此外,作者采用“回顾”策略来保留在先前阶段生成的数据。

  • 通过在COCO数据集上的实验结果展示了FoLR的卓越性能,它有效地克服了传统方法在收敛速度缓慢和计算成本高的限制。

2. RELATED WORK

这部分跳过......

3. METHOD

3.1. Overview

在本节中,作者详细介绍了作者的基于查询的检测器FoLR。FoLR是一个完全的解码器架构,包括以下几个关键组件:

  • 带有局部区域的自注意力:该模块增强了查询的描述能力,代表目标的位置和语义信息。同时,它旨在减轻不相关查询之间的负面关系。

  • 自适应采样方法(ASM):它有助于根据查询的位置从多尺度特征图中自适应地采样特征。

  • 特征混合器:该组件促进了在ASM中采样的特征与查询之间的互动,实现了有效的信息融合。

  • 预测Head:这些Head负责完成分类和回归任务。

这些组件的相互作用塑造了FoLR的整体架构,赋予其有效提取特征和检测目标的能力。架构的视觉表示如图3所示。此外,FoLR采用了受Cascade R-CNN启发的多阶段细化策略。查询向量可以在每个后续阶段迭代地进行细化,以增强目标检测的准确性,如图2所示。

解耦分类和定位 在本文提出的方法中,作者利用了查询的概念,它合并了每个目标的语义和位置信息,就像Sparse RCNN等基于Transformer的算法中所看到的那样。先前的研究表明,将查询分解为这两个向量显著提高了模型的识别效率。作者通过将查询分解为两个不同的向量来扩展这种方法:内容向量(content vector)和边界框向量(bounding box vector)

损失 模型的损失,采用DETR方法计算,包括用于预测分类的Focal Loss(L_{cls}),用于预测框坐标的L1损失(L_{L1})和GIoU(L_{giou})。总损失如下:

3.2. Self-Attention with Local Regions

        自注意力是Transformer样式方法中常用的机制,用于增强查询的描述能力。它有助于在序列内建立关系。在目标检测任务中,自注意力增强了每个查询与其他查询之间的连接,增强了内容向量的描述能力。然而,作者的研究发现,这种具有全局焦点的注意力机制甚至建立了不相关查询之间的连接,如图1所示。这阻碍了检测任务,对模型产生了负面影响。

        为了使模型能够识别和屏蔽负面连接,作者鼓励自注意力集中在局部区域。首先,作者使用方程2计算每个查询与其他查询之间的IoF(帧交集 (Intersection of Frame))矩阵。如果矩阵元素的值低于指定的阈值ε,作者将其替换为一个较大的负数。这表示该信息对于自注意力是有害的,应在后续操作中排除。

其中,\beta \in R(N_{q},N_{q})ij索引,N_{q}是查询的数量,σ是一个设置为10^{-7}的小常数,ε是从间隔[0,1]中取的一个常数。

3.3. Extract Multi-Scale Features

为了增强每个查询的有效性,从每个输入图像的Backbone生成的有意义和丰富的特征是至关重要的。在本节中,作者介绍了一种受可变卷积网络启发的自适应采样方法来提取特征。

Adaptive Sampling Method (ASM) 给定第i个边界框,作者使用以下方程来生成第j个对应的采样点:

其中,Q代表内容向量。\Delta x_{ij}\Delta y_{ij}表示第j个采样点相对于第i个边界框的中心点(xc_{i},yc_{i})的偏移,w_{i}h_{i}分别表示第i个边界框的宽度和高度。 

Focus on Local Regions. 

现在作者已经在特征图上获得了采样点,Sparse RCNN和AdaMixer的下一步涉及与查询交互地融合这些采样点。然而,作者认为以这种方式收集的特征是从特征图派生的,而不是从查询派生的。

与DETR的解码器在目标查询上应用位置编码类似,作者的方法旨在改进收集的采样点,以更好地与查询集成。在这里,作者使用线性层生成的一组参数来增强采样点:

在作者的方法中,作者采用双线性插值方法来处理采样点的小数坐标。此外,作者采用了类似于自注意力中使用的多头机制的策略,以增强采样点的多样性。 

具体来说,作者将特征图的维度,表示为d,分成N_{h}个Head,其中每个头分配d/N_{h}个维度。这种划分确保每个头捕捉到特征的不同方面。对于本研究,作者保持d = 256和N_{h}= 4。

实际上,作者在每个特征图级别的每个查询中生成N_{s}个采样点,总共产生了LN个采样点。然而,不同查询生成的采样点或不同特征图中相同查询生成的采样点不应具有相同的重要性。作者为第i个查询分配自适应和可学习的权重,权重方法如下:

在这里,S表示每个查询对应的边界框面积,计算为其宽度和高度的乘积。形状为R(L,N_{h} \times N_{s})W_{i}表示每个查询在特征图的L个级别上的权重。

3.4. Feature Mixer

采样的多尺度特征与内容向量之间的相互作用在目标检测中至关重要。受MLPmixer和AdaMixer的启发,作者引入了Feature Mixer,一个MLP模块,用于增强这种交互作用。按照MLPmixer的方法,作者使用内容查询来训练两个MLP网络,用于混合采样特征的最后两个维度。然后将结果转换成内容查询的形状,并将其添加到内容查询中,如图3所示。

在作者的设计中,作者在每个查询和采样特征之间建立了直接连接,确保每个采样特征与其相应的查询进行交互。这个过程消除了无效的bins,生成了最终的目标特征。为了保持轻量级设计,作者使用两个连续的1×1卷积和GELU激活函数进行交互。这些卷积的参数是从相应的内容向量生成的。

4. EXPERIMENTS

4.3. Main Result

最终的结果如表1所示。值得注意的是,FoLR在平均精度(AP)方面优于密集检测器,使用ResNet-50和ResNet-101Backbone分别获得42.6 AP(与40.3 AP相比)和43.5 AP(与42.0 AP相比)。

此外,FoLR在基于查询的检测器中获得了相对较高的分数,分别使用ResNet-50和ResNet-101Backbone达到46.7 AP和47.7 AP。此外,FoLR在其他指标(包括小目标准确性和计算成本)方面也表现出色。这些结果提供了有力的证据,表明FoLR在复杂性和性能之间有效地取得了平衡。

表2对比了FoLR和COCO 2017测试开发数据集上其他方法的结果。在使用ResNet-50和ResNet-101作为Backbone时,FoLR分别获得了47.2和48.1的AP分数。这些显著的结果进一步证明了FoLR的卓越性能也可以扩展和适应其他数据集。

此外,如图4所示,作者通过与其他基于查询的检测器进行比较,全面分析了FoLR的收敛速度。结果清楚地表明,FoLR在训练的各个阶段都在收敛速度方面优于基于查询的检测器。具体而言,FoLR在使用更短的36个时期的training schedule时,实现了卓越的准确性,达到了46.7 AP(相对于可变形DETR的44.5 AP)。

4.4. Ablation Studies

在这里,作者还进行了消融实验,以评估FoLR中模块的有效性。由于计算约束,作者对这些实验使用了ResNet-50Backbone和1×training schedule。

Design of Attention with Local Regions. 作者进行了额外的实验,验证了FoLR方法中注意力模块的有效性。不同的ε值表示对局部区域的关注程度不同。具体来说,当ε=0时,意味着不应用局部区域策略。同时,作者在不同阶段的解码器中分配了不同的ε值。作者观察到,在最后三个阶段,ε分别为0.01、0.1和0.2时,算法显示出0.5 AP的提高。结果如表3所示。

Design of Adaptive Sampling Method. 作者还比较了着重关注局部区域策略与不使用此策略的结果。表4中的结果表明,着重关注局部区域策略提高了0.7 AP的性能。同时,N_{s}的选择影响了FoLR的收敛速度和所需的计算资源。为了在性能和计算负荷之间取得平衡,作者在[24, 48]范围内以8为步长进行了不同N_{s}值的实验。表5中的结果表明,N_{s}=32可以在性能和计算负载之间取得良好的平衡。

Look-Back Strategy Validation. 图4中的实验结果表明,使用回溯策略相对于没有回溯策略,准确性提高了0.4 AP。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/173021.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

H5游戏源码分享-手机捉鬼游戏

H5游戏源码分享-手机捉鬼游戏 一款考验手速的游戏 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>手机捉鬼 微信HTML5在线朋友圈游戏</title><meta name&…

SSM度假村管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 度假村管理系统是一套完善的信息系统&#xff0c;结合SSM框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要 采用B/S模式开发…

计算机毕设 opencv 图像识别 指纹识别 - python

文章目录 0 前言1 课题背景2 效果展示3 具体实现3.1 图像对比过滤3.2 图像二值化3.3 图像侵蚀细化3.4 图像增强3.5 特征点检测 4 OpenCV5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往…

VulnHub DC-1

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

自动驾驶,从“宠儿”走进“淘汰赛”

从“一步到位”到场景、技术降维。从拼落地路径&#xff0c;到拼雷达、算力&#xff0c;再到如今的性价比之争&#xff0c;自动驾驶似乎变得愈发“接地气”。 作者|斗斗 编辑|皮爷 出品|产业家 比起去年&#xff0c;黄文欢和张放今年显得更加忙碌。 “自动驾驶赛道&…

“爱知道”,你知道吗?

拥抱时代浪潮&#xff0c;加速科技变革。数字经济时代&#xff0c;杭州重点贯彻市委市政府数字经济创新提质“一号发展工程”&#xff0c;加快发展数字经济&#xff0c;推动全市数字经济往高攀升、向新进军、以融提效。基于政府对数字经济新活力的赋能、优化数字社会环节、构建…

若依微服务上传图片文件代理配置

在使用若依微服务文件上传时候,文件上传成功会上传到D:/ruoyi/uploadPath目录下。默认使用9300端口进行访问图片文件,现在我想把它代理到80端口应该怎么做呢? 配置前:http://localhost:9300/statics/2023/09/24/test.jpg 配置后:http://localhost/statics/2023/09/24/test…

msigdbr hallmarks gsea broad研究所

使用msigdbr r包 #BiocManager::install("msigdb") #https://www.gsea-msigdb.org/gsea/msigdb #https://cran.r-project.org/web/packages/msigdbr/vignettes/msigdbr-intro.html #https://bioconductor.org/packages/release/data/experiment/vignettes/msigdb/ins…

LVS-DR模式+keepalived+nginx+tomcat实现动静分离、负载均衡、高可用实验

实验条件&#xff1a; test2——20.0.0.20——主服务器——ipvsadm、keepalived服务 test3——20.0.0.30——备服务器——ipvsadm、keepalived服务 nginx5——20.0.0.51——后端真实服务器1&#xff08;tomcat的代理服务器&#xff09;——nginx服务 nginx6——20.0.0.61—…

【笔录】TVP技术沙龙:寻宝AI时代

目录 引言大模型的应用案例大模型三问模型落地可行性考量维度AIGC的几个可行应用方向AIGC的存储LLM工程应用范式演进LLM编程协作范式变化 引言 大模型是10倍的机会&#xff0c;但并不是平均主义的机会&#xff0c;没有低垂的果实。 企业想在大模型的赛道上跑出成绩&#xff0c;…

Python第三方库 - Flask(python web框架)

1 Flask 1.1 认识Flask Web Application Framework&#xff08; Web 应用程序框架&#xff09;或简单的 Web Framework&#xff08; Web 框架&#xff09;表示一个库和模块的集合&#xff0c;使 Web 应用程序开发人员能够编写应用程序&#xff0c;而不必担心协议&#xff0c;线…

Go语言标准输入

文章目录 Go语言标准输入函数使用 Go语言标准输入 函数 Scan // 使用stdin读取内容&#xff0c;读取的内容以空白&#xff08;换行也属于空白&#xff09;分隔&#xff0c;赋值给函数参数。返回读取的个数和错误 func Scan(a ...interface{}) (n int, err error)Scanf // 和…

基于Qt实现的轻量级CAD画图软件

1.界面展示 2.功能展示 3.关于Graphics View绘图架构 由于QPainter画图形&#xff0c;不能实现对图形的选择、编辑、移动等操作&#xff0c;所以我的整个项目是基于Craphics View绘图架构来实现的 3.1 Craphics View &#xff08;1&#xff09;Craphics View绘图架构介绍 …

【计算机视觉】3D视觉

文章目录 一、基本问题二、三个坐标系 X w \boldsymbol{X}_w Xw​到 X c \boldsymbol{X}_c Xc​的转换 X c \boldsymbol{X}_c Xc​到 x i \boldsymbol{x}_i xi​的转换投影矩阵尺度模糊问题 三、相机标定四、立体视觉 我的《计算机视觉》系列参考UC Berkeley的CS180课程&#x…

【机器学习】项目数据处理部分

文章目录 前言项目理解数据探索特征工程总结 前言 本文参考《阿里云天池大赛赛题解析》&#xff0c;拿到一个项目或者赛题&#xff0c;使用机器学习来进行预测分类&#xff0c;需要以下七个步骤&#xff1a; 项目&#xff08;赛题&#xff09;理解数据探索特征工程模型训练模…

buuctf_练[GYCTF2020]FlaskApp

[GYCTF2020]FlaskApp 文章目录 [GYCTF2020]FlaskApp常用绕过方法掌握知识解题思路解题一 -- 计算pin码解题二 -- 拼接绕过 执行命令 关键paylaod 常用绕过方法 ssti详解与例题以及绕过payload大全_ssti绕过空格_HoAd’s blog的博客-CSDN博客 CTF 对SSTI的一些总结 - FreeBuf网…

直线模组怎么分类?

直线模组是一种广泛应用于自动化设备、机器人、数控机床、电子设备等领域的精密传动系统。根据不同的分类方式&#xff0c;直线模组可分为多种类型。 一、按照轴数分类 1、单轴直线模组&#xff1a;只有一个移动轴的直线模组&#xff0c;通常用于简单的直线运动和定位。 2、双…

linux常用基本命令大全的使用(三)

&#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页石马农青衿 &#x1f304;每日一句&#xff1a;努力一点&#xff0c;优秀一点 &#x1f4d1;前言 本文主要是linux常用基本命令面试篇文章&#xff0c;如果有什么…

如何在Postman中使用静态HTTP

首先&#xff0c;打开 Postman 软件。在 Postman 的菜单栏中&#xff0c;点击 “Preferences”&#xff08;偏好设置&#xff09;。 亲身经验&#xff1a;我自己尝试了这个方法&#xff0c;发现它非常适用于需要使用HTTP的场景。 数据和引证&#xff1a;根据 Postman 官方文档…

基于VectorGrid加载GeoServer发布的矢量瓦片实例

目录 前言 一、关于VectorGrid 1、开源地址 2、本地示例 二、与LeafLet集成 1、新建html页面 2、地图初始化 3、pbf瓦片地址配置 4、pbf初始化 三、GeoServer跨域问题 1、web.xml配置 2、重启tomcat 总结 前言 回望10月&#xff0c;发生了一些变动&#xff0c;面向未…