计算机视觉注意力机制小盘一波 (学习笔记)


将注意力的阶段大改分成了4个阶段
1.将深度神经网络与注意力机制相结合,代表性方法为RAM
⒉.明确预测判别性输入特征,代表性方法为STN
3.隐性且自适应地预测潜在的关键特征,代表方法为SENet
4.自注意力机制
通道注意力
在深度神经网络中,每个卷积层通常包含多个通道,每个通道对应一个特定的特征。
通道注意力的目标是根据每个通道的重要性,动态地调整通道的权重,
以便在网络中更好地捕捉和利用重要的特征。


通过显示建模通道之间的相互依赖性,重新校准通道方面的特征响应
在squeeze阶段,通过全局平均池化操作,将卷积层的输出特征图压缩成一个特征向量
然后再excitation阶段,通过使用全连接层和非线性激活函数
学习生成一个通道的权重向量(被应用于原始特征图的每个通道),已对不同通道的特征进行加权

空间注意力
空间注意力可以被看作是一种自适应的空间区域选择机制。
空间注意机制允许神经网络在处理输入数据时,有选择性地关注特定的空间位置或区域,
以便更好地提取有用的特征。
可以帮助网络集中注意力在重要的区域上,忽略或减少对不相关区域的处理。
其应用范围比通道注意力多出了精细分类(FGCls)和图像字幕(ICap)。

它通过 策略梯度 以 端到端的方式循环预测重要区域, 并更新整个网络

明确预测 相关区域

引入空间变换器模块的方法
该模块可以对输入数据进行几何变换 平移旋转缩放
核心思想 是通过一个空间变换器 使得网络可以自动学习 对输入数据进行合适的几何变换
从而提升网络的鲁棒性和泛化能力

隐式的进行softmask的预测
该篇paper 提出了一种新的特征上下文利用方法
gather excite 通过在卷积神经网络的不同层之间收集特征信息,
并在每个层中激活重要的特征,从而提升网络的性能

传统的卷积神经网络在处理图像时,通常只考虑局部的特征
然而在某些任务重,全局上下文信息对于准确的预测非常重要
Non-local Neural Networks 非局部神经网络 通过 引入非局部操作
使得网络能够在任意位置上对全局信息进行交互

时间注意力
时间注意力可以被看作是一种动态的时间选择机制,决定了何时进行注意,因此通常用于视频处理。

本文提出了全局局部时间表示 来利用视频序列中的多尺度时间线索
进行视频人物重新识别
本篇Method 为 首先对相邻帧之间的短期时间线索,进行建模
然后捕获 不连续帧之间的长期关系

tam模块的核心思想是 引入一个自适应的时间注意力模块
他通过 学习得到每个时间步骤的注意力权重 从而决定那些时间步骤对于当前任务更加重要
这样模型在不同视频中 动态选择时间窗口的长度 以适应不同的时间尺度

分支注意力
分支注意力通常用于多分支的神经网络中,其中每个分支都专注于不同的特征子集。
这些分支可以是不同层级的特征提取器,也可以是不同任务的子模型。
通过引入分支注意力,模型可以自动学习每个分支的权重, 以便更好地利用不同分支的特征。

提出了全新的高速网络架构 用于优化深度神经网络 由于梯度爆炸和梯度消失而导致的训练苦难的问题
引入门控机制来控制 信息的流动 从而允许网络更好地学习输入数据中的非线性关系

提出一种条件参数卷积
他可以为每个样例学习一个特定的卷积kernel参数 通过替换标准卷积

通道空间注意力
CBAM小陈读paper系列-CSDN博客
channel attention 学习通道间的依赖关系 来调整通道的重要性 以增强网络对不同通道的感知能力
spatial attention 空间上 空间

时空注意力
结合了空间注意力和时间注意力的优点,能够自适应地选择重要区域和关键帧。
1.Attention Mechanisms in Computer Vision: A Survey(https://arxiv.org/abs/2111.07624)
2.Squeeze-and-Excitation Networks(https://arxiv.org/abs/1709.01507)
3.Recurrent Models of Visual Attention(https://arxiv.org/abs/1406.6247)
4.Spatial Transformer Networks(https://arxiv.org/abs/1506.02025)
5.Gather-Excite: Exploiting Feature Context in Convolutional Neural Networks(https://arxiv.org/abs/1810.12348)
6.Non-local Neural Networks(https://arxiv.org/abs/1711.07971)
7.Global-Local Temporal Representations For Video Person Re-Identification(https://arxiv.org/abs/1908.10049)
8.TAM: Temporal Adaptive Module for Video Recognition(https://arxiv.org/abs/2005.06803) 9.Training Very Deep Networks(https://arxiv.org/abs/1507.06228)
10.CondConv: Conditionally Parameterized Convolutions for Efficient Inference(https://arxiv.org/abs/1904.04971)
11.CBAM: Convolutional Block Attention Module(https://arxiv.org/abs/1807.06521) 12.Residual Attention Network for Image Classification(https://arxiv.org/abs/1704.06904)
13.Recurrent Spatial-Temporal Attention Network for Action Recognition in Videos(https://ieeexplore.ieee.org/document/8123939)
14.STA: Spatial-Temporal Attention for Large-Scale Video-based Person Re-Identification(https://arxiv.org/abs/1811.04129)
15.Spatial-Temporal Graph Convolutional Network for Video-Based Person Re-Identification
本期内容 为b站学习笔记
计算机视觉注意力机制大盘点!Attention is all you need!_哔哩哔哩_bilibili
相关文章:
计算机视觉注意力机制小盘一波 (学习笔记)
将注意力的阶段大改分成了4个阶段 1.将深度神经网络与注意力机制相结合,代表性方法为RAM ⒉.明确预测判别性输入特征,代表性方法为STN 3.隐性且自适应地预测潜在的关键特征,代表方法为SENet 4.自注意力机制 通道注意力 在深度神经网络中…...
LVS+keepalive高可用集群
keepalive简介 keepalive为LVS应用延伸的高可用服务。lvs的调度器无法做高可用。但keepalive不是为lvs专门集群服务的,也可以为其他的的代理服务器做高可用。 keepalive在lvs的高可用集群,主调度器和备调度器(可以有多个) 一主两备或一主一备。 VRRP: k…...
Thread 和 Runnable 的区别
Thread 和 Runnable 接口的区别有四个: Thread 是一个类,Runnable 是接口,因为在 Java 语言里面的继承特性,接口可以支持多继承,而类只能单一继承。所以如果在已经存在继承关系的类里面要实现线程的话,只能…...
图神经网络和分子表征:5. Completeness
大家都知道 “两点确定一线,三点确定一平面”,那么多少个变量可以确定一个分子呢?这是最近顶刊们热烈讨论的话题。 (据笔者不完全统计)最早在 SphereNet (2022 ICLR)论文里,摘要上就…...
css-渐变色矩形
效果图: 代码: html: <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"initial-scale1.0, user-scalableno" /><title></title><link …...
使用easypoi-spring-boot-starter 4.1.1导入excel报错NoSuchMethodError和NoSuchMethodError
前言 使用easypoi进行excel的导入遇到的错误以及解决办法 easypoi项目地址:https://gitee.com/lemur/easypoi easypoi的Maven依赖: <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter<…...
matlab中类的分别之handle类和value类——matlab无法修改类属性值的可能原因
写在之前(吐槽) 最近由于变化了一些工作方向,开始需要使用matlab进行开发,哎哟喂,matlab使用的我想吐,那个matlab编辑器又没代码提示,又没彩色,我只好用vscode进行代码编辑…...
3. t2t_vit inference
前言 对vit 进行fp16推理 参考链接: https://github.com/open-mmlab/mmpretrain/tree/master/configs/t2t_vit run code : https://mmclassification.readthedocs.io/en/latest/getting_started.html#inference-and-test-a-dataset https://mmclassification.readthedo…...
SpringMVC Day 05 : Spring 中的 Model
前言 欢迎来到 SpringMVC 系列教程的第五天!在之前的教程中,我们已经学习了如何使用控制器处理请求和返回视图。今天,我们将深入探讨 Spring 中的 Model。 在 Web 应用程序开发中,数据的传递和展示是非常重要的。SpringMVC 提供…...
redis6.0源码分析:字典扩容与渐进式rehash
文章目录 字典数据结构结构设计dictType字典类型为什么字典有两个哈希表?哈希算法 扩容机制扩容前置知识字典存在几种状态?容量相关的关键字段定义字典的容量都是2的幂次方 扩容机制字典什么时候会扩容?扩容的阈值 & 扩容的倍数哪些方法会…...
【C++迭代器iterator】
迭代器 i t e r a t o r 迭代器iterator 迭代器iterator 在 容器 v e c t o r 容器vector 容器vector 中的使用 迭代器 i t e r a t o r 迭代器iterator 迭代器iterator 一般使用在 容器 v e c t o r 容器vector 容器vector 的 遍历 遍历 遍历,充当 遍历指针 遍…...
基于群居蜘蛛算法的无人机航迹规划
基于群居蜘蛛算法的无人机航迹规划 文章目录 基于群居蜘蛛算法的无人机航迹规划1.群居蜘蛛搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用群居蜘蛛算法来优化无人机航迹规划。 …...
火爆全网,Python+Requests+Pytest+YAML+Allure实现接口自动化测试(附源码)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 本项目实现接口自…...
【深度学习】【NLP】如何得到一个分词器,如何训练自定义分词器:从基础到实践
文章目录 什么是分词?分词算法使用Python训练分词器步骤1:选择分词算法步骤2:准备训练语料步骤3:配置分词器参数步骤4:训练分词器步骤5:测试和使用分词器 代码示例:使用SentencePiece训练分词器…...
线程池的线程回收
线程池 线程池里面分为核心线程和非核心线程。 核心线程是常驻在线程池里面的工作线程,它有两种方式初始化: 向线程池里面添加任务的时候,被动初始化 主动调用 prestartAllCoreThreads 方法 当线程池里面的队列满了的情况下,为了增…...
【2023.10.25练习】数据库-函数1
任务描述 本关任务:编写函数fun_1完成学生选课操作。输入参数:学号、课程名,函数返回值:操作结果。 如果该生已有该门课程的选修记录,则函数返回-1;如果该门课程无先修课,则将选课信息添加到选…...
基于水循环算法的无人机航迹规划-附代码
基于水循环算法的无人机航迹规划 文章目录 基于水循环算法的无人机航迹规划1.水循环搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用水循环算法来优化无人机航迹规划。 1.水循环…...
JVM调优(10)JVM的运行时数据区
一、概述 对于 C C 来说,在内存管理领域,JVM既拥有最高的权利,但是同时他们又是从事最基础工作的劳动人员,因为他们担负着每一个对象从开始到结束的维护责任。而对于Java来说,再虚拟机自动内存管理的帮助下࿰…...
Python网络爬虫介绍
视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 什么是网络爬虫? 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者)ÿ…...
iOS QR界面亮度调整
亮度调事,不久在QR界面切换的时候还要考虑进入前台后台时的操作 1.QR界面功能实现代码。 QR界面- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];[[NSUserDefaults standardUserDefaults] setValue:([UIScreen mainScreen].brightness) …...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
