LW-DETR:实时目标检测的Transformer, Apache-2.0 开源可商用,实验超 YOLOv8

LW-DETR:实时目标检测的Transformer, Apache-2.0 开源可商用,实验超 YOLOv8

      • LW-DETR 架构
        • 实例化
        • 高效训练
        • 高效推理
      • 目的与解法拆解
        • ViT编码器和DETR解码器
        • 多级特征图聚合
        • 变形交叉注意力
        • 窗口注意力和全局注意力

 

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

代码:https://github.com/Atten4Vis/LW-DETR

DETR系列和YOLO系列,当今目标检测两大分支。

好的,我来简化解释这些内容。

LW-DETR 架构

LW-DETR是一个目标检测模型,主要由三部分组成:ViT编码器,投影器,和DETR解码器。

  1. ViT编码器:这是处理图像的第一部分,它将图像划分成小块(称为patches),然后对这些小块进行分析,提取特征。

    这个过程包括全局自注意力操作,这种操作虽然能够很好地捕捉图像特征,但计算量很大。

    为了降低这部分的计算复杂度,我们引入了窗口自注意力,即只在图像的局部窗口内进行注意力操作。

  2. DETR解码器:解码器的任务是根据编码器提供的特征来识别图像中的具体对象,并确定它们的位置。

    我们使用了一种特殊的注意力机制(可变形交叉注意力),这可以更高效地计算,从而加快处理速度。

    一般DETR模型会用6层解码器,但我们简化为3层,以进一步减少处理时间。

  3. 投影器:投影器是连接编码器和解码器的桥梁,它处理由编码器生成的特征图,为解码器提供必要的输入信息。

    我们还为大型和超大型的模型版本设计了特别的投影器,以处理不同精度(尺寸)的特征图。

实例化

我们设计了不同大小(从微型到超大型)的检测器,以适应不同的需求和资源条件。

每种大小的检测器都有其特定的配置,比如不同层数的编码器和不同数量的对象查询(用于确定图像中的对象)。

高效训练

我们采用了多种技术来加速DETR的训练过程,包括更多的监督信号和预训练技术。

例如,我们使用了一种名为Group DETR的变体,这种方法在训练时使用多个解码器,但在实际使用时只选用其中一个。

高效推理

为了在实际应用中快速处理图像,我们对注意力机制进行了优化,引入了交错的窗口和全局注意力。

这意味着模型在处理一些层时使用窗口注意力,在其他层使用全局注意力,以此减少计算需求并加速处理。

想象你正在组织一个大型晚宴,你需要迅速而准确地识别和迎接每位宾客。

在这个情景中,你的大脑就像一个"检测器",宾客就是需要识别的"目标"。

  1. 轻量级的DETR方法:这就像是你用一个更简洁高效的方法来检查和确认宾客的身份,比如通过一种特别快速的签到程序。这个方法不需要复杂的设备,只需要基本的工具就能快速完成工作。

  2. ViT编码器和DETR解码器:这个可以比喻为你有一个名单(编码器),上面记录了所有宾客的特征。每当有宾客到来,你就通过一个特殊的流程(解码器)来检查他们是否在名单上,并且确保每个人的身份都正确无误。

  3. 多级特征图聚合:想象你不仅仅是看宾客的脸,还要观察他们的穿着、行为等多个方面的特征,这样可以更准确地识别每个人。

  4. 变形交叉注意力:这就像你在与多个宾客交谈时,能够根据对话中的重要信息(如他们提到的名字或他们提到的其他宾客)来迅速调整你的注意力焦点。

  5. 窗口注意力和全局注意力:这可以理解为你在宴会中采用两种策略:一种是专注于一个小群体的宾客(窗口注意力),另一种是时不时地扫视整个房间以确保不漏掉任何人(全局注意力)。通过这样的策略,你可以更有效地管理你的注意力,避免因为同时注意太多事情而导致混乱。

精细拆解:

  1. ViT编码器和DETR解码器:ViT编码器处理输入的图像以提取特征,而DETR解码器则使用这些特征来精确识别和定位图中的对象。

  2. 多级特征图聚合:通过结合不同层次的特征图,该技术增强了模型对图像中各种尺寸和复杂度对象的识别能力。

  3. 变形交叉注意力:这是一种高级注意力机制,能够根据目标对象的具体特征动态调整关注区域,从而提高检测的精度和效率。

  4. 窗口注意力和全局注意力:窗口注意力专注于图像的局部区域以减少计算负担,而全局注意力覆盖整个图像,确保广泛的环境因素被考虑,两者交替使用以优化性能。

目的与解法拆解

ViT编码器和DETR解码器

解法 = 图像特征提取 + 目标定位与识别

  • 图像特征提取:使用ViT编码器从输入图像中提取复杂的特征图。

    • 之所以用图像特征提取,是因为高质量的特征图可以更好地表示图像中的内容,从而提高后续处理的准确性。
    • 例如,在一个人群照片中,精确的特征提取可以帮助模型区分不同个体的面部特征。
  • 目标定位与识别:通过DETR解码器利用特征图来精确识别和定位图像中的各种对象。

    • 之所以用目标定位与识别,是因为准确的对象识别和位置定位对于实时检测系统至关重要。
    • 例如,自动驾驶车辆需要实时准确地识别和定位行人和其他车辆以避免碰撞。

变压器编码器:
在这里插入图片描述
这张图展示了变压器编码器中多级特征图聚合和交错窗口及全局注意力的应用。

编码器处理输入的特征图,通过不同的注意力机制(窗口注意力和全局注意力)增强这些特征图的信息。在这里:

  • 窗口注意力:仅在输入特征图的特定区域内计算注意力,有助于降低计算复杂度。
  • 全局注意力:覆盖整个特征图,捕捉远程依赖关系。

这种设计的目的是在保持模型性能的同时减少计算负担。

单尺度投影器和多尺度投影器:
在这里插入图片描述
这张图说明了用于不同模型大小(微型、小型、中型和大型、超大型)的投影器配置。

  • 图3a:适用于微型、小型和中型模型的单尺度投影器。在这种设置中,编码器输出的特征图通过一个投影器处理,然后输入到变压器解码器中。
  • 图3b:适用于大型和超大型模型的多尺度投影器。这里,输入的特征图先经过不同尺度的处理(例如,通过上采样或下采样),然后这些不同尺度的特征图分别通过各自的投影器处理后,共同输入到变压器解码器中。

这种多尺度处理方法允许模型更有效地处理不同大小的输入特征图,从而提高了模型对于不同尺寸目标的检测能力。

这对于需要处理广泛尺寸变化的实时目标检测任务尤其重要。

多级特征图聚合

解法 = 特征图层叠 + 特征图优化

  • 特征图层叠:将来自不同网络层的特征图合并,形成一个更加丰富的特征表示。

    • 之所以用特征图层叠,是因为不同层次的特征图包含不同尺度和细节的信息,聚合这些信息可以增强模型对复杂场景的理解能力。
    • 例如,在监控视频中,层叠特征图可以帮助模型同时识别远处的小物体和近处的大物体。
  • 特征图优化:通过算法优化加工合并后的特征图,以提高特征的有效性和检测性能。

    • 之所以用特征图优化,是因为简单的合并可能不足以充分利用各层特征的潜力,优化处理可以进一步提升特征的表达力。
    • 例如,在复杂的交通场景中,优化的特征图可以更好地区分交通标志与其他街道元素。
变形交叉注意力

解法 = 动态焦点调整

  • 动态焦点调整:根据目标的形状和位置动态调整注意力焦点。
    • 之所以用动态焦点调整,是因为不同的对象和场景要求模型在不同区域集中资源和计算力,以提高效率和准确性。
    • 例如,在处理运动中的对象时,动态调整可以帮助模型跟踪目标并减少背景干扰。
窗口注意力和全局注意力

解法 = 局部关注 + 整体评估

  • 局部关注:聚焦于图像的小窗口区域,进行细致的分析。

    • 之所以用局部关注,是因为它可以减少不必要的全局计算,专注于可能含有关键信息的区域。
    • 例如,在一个拥挤的市场场景中,局部关注可以帮助模型集中处理可能存在安全威胁的特定区域。
  • 整体评估:定期扫描整个图像,确保没有错过任何重要的全局信息。

    • 之所以用整体评估,是因为单纯的局部关注可能遗漏一些关键的全局事件或背景变化,整体评估确保全面覆盖。
    • 例如,在自然灾害监测中,整体评估可以帮助识别突发事件的全貌,如洪水或火灾的扩散。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT系列教程(9) 主窗口学习

简介 任何界面应用都有一个主窗口,今天我们谈谈主窗口相关知识。一个主窗口包括菜单栏,工具栏,状态栏,以及中心区域等部分。我们先从菜单栏说起 菜单栏 我们创建一个主窗口应用程序, 在ui文件里的菜单栏里有“在这里输入”的一个…

AI大底座核心平台:百度百舸AI异构计算平台(AI IaaS)与AI中台(AI PaaS)

AI大底座正是整合了以上端到端全要素技术能力,将基础架构IaaS与应用平台PaaS能力深度融合,面向企业和产业AI生 产与应用的全生命周期提供完整解决方案。 百舸AI异构计算平台是AI IaaS层的核心平台,包括AI计算、AI存储、AI加速、AI容器四层套件…

算法人生(19): 从“LangChain的六大组件”看“个人职业规划”

我们今天要说说和大模型有着密切关系的Langchain ,它提供了一个平台,让开发者可以更加轻松地训练、部署和管理这些大模型。具体来说,Langchain 可以通过提供高性能的计算资源、灵活的模型管理和部署选项、以及丰富的监控和调试功能&#xff0…

「动态规划」如何求下降路径最小和?

931. 下降路径最小和https://leetcode.cn/problems/minimum-falling-path-sum/description/ 给你一个n x n的方形整数数组matrix,请你找出并返回通过matrix的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一…

CentOS 环境下 PostgreSQL 在线安装和源码安装详解

1、内容概述 昨天给大家简单的介绍了一下 PostgreSQL,并且在Windows系统上通过图形化界面的方式搭建好了环境,今天我们就来学习一下如何在Linux 系统上搭建 PostgreSQL环境,我会给大家介绍在线安装、离线源码安装以及Docker 安装三种方式。 2、在线安装…

umijs 服务端渲染(SSR) 指南

umijs 服务端渲染(SSR) 指南 Umi 是什么? Umi,中文可发音为乌米,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进…

枚举(enum)+联合体(union)

枚举联合 一.枚举类型1.枚举类型的声明2.枚举类型的优点3.枚举类型的使用 二.联合体1.联合体类型的声明2.联合体的特点3.相同成员的结构体和联合体对比4.联合体大小的计算5.联合体的练习(判断大小端)6.联合体节省空间例题 一.枚举类型 1.枚举类型的声明…

安全U盘和普通U盘有什么区别?

安全U盘(也称为加密U盘或安全闪存驱动器)与普通U盘肯定是有一些区别的,从字面意思上来看,就能看出,安全U盘是能够保护文件数据安全性的,普通U盘没这一些功能的,可随意拷贝文件,不防盗…

Hadoop3:MapReduce源码解读之Mapper阶段的TextInputFormat切片机制(3)

Job那块的断点代码截图省略,直接进入切片逻辑 参考:Hadoop3:MapReduce源码解读之Mapper阶段的Job任务提交流程(1) 5、TextInputFormat源码解析 类的继承关系 它的内容比较少 重写了两个父类的方法 这里关心一下泛型…

《开源模型食用指南》基于Linux环境快速部署开源模型,更适合中国宝宝的部署教程

今天给大家推荐一个非常适合中国宝宝学习的专属大模型教程,也就是它《开源模型食用指南》! 当前百模大战正值火热,开源LLM层出不穷。 如今国内外已经涌现了众多优秀开源LLM,国外如LLaMA、Alpaca,国内如ChatGLM、BaiCh…

【Unity Shader入门精要 第13章】使用深度和法线纹理(一)

1. 原理 深度纹理的本质是一张RenderTexture,只不过其中记录的不是颜色值,而是一个深度值 这些深度值来自于顶点在空间变换后得到的归一化设备坐标(NDC)的Z值 由于NDC坐标的分量取值范围在[-1, 1]之间,要使颜色值能…

欧盟EDPS发布首份生成式人工智能与数据安全指南解读

6月3日,欧洲数据保护监督机构(EDPS)在其官网上发布了题为《生成式人工智能与EUDPR》的指南(注:EUDPR指的是《欧盟2018/1725号条例》),这是首份适用于欧盟机构的人工智能与数据安全指南。 01 指南…

STM32 SPI驱动读取LSM6DSRTR

提示:通过SPI驱动读取传感器数据 文章目录 前言一、LSM6DSRTR二、配置步骤1.配置SPI2.引入 LSM驱动库3.结果 总结 前言 制作一个倾角传感器,通过SPI读取LSM6DSRTR的加速度数据转换为角度,不用IIC的原因是考虑IIC通讯的协议过于繁琐&#xff…

c# iText使用

引入包 用nuget安装itext和itext.bouncy-castle-adapter包: 创建pdf string path "a.pdf"; PdfWriter writer new PdfWriter(path); PdfDocument pdfDoc new PdfDocument(writer); var docnew Document(pdfDoc); Paragraph p new Paragraph(&quo…

Java装饰器模式,装饰器模式通常通过创建一个接口和一个或多个实现了该接口的类来开始,然后创建装饰器类,这些类也实现了相同的接口

1、定义一个接口Component public interface Component { void operation(); }2、创建一个实现了Component接口的简单类SimpleComponent public class SimpleComponent implements Component { Override public void operation() { System.out.println("SimpleCom…

正大国际期货:什么是主力合约?

一个期货品种,在同一时间段,会上市多个月份的合约, 由于主力合约交易量大,流动性高,一般建议新手交易主力合约。 主力合约通常指交易集中,流动性好的合约 ,即在一段时间内交易量和持仓量最大的…

java框架树结构实现(带层级、编码、排序)

1、需求 实现一个影像资料库的功能,用树结构对资料进行分类 2、数据结构 通过id、pid表示父子关系 通过code表示层级关系 通过layer表示层级 通过sort进行排序 3、实体类 package org.jeecg.modules.image.entity;import com.baomidou.mybatisplus.annotation…

交叉编译freetype

目录 一、前言 二、交叉编译 freetype 1.交叉编译安装工具链 zlib 2.交叉编译安装工具链 libpng 3.交叉编译安装工具链 freetype 4.编译测试发现错误并解决 5.上机测试 一、前言 交叉编译常见错误解决方法可看:交叉编译中常见错误解决方法_交叉编译后fail t…

DevExpress Installed

一、What’s Installed 统一安装程序将DevExpress控件和库注册到Visual Studio中,并安装DevExpress实用工具、演示应用程序和IDE插件。 Visual Studio工具箱中的DevExpress控件 Visual Studio中的DevExpress菜单 Demo Applications 演示应用程序 Launch the Demo…

基于细节增强卷积和内容引导注意的单图像去雾

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读:DEA-Net:基于细节增强卷积和内容引导注意的单图像去雾1、研究背景2、方法提出3、相关知识3.1、DEConv3.3、多重卷积的…