一文读懂| 自注意力与交叉注意力机制在计算机视觉中作用与基本原理

《博主简介》

小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。
👍感谢小伙伴们点赞、关注!

《------往期经典推荐------》

一、AI应用软件开发实战专栏【链接】

项目名称项目名称
1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】
3.【手势识别系统开发】4.【人脸面部活体检测系统开发】
5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】
7.【YOLOv8多目标识别与自动标注软件开发】8.【基于YOLOv8深度学习的行人跌倒检测系统】
9.【基于YOLOv8深度学习的PCB板缺陷检测系统】10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统】
11.【基于YOLOv8深度学习的安全帽目标检测系统】12.【基于YOLOv8深度学习的120种犬类检测与识别系统】
13.【基于YOLOv8深度学习的路面坑洞检测系统】14.【基于YOLOv8深度学习的火焰烟雾检测系统】
15.【基于YOLOv8深度学习的钢材表面缺陷检测系统】16.【基于YOLOv8深度学习的舰船目标分类检测系统】
17.【基于YOLOv8深度学习的西红柿成熟度检测系统】18.【基于YOLOv8深度学习的血细胞检测与计数系统】
19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统】20.【基于YOLOv8深度学习的水稻害虫检测与识别系统】
21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统】22.【基于YOLOv8深度学习的路面标志线检测与识别系统】
23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统】24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统】
25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统】26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统】
27.【基于YOLOv8深度学习的人脸面部表情识别系统】28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统】
29.【基于YOLOv8深度学习的智能肺炎诊断系统】30.【基于YOLOv8深度学习的葡萄簇目标检测系统】
31.【基于YOLOv8深度学习的100种中草药智能识别系统】32.【基于YOLOv8深度学习的102种花卉智能识别系统】
33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统】34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统】
35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统】36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统】
37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统】38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统】
39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统】40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统】
41.【基于YOLOv8深度学习的遥感地理空间物体检测系统】42.【基于YOLOv8深度学习的无人机视角地面物体检测系统】
43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统】44.【基于YOLOv8深度学习的野外火焰烟雾检测系统】
45.【基于YOLOv8深度学习的脑肿瘤智能检测系统】46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统】
47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统】48.【基于深度学习的车辆检测追踪与流量计数系统】
49.【基于深度学习的行人检测追踪与双向流量计数系统】50.【基于深度学习的反光衣检测与预警系统】
51.【基于深度学习的危险区域人员闯入检测与报警系统】52.【基于深度学习的高密度人脸智能检测与统计系统】
53.【基于深度学习的CT扫描图像肾结石智能检测系统】54.【基于深度学习的水果智能检测系统】
55.【基于深度学习的水果质量好坏智能检测系统】56.【基于深度学习的蔬菜目标检测与识别系统】
57.【基于深度学习的非机动车驾驶员头盔检测系统】58.【太基于深度学习的阳能电池板检测与分析系统】
59.【基于深度学习的工业螺栓螺母检测】60.【基于深度学习的金属焊缝缺陷检测系统】
61.【基于深度学习的链条缺陷检测与识别系统】62.【基于深度学习的交通信号灯检测识别】
63.【基于深度学习的草莓成熟度检测与识别系统】64.【基于深度学习的水下海生物检测识别系统】
65.【基于深度学习的道路交通事故检测识别系统】66.【基于深度学习的安检X光危险品检测与识别系统】
67.【基于深度学习的农作物类别检测与识别系统】68.【基于深度学习的危险驾驶行为检测识别系统】
69.【基于深度学习的维修工具检测识别系统】

二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

目录

  • 引言
  • 深度学习中的注意力是什么?
  • 自注意力:关注内部关系
    • 自注意力是如何工作的?
    • 计算机视觉应用
  • 交叉注意力:连接不同的模态
    • 交叉注意力是如何工作的?
    • 计算机视觉应用
  • 自注意力与交叉注意力主要区别
  • 为什么注意力在计算机视觉中很重要
  • 结论

引言

近年来,自注意力(self-sttention)交叉注意力(cross-attention)已经成为计算机视觉领域的强大机制,在vison transformers(ViTs)和各种生成模型等模型的成功中发挥了关键作用。这些注意力机制使模型能够专注于输入图像的不同部分,改善机器感知和处理视觉信息的方式。在本文中,我们将探讨什么是自注意力和交叉注意力,它们是如何工作的,以及它们在计算机视觉中的具体应用。

深度学习中的注意力是什么?

在高层次上,注意力机制允许模型以不同的方式衡量不同输入数据的重要性。注意力不是平等对待所有输入,而是帮助模型专注于与手头任务更相关的特定区域或特征。这首先是在自然语言处理(NLP)中引入的,但后来被应用于计算机视觉任务,彻底改变了深度学习模型理解图像的方式。

自注意力:关注内部关系

自注意力是一种机制,模型计算单个输入(通常是计算机视觉中的图像)的所有部分之间的关系。术语“自我”指的是模型关注同一输入中的关系,允许它捕获局部和全局依赖关系。

自注意力是如何工作的?

在自注意力中,对于每个像素(或图像中的补丁),模型计算该像素与其他像素之间的“注意力得分”。这些分数帮助模型决定在对任何特定部分进行预测时对图像的不同部分给予多少关注。

这里有一个简化的过程:

img

  1. Query、Key和Value:图像的每个部分都被投影到三个不同的向量中:Query(Q)、Key(K)和Value(V)。Query和Key用于计算注意力分数,而Value保存模型将向前传递的信息。
  2. 注意力分数计算:任何两个像素之间的注意力分数是通过取它们的Query和Key向量的点积来计算的,然后是一个softmax操作来规范化这些分数。
  3. 加权和:然后使用注意力分数来加权值向量。该模型输出每个像素的值向量的加权和,这使得它能够专注于图像中最相关的部分。

img

img

计算机视觉应用

自注意力是视觉转换器(ViTs)的核心,它将图像视为一系列补丁,而不是使用卷积。这种方法允许ViT捕获像素之间的长距离和短距离依赖关系,使其对于图像分类,对象检测和分割等任务非常有效。

交叉注意力:连接不同的模态

交叉注意力与自注意力的不同之处在于,它在两个不同的输入之间运行,而不是在一个输入内运行。在交叉注意力中,注意力机制允许模型基于来自另一个输入(例如文本提示或不同的图像)的信息来关注一个输入(例如图像)的相关部分。

交叉注意力是如何工作的?

与自我注意力类似,交叉注意力也使用Query、Key和Value向量,但这些向量来自两个不同的来源:

img

  1. 查询来自一个输入(例如,文本)。
  2. 键和值来自第二输入(例如,图像)。

然后,交叉注意力机制计算来自一个模态的查询和来自另一个模态的键之间的注意力分数。这允许模型关注一个输入中与另一个输入最相关的部分,从而弥合不同数据类型之间的差距。

img

img

计算机视觉应用

交叉注意是多模态模型的基本组成部分,其中模型必须处理多种类型的输入。例如,在文本到图像生成(例如,DALL·E和稳定扩散),交叉注意力使模型能够将文本描述与相关视觉特征对齐。通过允许文本引导模型关注图像的特定区域,交叉注意确保生成的图像与文本提示准确匹配。

另一个令人兴奋的应用是图像引导的图像合成视频生成,其中图像或一组图像可以引导新图像或帧的合成。在这里,交叉注意力帮助模型混合来自不同来源的信息,确保输出的一致性。

自注意力与交叉注意力主要区别

虽然自注意力和交叉注意力在现代计算机视觉模型中起着关键作用,但它们的区别在于它们所捕捉的关系的性质:

img

为什么注意力在计算机视觉中很重要

注意力机制,无论是自注意力还是交叉注意力,都提供了灵活性和可扩展性,使模型能够更有效地处理复杂的视觉任务。随着计算机视觉的不断发展,基于注意力的模型有望在广泛的应用中扩大其影响力,从自动驾驶汽车和医学成像到生成令人惊叹的视觉内容的创意工具。

自我注意力和交叉注意力都为模型提供了更智能地“看”世界的能力。自我注意使他们能够专注于图像中的重要细节,而交叉注意使他们能够联合收割机从多种模态中获得见解,从而对视觉信息产生更深入、更细致的理解。

结论

自注意力和交叉注意力是重新定义计算机视觉领域的变革机制。它们使机器能够更有效地理解视觉数据,无论是通过关注图像内的关系,还是将图像与文本等其他形式联系起来。随着注意力机制的不断成熟,它们在推动基于视觉的应用程序创新方面的潜力是无限的,使其成为人工智能未来的重要工具。


在这里插入图片描述

在这里插入图片描述

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!

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

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

相关文章

手动切换python版本

本地有多个python版本,在没有安装anaconda工具,需要手动切换环境需要的操作。 目录 1、建立目录 建立pip的本地目录,如下图: 2、打开系统环境变量,增加变量 打开系统环境变量,我这里用的是“编辑帐户的…

在 ASP.NET Core 6.0 中使用 Swagger/OpenAPI 丰富 Web API 文档

示例代码:https://download.csdn.net/download/hefeng_aspnet/89961435 介绍 在选择或尝试与 API 集成之前,大多数开发人员都会查看其 API 文档。保持 API 文档更新以反映软件更改是一项挑战,需要时间和精力。对于 Web API,我们…

125. 屏幕坐标转标准设备坐标

在讲解下节课鼠标点击选中模型之前,先给大家讲解下坐标系的问题。 获取鼠标事件坐标 先来了解一些,普通的web前端相关知识。 鼠标单击HTML元素,通过函数的参数鼠标事件对象event,可以获取一些坐标信息。课件源码中是以threejs的…

【SAP-ABAP】-BTE增强

BTE增强的概念: 有点类似财务的替代增强 SAP有很多这种增强方式,就是相当于复制一个原有FM,替换FM里面的逻辑 事务码:FIBF--维护事务BTE 一、操作步骤:FIBF->环境->信息系统,查找事件号及需要替换的函…

【云原生开发】K8S集群管理后端开发设计与实现

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

爱普生SG-8201CG可编程振荡器的应用领域

在科技飞速发展的今天,电子设备的性能和稳定性成为各个行业关注的焦点。爱普生 SG - 8201CG 可编程振荡器以其卓越的性能,在众多领域中大放异彩,成为推动行业进步的关键力量。 1.通信领域:高速通信的精准守护者 在通信领域&…

计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session

文章目录 一、HTTP协议的特点1.1 特点1.2 HTTP是不保存状态的协议,如何保存用户状态? 二、浏览器中输入URL返回页面过程(重)三、HTTP状态码四、HTTP相关协议对比4.1 HTTP和HTTPS的区别(重)4.2 HTTP1.0和HTTP1.1的区别…

基于Spring Boot的网上商品订单转手系统设计与实现,LW+源码+讲解

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装网上商品订单转手系统软件来发挥其高效地信息处理的作用&a…

设备的设计流程和风险评估

为了保证机器的安全性,在机器设计和开发过程中必须降低风险。该过程如下列流程图所示。 风险评估的含义以及如何进行

【MATLAB源码-第209期】基于matlab的MSK调制解调仿真,对比三种解调方法的误码率分别是相干解调,1比特差分,2比特差分。

操作环境: MATLAB 2022a 1、算法描述 最小频移键控(Minimum Shift Keying,简称MSK)是一种特殊的连续相位频移键控(CPFSK),它以其频谱效率高、抗干扰能力强而著称,广泛应用于无线通…

Git 的分支管理

一、分支介绍 1、分支是什么 Git作为一个分布式版本控制系统,提供了强大而灵活的分支管理功能,使得开发团队能够高效地协作开发、管理不同的功能和版本。 2、为什么有分支 一般情况下主分支(master/main)应始终保持可部署的状…

论文速读:简化目标检测的无源域适应-有效的自我训练策略和性能洞察(ECCV2024)

中文标题:简化目标检测的无源域适应:有效的自我训练策略和性能洞察 原文标题:Simplifying Source-Free Domain Adaptation for Object Detection: Effective Self-Training Strategies and Performance Insights 此篇文章为论文速读&#xff…

mac找到主目录下的文件夹

访达-(上方状态栏显示)-然后在

FFmpeg 4.3 音视频-多路H265监控录放C++开发十二:在屏幕上显示多路视频播放,可以有不同的分辨率,格式和帧率。

上图是在安防领域的要求,一般都是一个屏幕上有显示多个摄像头捕捉到的画面,这一节,我们是从文件中读取多个文件,显示在屏幕上。 一 改动UI文件 这里我们要添加两个label,为了区分我们设置一下背景色(这个是…

RK3576 LINUX RKNN SDK 测试

安装Conda工具 安装 Miniforge Conda wget -c https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh chmod 777 Miniforge3-Linux-x86_64.sh bash Miniforge3-Linux-x86_64.shsource ~/miniforge3/bin/activate # Miniforge 安装的…

新能源行业必会基础知识-----电力现货市场理论篇-----主目录-----持续更新

新能源行业知识体系-------主目录-----持续更新https://blog.csdn.net/grd_java/article/details/140004020 这本书是2023年出版的,是当下了解国内电力市场最好的途径了。 电力现货市场理论篇 一、电力市场概述1. 电力市场总体架构2. 电力市场模式选择3. 电力市场建…

docker 拉取MySQL8.0镜像以及安装

目录 一、docker安装MySQL镜像 搜索images 拉取MySQL镜像 二、数据挂载 在/root/mysql/conf中创建 *.cnf 文件 创建容器,将数据,日志,配置文件映射到本机 检查MySQL是否启动成功: 三、DBeaver数据库连接 问题一、Public Key Retrieval is not allowed 问题…

#Prompt | AI | LLM # 人类如何写出LLM理解的Prompt

一、如何写好Prompt 结构化Prompt 结构化Prompt是对信息进行组织,使其遵循特定模式和规则,以便于有效理解信息。常用模块包括: Role: 指定角色,使模型聚焦于特定领域。Profile: 包括作者、版本、语言和描述。Goals: 描述Prompt的…

vue计算属性

概念:基于现有的数据,计算出来新属性。并依赖数据的变化,自动重新计算 使用场景: 语法:声明在computed配置项中,一个计算属性对应一个函数,使用起来和普通属性一样使用{{计算属性名}} 代码&…

playground.tensorflow神经网络可视化工具

playground.tensorflow 是一个可视化工具,用于帮助用户理解深度学习和神经网络的基本原理。它通过交互式界面使用户能够构建、训练和可视化简单的神经网络模型。以下是一些主要的数学模型和公式原理,它们在这个平台中被应用: 1. 线性模型 线…