【YOLO v5 v7 v8 小目标改进】BiFormer:从局部空间特征到高效的全局空间特征

BiFormer:从局部空间特征到高效的全局空间特征

    • 提出背景
      • BiFormer 结构
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改

 


提出背景

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

代码:https://github.com/rayleizhu/BiFormer

 

问题: 传统的卷积神经网络(CNN)在处理图像时局限于局部上下文,难以捕捉全局上下文信息。

解法:

  • 注意力机制能够计算空间位置间的特征亲和力,从而捕获长距离依赖,提高模型对全局信息的理解能力。

  • 引入注意力模型到计算机视觉中,使用注意力机制代替卷积操作,实现全局上下文建模。

Transformer 变压器模型由于其能够捕捉长距离依赖和高度的灵活性,在自然语言处理(NLP)领域取得了巨大成功。

  • 从【注意力机制】开始,到【Transformer】

近年来,研究者开始将(Transformer)变压器应用于计算机视觉任务,期望能够借助其长距离依赖捕捉能力来改进视觉理解。

然而,视觉数据的高维度特性使得直接应用变压器模型变得计算代价高昂。

这是因为(Transformer)变压器模型依赖于注意力机制,该机制需要计算和存储所有输入数据点之间的相互作用,导致随着输入大小的增加,所需的计算资源和内存急剧增加。

在这里插入图片描述
六种不同的注意力机制及其在处理图像时的关注点(由星号标记)。这些机制包括:

  • (a) Vanilla Attention:传统的全局注意力机制,计算所有空间位置上的特征关联,计算量大,内存占用高。
  • (b) Local Attention:局部注意力机制,仅在局部窗口内计算特征关联。
  • © Axial Attention:轴向注意力,按行或列计算特征关联。
  • (d) Dilated Attention:扩张注意力,使用扩张的窗口来捕捉更广范围的上下文信息。
  • (e) Deformable Attention:变形注意力,能够适应图像内容调整关注的区域。
  • (f) Bi-level Routing Attention:双层路由注意力,这是BiFormer使用的机制,先在区域级别筛选相关区域,然后在这些区域中进行令牌到令牌的注意力计算。

问题: 虽然注意力机制能够提升模型对全局信息的捕捉能力,但它需要计算所有空间位置间的成对特征亲和力,导致高计算复杂度和内存消耗。

解法:

  • 开发更高效的注意力机制,通过减少必须计算和存储的亲和力对数量来降低计算和内存复杂度。
  • 作者提出了一种创新的注意力机制——双层路由注意力机制。

在这里插入图片描述
上图是 BiFormer 如何通过收集最相关的键值对来减少计算和提高效率,使用密集矩阵乘法来进行高效计算,这对GPU是友好的。

这种机制通过以下步骤降低计算复杂度和内存占用:

  • 子解法1: 稀疏注意力引入:

    • 为了减少计算复杂度和内存占用,只让模型关注一小部分最重要的信息(键值对)。
    • 之所以用这个子解法,是因为传统的注意力机制需要计算所有数据点之间的关系,非常消耗计算资源。
    • 操作: 将输入特征图分割成多个非重叠的区域,并对每个区域的特征进行线性投影,以获得该区域的查询(Q)、键(K)和值(V)。
  • 子解法2: 区域级路由:

    • 首先在更大的区域级别筛选出最可能相关的区域,减少需要进一步处理的数据量。
    • 之所以用这个子解法,是因为直接在最细节的层面(像素或特征点)上筛选相关信息效率低下。
    • 操作: 构建一个有向图来确定哪些区域应该被给定区域关注,进而通过保留每个区域最相关的k个连接来修剪亲和图。
  • 子解法3: 令牌级注意力应用:

    • 在通过区域级筛选后的数据上,进行细致的处理,确保关注到的是确实有价值的信息。
    • 之所以用这个子解法,是因为即使在区域级筛选后,我们仍需要从这些区域中找到最具体、最相关的信息。
    • 操作: 在经过区域到区域路由后,对选定的区域内的所有键值对应用细粒度的令牌到令牌注意力,使用聚合操作以适应现代GPU的内存访问模式。

这一机制使BiFormer模型能够以内容感知的方式,仅关注对每个查询最相关的一小部分信息,大幅提高了计算效率和性能。

在这里插入图片描述
图展示了BiFormer模型的注意力机制如何聚焦于图像的不同部分。

对于两个场景,它展示了原始图像并标出了两个查询位置,模型关注的相应区域(路由区域),以及最终的注意力热图。

这说明了模型基于查询位置选择性地聚焦于输入图像相关部分的能力。

 
举个例子,在一个大型图书馆里寻找关于“人工智能”的书籍,这个图书馆有成千上万的书籍,分布在不同的区域和书架上。

  1. 子解法1: 稀疏注意力引入:

    • 这就像是你已经知道“人工智能”书籍只可能在“科技”和“计算机科学”这两个大的分类区域中。
    • 因此,你不需要去每个区域逐本查看所有的书籍,而是直接去这两个与你的需求最相关的区域。
    • 之所以采用这种方法,是因为如果检查图书馆里的每一本书,将会非常耗时。这就像是传统注意力机制需要计算所有数据点之间的关系,非常耗费时间和精力。
  2. 子解法2: 区域级路由:

    • 当你到达“科技”和“计算机科学”区域后,你会注意到这些区域根据子主题进一步划分成小区域,比如“软件开发”、“网络安全”和“人工智能”。
    • 在这一步,你会选择直接前往“人工智能”小区域,而忽略其他不相关的小区域。
    • 之所以这样做,是因为即使在“科技”和“计算机科学”这两个大区域中,也存在大量与你的需求不相关的书籍。直接前往最可能包含你需要信息的小区域,可以更高效地找到目标书籍。
  3. 子解法3: 令牌级注意力应用:

    • 在“人工智能”小区域里,你会详细检查每一本书的标题和简介,找到最符合你需求的几本书。
    • 这一步骤确保了你不仅找到了正确的区域,也找到了具体的、最有价值的信息。
    • 之所以需要这一步,是因为即使是在“人工智能”小区域内,也会有许多不同方向和层次的书籍。细致地挑选能够确保你获得最相关和有价值的信息。

这种“筛选和聚焦”的方法大大减少了搜索的范围和复杂度,最终使你能够高效地找到你需要的信息。

这与在变压器模型中引入双层路由注意力机制的目的是一致的:先大范围筛选出可能相关的区域,再在这些区域中寻找最具体、最相关的信息。

BiFormer 结构

在这里插入图片描述
这幅图是BiFormer模型的整体架构和一个BiFormer模块的详细构造。

左侧:BiFormer的整体架构

  • 输入是一个具有高度H、宽度W和3个颜色通道的图像。
  • 模型被分为四个阶段,每个阶段都包含一个或多个BiFormer块(标记为 ( N 1 , N 2 , N 3 , N 4 ) ( N_1, N_2, N_3, N_4) (N1,N2,N3,N4)
  • 第一阶段开始于一个补丁嵌入层,将图像转换成一个维度为 H 4 × W 4 × C \frac{H}{4} \times \frac{W}{4} \times C 4H×4W×C 的特征映射。
  • 在接下来的每个阶段,通过补丁合并模块将特征映射的空间分辨率减半,同时增加通道数(例如,第二阶段的输出是 H 8 × W 8 × 2 C \frac{H}{8} \times \frac{W}{8} \times 2C 8H×8W×2C
  • 这样的金字塔结构有助于模型在不同的尺度上捕捉图像特征,对于处理复杂的视觉任务非常有用。

右侧:BiFormer模块的细节

  • 一个BiFormer块由几个主要部分组成:
    • 深度可分离卷积(DWConv 3x3):它是一个轻量级的卷积层,用于捕捉局部特征并保持计算效率。
    • 双层路由注意力(Bi-level Routing Attention):这是BiFormer的核心特性,它动态地选择与每个查询最相关的键值对,而不是简单地与所有特征交互。
    • 层正规化(LN):用于稳定模型的训练过程。
    • 多层感知机(MLP):一个全连接的网络部分,用于非线性特征变换。

这种设计使得BiFormer在处理大规模图像数据时,能够有效地降低计算负担,同时保持对长距离依赖的敏感性。

每个BiFormer块通过细化特征表示,并结合多尺度信息处理,以提升模型的视觉识别能力。

小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

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

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

相关文章

【Leetcode每日一题】二分查找 - 搜索插入位置(难度⭐)(21)

1. 题目解析 Leetcode链接:35. 搜索插入位置 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 核心在于找到给定目标值要在给定数组下标插入的下标并返回,设计一个O(logn)的算法。 2. 算法原理 a. 分析插入…

本地navicate连接vm虚拟机中的mysql5.7docker容器

一,配置 前提是我已经启动的mysql5.7容器 使用 docker ps -a 查看所有的容器 使用 docker exec -it c4f9 bash 进入mysql命令行,注意这个c4f9是容器唯一id,不用写全连接mysql mysql -uroot -p123456,连接成功后 输入 show datab…

云计算 2月21号 (linux文件及用户管理)

一、文件管理 1.1快捷键 编辑命令: Ctrl a :移到命令行首 Ctrl e :移到命令行尾 Ctrl u :从光标处删除至命令行首 Ctrl k :从光标处删除至命令行尾 Ctrl w :从光标处删除至字首 Ctrl d &#x…

优化云的 10 种方法...

云优化是正确选择正确的资源并将其分配给工作负载或应用程序的过程,确保资源得到有效利用并优化性能。这是为了确保您充分利用云基础设施。这包括确保您没有过度配置(或者实际上配置不足)资源,并确保您为正确的任务使用正确的服务…

Stable Diffusion 模型分享:GalaxyTimeMachines GTM ForYou-Fantasy(幻想)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 作者述:这个“幻想”模型比这个系列的照片模型有更多的风格和颜色。如果推动的…

C++-你知道二叉搜索树吗?(循环版)

1.二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于…

AI智能分析网关V4:抽烟/打电话/玩手机行为AI算法及场景应用

抽烟、打电话、玩手机是人们在日常生活中常见的行为,但这些行为在某些场合下可能会带来安全风险。因此,对于这些行为的检测技术及应用就变得尤为重要。今天来给大家介绍一下TSINGSEE青犀AI智能分析网关V4抽烟/打电话/玩手机检测算法及其应用场景。 将监控…

uni-app去除页面头部的标题栏

uniapp项目 每个界面都会有一个标题栏 配置在我们项目根目录的 pages.json中 我们将它全部去掉 上面还是有一条黑的 体验非常差 我们只需要在pages.json中 指定page的 style中加入 "navigationStyle": "custom"对应的page 就没有这个标题栏了

MySQL 核心模块揭秘 | 07 期 | 二阶段提交 (1) prepare 阶段

二阶段提交的 prepare 阶段,binlog 和 InnoDB 各自会有哪些动作? 本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。 1. 二阶段提交 二阶段提交,顾名思义,包含两个阶段,它们是: prepare 阶段。…

基础小白快速入门c语言--

变量: 表面理解:在程序运行期间,可以改变数值的数据, 深层次含义:变量实质上代表了一块儿内存区域,我们可以将变量理解为一块儿内存区域的标识,当我们操作变量时,相当于操作了变量…

社会底层人民要被人工智能和机器人淘汰了吗?你害怕被AI代替吗?

随着科技的飞速发展,人工智能和机器人技术已经成为我们日常生活中不可或缺的一部分。这些技术的广泛应用引发了一些担忧,其中之一就是社会底层人民是否会被人工智能和机器人所淘汰。然而,这个问题并不是非黑即白的,它需要从多个角…

IDEA 配置股票插件

IDEA配置股票基金实时查看插件,步骤如下: 打开Settings,找到Plugins,在Marketplace中搜索:Money Never Sleeps,如下图所示: Money Never Sleeps是IntelliJ IDEA平台插件. 支持查看股票实时行情…

Springboot项目中定时任务的四种实现方式

文章目录 1. 使用Scheduled注解1.1 时间间隔执行1.2 固定时间点执行 2. 使用EnableScheduling注解启用定时任务3. 实现SchedulingConfigurer接口4. 使用Quartz框架4.1 配置QuartzScheduler4.2 定义Job类和Trigger类 5. 总结 在开发现代应用时,定时任务是一个非常常见…

模板初阶的补充和string一些函数的用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 模板初阶的补充 一、C语言中的字符串 二、标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明(注意下面我只讲解最常用的接口&…

5个顶级AI训练数据提供商

人工智能革命极大地改变了世界,其影响遍及全球各个行业。 它改变了企业的典型运营方式,从而显着提高了生产力。 大多数公司已经使用或正在考虑某种形式的人工智能。 但为了让机器获得准确的结果,需要可以输入机器学习算法的高质量标记数据。…

大数据可视化python01

import pandas as pd import matplotlib.pyplot as plt# 设置中文改写字体 plt.rcParams[font.sans-serif] [SimHei]# 读取数据 data pd.read_csv(C:/Users/wzf/Desktop/读取数据进行数据可视化练习/实训作业练习/瓜果类单位面积产量.csv ,encoding utf-8)#输出 print(data)…

2024中国5G随身WiFi十大品牌排行榜,20245G随身口碑排行榜,5G随身WiFi2024最新款!5G随身WiFi推荐测评

【中国品牌网中国3C质量评测中心权威榜单联合发布】 第一名:格行5G随身WiFi: 优点:随身WiFi行业的头部和领跑品牌,15年专业物联网行业经验,格行在技术研发、产品创新和客户服务方面具有很高的口碑,被业内…

【Leetcode每日一题】二分查找 - 山脉数组的峰顶索引(难度⭐⭐)(23)

1. 题目解析 Leetcode链接:852. 山脉数组的峰顶索引 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 核心在于找到题目中所说的峰值所在的下标并返回他们的下标即可。 2. 算法原理 峰顶及两侧数据特点分析 峰顶数据…

AI加持下的2023年度威胁态势:一场危机四伏的赛跑

2023年被称为人工智能的元年,大模型技术的持续优化使得AI的处理能力更加强大,AI技术应用已进一步扩展到金融、教育、医疗等行业领域,正逐步渗透到生活的方方面面。数字化与智能化的大势带来的不仅是各领域的变革,回归发展的基础&a…

【单片机学习的准备】

文章目录 前言一、找一个视频是二、画图软件三、装keil5 仿真protues总结 前言 提示:这里可以添加本文要记录的大概内容: 项目需要: 提示:以下是本篇文章正文内容,下面案例可供参考 一、找一个视频是 https://www.b…