【论文笔记】DKTNet: Dual-Key Transformer Network for small object detection

news2024/11/30 6:41:39

引用格式】:Xu S, Gu J, Hua Y, et al. Dktnet: dual-key transformer network for small object detection[J]. Neurocomputing, 2023, 525: 29-41.

网址https://cczuyiliu.github.io/pdf/DKTNet%20Dual-Key%20Transformer%20Network%20for%20small%20object%20detection.pdf

目录

一、研究背景及意义

二、解决方案

1 创新点

1.1 双键机制

1.2 通道注意力机制

1.3 卷积运算替代全连接层

2 网络架构

2.1 双键机制

2.2 卷积计算QKV

3 Loss损失

3.1 区域建议网络损失

3.2 RoI池化层损失

三、实验结果及结论

1 消融实验

2 结论


一、研究背景及意义

    在计算机视觉领域,目标检测是一项核心任务,广泛应用于自动驾驶、智能监控、增强现实等实际场景。随着深度学习技术的快速发展,诸如Faster R-CNN、YOLO和SSD等目标检测方法取得了显著的进展。然而,小目标检测依然是一个极具挑战性的课题,特别是在复杂场景中,如遮挡、视角远近、背景相似等问题,导致传统的目标检测模型难以在低分辨率的小目标上取得良好的表现。

    为了解决这些问题,文中提出了一种新的Transformer网络架构——DKTNet(双键Transformer网络),专门用于提升复杂场景下的小目标检测性能。通过双键策略和通道注意力机制,提高了模型对小目标的敏感程度,解决了传统检测方法中由于小目标分辨率低、特征模糊导致的漏检和错检问题;同时通过卷积操作取代传统Transformer中的全连接层,减低了模型的复杂度,使得模型高效运行,拥有更好的实用性和可拓展性,适合在资源有限的实际环境中部署。

二、解决方案

1 创新点

1.1 双键机制

      提出了一种新的双键策略,通过同时沿着Query(Q)和Value(V)计算两个Keys(K1和K2),而不是传统的单键连接方法。这种双键整合方法提高了Q和V之间的关联性,使得特征提取更加精准。

1.2 通道注意力机制

     采用通道注意力机制替代传统的空间注意力机制。该方法通过关注特征图中的重要通道,增强了对关键特征的关注,并抑制了不相关或混淆的特征。

1.3 卷积运算替代全连接层

     引入了2D卷积和1D卷积运算,取代了传统Transformer中的全连接层,保持了局部上下文信息,同时降低了计算复杂度。

2 网络架构

    文中提出了一种名为DKTNet(Dual-Key Transformer Network)的双键变压器网络,专为复杂背景中的小物体检测任务设计。该网络的核心思想是通过双键策略和通道注意力机制来增强特征提取的能力,从而提高小物体检测的精度和鲁棒性。

    DKTNet以Faster R-CNN为基础,并结合了ResNet50和特征金字塔网络(FPN)作为主干网络来提取多尺度的特征图。然后,提出的双键变压器模块进一步对这些特征进行处理,以提升目标特征的辨识能力。具体地说,双键策略通过同时计算两条特征流的Key值,增强了Query(Q)和Value(V)之间的相关性。整个网络架构中还采用了卷积运算替代传统的全连接运算,以保持局部上下文信息,同时降低了计算复杂度。

2.1 双键机制

    传统的Transformer通过计算一个Key来关联Query(Q)和Value(V),而DKTNet提出了双键机制,分别沿着Q和V流计算两个Keys(K1和K2),然后将这两个Keys进行整合,以提高Q和V之间的相关性。

     双键机制通过结合不同的特征流,捕捉到更多维度的信息,增强特征表达能力,特别是针对小物体的特征细节,解决了复杂场景中小物体容易被背景干扰的问题。

    不同于常见的空间注意力机制,DKTNet采用通道注意力机制来处理特征图。它通过识别并增强特征图中的重要通道,抑制那些混淆的通道。

    在小物体检测中,重要特征通道的有效提取尤为重要,通道注意力机制帮助提高了对小物体特征的辨识度,使得网络能够更有效地关注到关键信息,忽略干扰。

2.2 卷积计算QKV

    传统Transformer通常采用全连接层来处理Q、K和V,而DKTNet则使用了2D卷积来捕捉局部细节,随后使用1D卷积进一步简化计算。

    2D卷积能够更好地保留图像特征的局部上下文信息,而1D卷积则大幅降低了网络的参数量和计算开销,同时保持较高的检测性能。该设计使得DKTNet在保证性能的前提下,提高了运算效率,适合资源受限的场景。

3 Loss损失

    DKTNet网络的损失函数主要基于Faster R-CNN的设计,结合了区域建议网络(RPN)和ROI池化层(RoIAlign)的输出,最终使用了两种损失函数来优化网络的分类和回归任务。这两种损失分别是分类损失(Classification Loss)和边界框回归损失(Bounding Box Regression Loss)。总损失是区域建议网络损失、RoI池化层损失两个部分的加和,用于共同优化DKTNet的目标检测性能。

  • LRPN是用于RPN(区域建议网络)的损失
  • LRoI是用于目标检测和边界框调整的损失。

3.1 区域建议网络损失

    RPN负责生成可能包含目标的候选区域,并初步调整目标的边界框。RPN损失包含两部分:

  1. 分类损失

    用于衡量RPN生成的候选框是否属于目标区域,使用二元交叉熵损失(binary cross-entropy loss)来计算。公式如下:

  • p_{i}是第i个候选框被预测为目标区域的概率
  • p_{i}^{*}是真实标签

      2.边界框回归损失

      边界框损失Lreg用于回归预测的目标边界框与真实边界框之间的差异,使用平滑L1损失计算:

  • t_{i}是RPN预测的边界框参数
  • t_{i}^{*}是真实的边界框参数

    最终,RPN损失定义为分类损失和回归损失的加权和:

3.2 RoI池化层损失

    RoI池化层将来自RPN的候选区域进一步处理,用于分类和边界框回归。RoI损失同样包含分类损失(Classification Loss)和边界框回归损失(Bounding Box Regression Loss),公式如下:

  • u:当前候选框对应的真实类别标签
  • p:Softmax分类器输出属于类别u的概率
  • t^{u}:表示真实边界框位置
  • v:表示预测的边界框位置
  • λ:当[u ≥ 1]时,λ为1,否则为0

三、实验结果及结论

  • 测试数据集:一般目标检测基准数据集PASCAL VOC 2007、安全帽佩戴数据集GDUT、SHW1和SHW2,均取自真实的建筑场景,并且大部分目标安全帽在图像中都占据较小区域。
  • 硬件配置:Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz; NVIDIA TITAN-XP GPU(12GB显存)
  • 训练配置:Batch Size为2,训练20轮;使用SGD优化器,动量值设置为0.9,用于加速梯度下降并抑制局部波动,权重衰减值为5 × 10^-4,用于防止过拟合并保持模型的鲁棒性;初始学习率设置为5 × 10^-3,每三轮衰减一次,衰减因子为0.33
  • 评估指标:精确率、召回率、AP平均精度、大目标的mAP(大于96×96像素)、中等大小目标的mAP(32×32到96×96像素之间)和小目标的mAP(小于32×32像素)

与Faster-Rcnn相比,大型目标得到了4-14%的提升,中型目标得到了7-15%的提升,小型目标得到了14-25%的提升

文中提出的方法,基本都可以实现最优或者次优的精度

1 消融实验

STL是指Swin Transformer Layer,它是一种基于Swin Transformer的模块,能够通过滑动窗口的方式处理图像的局部信息,同时有效聚合全局上下文信息,更适合小目标检测。

目标检测基准数据集PASCAL VOC 2007实验

第二、三行对比,证明了双键结构提高了性能

第三、四行对比,第四行对特征图进行了转置,以计算通道维度而非空间维度的全局自我注意力,效果有了一定提升

Conv1D和Conv2D参数数和FLOPS分别为56.16M、45.39M和167.38G、285.18G

从第二列和第三列使用双键可以减少背景对检测目标的干扰,从而提高检测精度。

第三列和第四列可以看出,使用通道式注意力捕捉特征的效果明显优于空间式注意力。

第四、五和六列可以看出,卷积代替全连接可以使效果进一步提升

2 结论

文中提出的DKTNet(Dual-Key Transformer Network)的双键变压器网络,专门针对复杂背景中的小目标检测任务进行优化。通过引入双键机制、通道注意力机制,以及采用卷积替代全连接计算,DKTNet在多个数据集上展示了优越的检测性能,尤其在小目标检测中表现出色。

  • 双键机制增强了特征流中Q和V的关联性,提高了特征提取能力,特别是在复杂背景下的小目标检测中表现出色。
  • 通道注意力机制有效选择和增强了关键特征通道,抑制了干扰特征,使模型能够更精确地识别小物目标。
  • 通过引入1D卷积,DKTNet降低了计算复杂度,在保持高精度的前提下提升了计算效率,适合在实际应用场景中部署。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3实现打字机的效果,可以换行

之前看了很多文章,效果是实现了,就是没有自动换行的效果,参考了文章写了一个,先上个效果图,卡顿是因为模仿了卡顿的效果,还是很丝滑的 目录 效果图:代码如下 效果图: ![请添加图片描述](https://i-blog.csdnimg.cn/direct/d8ef33d83dd3441a87d6d033d9e7cafa.gif 代码如下 原…

jmeter学习(8)结果查看

1)查看结果树 查看结果树,显示取样器请求和响应的细节以及请求结果,包括消息头,请求的数据,响应的数据。 2)汇总报告 汇总报告,为测试中的每个不同命名的请求创建一个表行。这与聚合报告类似&…

[数据结构] 树

n个结点的有限集合 除了根节点以外,每一个结点有且只有一条与父节点的连线; 总共有N-1条连线。 子树之间不相交。 术语 树的表示 每个结点的结构不知道 可以统一设置结构,优点:处理方便 缺点:会造成空间浪费&…

Chromium 硬件加速开关c++

选项页控制硬件加速开关 1、前端代码 <settings-toggle-button id"hardwareAcceleration"pref"{{prefs.hardware_acceleration_mode.enabled}}"label"$i18n{hardwareAccelerationLabel}"><template is"dom-if" if"[…

6.5 监控和日志 架构模式和应用实践

6.5 监控和日志 架构模式和应用实践 目录概述需求&#xff1a; 设计思路实现思路分析1.集中式监控2.分布式监控3.边缘监控4.集中式日志管理5.分布式日志管理6.实时日志流处理 监控工具最佳实践 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz ,…

基于元神操作系统实现NTFS文件操作(六)

1. 背景 本文主要介绍$Root元文件属性的解析。先介绍元文件各属性的属性体构成&#xff0c;然后结合读取到的元文件内容&#xff0c;对测试磁盘中目标分区的根目录进行展示。 2. $Root元文件属性的解析 使用每个属性头偏移0x04-0x07处的值可以从第一个属性开始依次定位下一个…

Jupyter | jupyter notebook 使用 conda 环境

博客使用更佳 点我进入博客 创建虚拟环境 在 Anaconda Prompt 里面输入&#xff1a; conda create -n env-name并且输入 y 确认。例如我们创建环境名为 jupyter 激活环境 conda activate env-name激活之后发现环境从 base 变为 jupyter(笔者用的 env-name 为 jupyter) …

python-求一个整数的质因数/字符串的镜像/加数

一:求一个整数的质因数 题目描述 编写一个程序&#xff0c;返回给定整数的质因数。 定义函数get_prime_factors()&#xff0c;该函数接受一个参数num&#xff08;正整数&#xff09;。 该函数应返回传入参数的质因数列表&#xff0c;且从小到大排序。 比如150的质因数分解如…

Spring MVC__HttpMessageConverter、拦截器、异常处理器、注解配置SpringMVC、SpringMVC执行流程

目录 一、HttpMessageConverter1、RequestBody2、RequestEntity3、ResponseBody4、SpringMVC处理json5、SpringMVC处理ajax6、RestController注解7、ResponseEntity7.1、文件下载7.2、文件上传 二、拦截器1、拦截器的配置2、拦截器的三个抽象方法3、多个拦截器的执行顺序 三、异…

数据结构——计数、桶、基数排序

目录 引言 计数排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 桶排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 基数排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 排序算法的稳定性 1.稳定性的概念 2.各个排序算法的稳定性 结束语 引…

初识Linux · 自主Shell编写

目录 前言&#xff1a; 1 命令行解释器部分 2 获取用户命令行参数 3 命令行参数进行分割 4 执行命令 5 判断命令是否为内建命令 前言&#xff1a; 本文介绍是自主Shell编写&#xff0c;对于shell&#xff0c;即外壳解释程序&#xff0c;我们目前接触到的命令行解释器&am…

基于vue框架的大学生四六级学习网站设计与实现i8o8z(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;学生,训练听力,学习单词,单词分类,阅读文章,文章类型,学习课程 开题报告内容 基于Vue框架的大学生四六级学习网站设计与实现开题报告 一、研究背景与意义 随着全球化进程的加速和国际交流的日益频繁&#xff0c;英语作为国际通用语言…

22.3 解读k8s服务发现源码

本节重点介绍 : discovery.Manager服务发现管理员 注册各个服务发现源启动各个服务发现源处理服务发现的结果 k8s服务发现 k8s-client informer机制 架构图补充 注册各个服务发现源 位置 D:\go_path\src\github.com\prometheus\prometheus\discovery\manager.go去掉部分细节…

ConcurrentHashMap 中的并行性

ConcurrentHashMap 在多线程应用程序中被广泛使用。多线程应用程序的示例包括在线游戏应用程序、聊天应用程序&#xff0c;它为应用程序增加了并发性的好处。为了使应用程序本质上更具并发性&#xff0c;ConcurrentHashMap 引入了一个名为“并行性”的概念。 在本文中&#xf…

飞机导航数据库资料

以上是从网上收集的飞机导航数据库的一些资料。现在放在百度网盘中。 链接&#xff1a;https://pan.baidu.com/s/1fDYuaB0DuyKmYt6C_lXvZQ?pwdkcqj 提取码&#xff1a;kcqj

ZTE RRC重建优化案例

ZTE RRC重建优化案例 随着移动通信网络的不断发展&#xff0c;用户对网络的稳定性和覆盖质量提出了更高的要求。尤其在LTE网络中&#xff0c;RRC&#xff08;Radio Resource Control&#xff09;连接的稳定性直接影响用户体验和业务连续性。然而&#xff0c;在实际网络环境中&a…

案例-表白墙简单实现

文章目录 效果展示初始画面提交内容后画面&#xff08;按键按下&#xff09; 代码区 效果展示 初始画面 提交内容后画面&#xff08;按键按下&#xff09; 代码区 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

C++输⼊输出

1.<iostream> 是 Input Output Stream 的缩写&#xff0c;是标准的输⼊、输出流库&#xff0c;定义了标准的输⼊、输 出对象 2.std::cin 是 istream 类的对象&#xff0c;它主要⾯向窄字符&#xff08;narrow characters (of type char)&#xff09;的标准输 ⼊流。 3…

STL之priority_queue篇——深入剖析C++中优先队列的实现原理、核心特性及其底层机制

文章目录 前言一、补充内容&#xff1a;堆1.1 什么是堆1.2 堆的分类与性质1.3 堆的向下调整算法&#xff08;小根堆&#xff09;实现流程&#xff1a;代码&#xff1a; 1.4 堆的向上调整算法&#xff08;小根堆&#xff09;实现流程&#xff1a;代码&#xff1a; 1.5 数组建堆算…

eclpsexxx

Copyright?2001-2004 International Business Machines Corp. Guidelines Eclipse 用户界面指南 2.1 版 查看目录 作者&#xff1a;Nick Edgar, Kevin Haaland, Jin Li , Kimberley Peter 译者&#xff1a;Bobbie Wang&#xff0c;Qi Liang 最新更新: 2004年2月 注意 您…