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


将注意力的阶段大改分成了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) …...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...
