CAP:多重注意力机制,有趣的细粒度分类方案 | AAAI 2021
论文提出细粒度分类解决方案CAP,通过上下文感知的注意力机制来帮助模型发现细微的特征变化。除了像素级别的注意力机制,还有区域级别的注意力机制以及局部特征编码方法,与以往的视觉方案很不同,值得一看
来源:晓飞的算法工程笔记 公众号
论文: Context-aware Attentional Pooling (CAP) for Fine-grained Visual Classification

Introduction
论文认为大多数优秀的细粒度图像识别方法通过发掘目标的局部特征来辅助识别,却没有对局部信息进行标注,而是采取弱监督或无监督的方式来定位局部特征位置。而且大部分的方法采用预训练的检测器,无法很好地捕捉目标与局部特征的关系。为了能够更好地描述图片内容,需要更细致地考虑从像素到目标到场景的信息,不仅要定位局部特征/目标的位置,还要从多个维度描述其丰富且互补的特征,从而得出完整图片/目标的内容。
论文从卷积网络的角度考虑如何描述目标,提出了context-aware attentional pooling(CAP)模块,能够高效地编码局部特征的位置信息和外观信息。该模块将卷积网络输出的特征作为输入,学习调整特征中不同区域的重要性,从而得出局部区域的丰富的外观特征及其空间特征,进而进行准确的分类。
论文的主要贡献如下:
- 提出在细粒度图像识别领域的扩展模块CAP,能够简单地应用到各种卷积网络中,带来可观的细粒度分类性能提升。
- 为了捕捉目标/场景间的细微差别,提出由区域特征引导的上下文相关的attention特征。
- 提出可学习的池化操作,用于自动选择循环网络的隐藏状态构成空间和外观特征。
- 将提出的算法在8个细粒度数据集上进行测试,获得SOTA结果。
- 分析不同的基础网络,扩大CAP模块的应用范围。
Proposed Approach

论文算法的整体流程如上图所示,输入图片,输出具体从属类别,包含3个组件(3组参数):
- 基础CNN网络\(\mathcal{F}(.;\theta_b)\)
- CAP模块\(\mathcal{F}(.;\theta_c)\)
- 分类模块\(\mathcal{F}(.;\theta_d)\)
Context-aware attentional pooling (CAP)

定义卷积网络输出的特征为\(x=\mathcal{F}_b(I_n;\theta_b)\),CAP的模块综合考虑像素级特征、小区域特征、大区域特征以及图片级特征的上下文信息进行分类。
pixel-level contextual information

像素级特征的上下文信息主要学习像素间的关联度\(p(x_i|x_j;\theta_p)\),在计算\(j\)位置的输出时根据关联度综合所有其他像素特征,直接使用self-attention实现,特征转化使用\(1\times 1\)卷积。这一步直接对主干网络输出的特征进行操作,但没在整体流程图中体现。
Proposing integral regions
为了更高效地学习上下文信息,论文在特征图\(o\)上定义不同粒度级别的基本区域,粒度级别由区域的大小决定。假设\((i,j)\)位置上的最小的区域为\(r(i,j\Delta_x,\Delta_y)\)为例,可通过放大宽高衍生出一系列区域\(R=\{r(i,j,m\Delta_x,n\Delta_y)\}\),\(i < i + m \Delta_x \le W\),\(j < j + n \Delta_y \le H\)。在不同的位置产生相似的区域合集\(R\),得到最终的区域合集\(\mathcal{R}=\{R\}\)。\(\mathcal{R}\)覆盖了所有的位置的不同宽高比区域,可以提供全面的上下文信息,帮助在图片的不同层级提供细微特征。
Bilinear pooling
按照上一步,在特征图上得到\(|\mathcal{R}|\)个区域,大小从最小的\(\Delta_x\times\Delta_y\times C\)到最大的\(W\times H\times C\),论文的目标是将不同大小的区域表示为固定大小的特征,主要采用了双线性插值。定义\(T_{\psi}(y)\)为坐标转换函数,\(y=(i,j)\in \mathbb{R}^c\)为区域坐标,对应的特征值为\(R(y)\in \mathbb{R}^C\),则转换后的图片\(\tilde{R}\)的\(\tilde{y}\)坐标上的值为:

\(R(T_{\psi(y)})\)为采样函数,\(K(\cdots)\)为核函数,这里采用的是最原始的方法,将目标坐标映射回原图,取最近的四个点,按距离进行输出,最终得到池化后的固定特征\(\bar{f}(w\times h\times C)\)。
Context-aware attention

这里,论文使用全新的注意力机制来获取上下文信息,根据\(\bar{f}_r\)与其他特征\(\bar{f}_{r^{'}}(r, r^{'}\in \mathcal{R})\)的相似性进行加权输出,使得模型能够选择性地关注更相关的区域,从而产生更全面的上下文信息。以查询项\(q(\bar{f}_r)\)和一组关键词项\(k(\bar{f}_{r^{'}})\),输出上下文向量\(c_r\):

参数矩阵\(W_{\beta}\)和\(W_{\beta^{'}}\)用来将输入特征转换为查询项核关键项,\(W_{\alpha}\)为非线性组合,\(b_{\alpha}\)和\(b_{\beta}\)为偏置项,整体的可学习参数为\(\{W_{\beta},W_{\beta^{'}},W_{\alpha},b_{\alpha},b_{\beta}\}\in\theta_c\),而注意力项\(\alpha_{r,r^{'}}\)则代表两个特征之间的相似性。这样,上下文向量\(c_r\)能够代表区域\(\bar{f}_r\)蕴含的上下文信息,这些信息是根据其与其他区域的相关程度获得的,整体的计算思想跟self-attention基本相似。
Spatial structure encoding

上下文向量\(c=\{c_r|r=1,\cdots|\mathcal{R}|\}\)描述了区域的关键程度和特点,为了进一步加入空间排列相关的结构信息,论文将区域的上下文向量\(c\)转为区域序列(论文按上到下、左到右的顺序),输入到循环神经网络中,使用循环神经网络的隐藏单元\(h_r\in\mathbb{R}^n\)来表达结构特征。
区域\(r\)的中间特征可表示为\(h_r=\mathcal{F}_h(h_{r-1},f_r;\theta_h)\),\(\mathcal{F}_h\)采用LSTM,\(\theta_h\in\theta_c\)包含LSTM的相关参数。为了增加泛化能力和减少计算量,上下文特征\(f_r\in\mathbb{R}^{1\times C}\)由\(c_r\in\mathbb{R}^{w\times h\times C}\)进行全局平均池化得到,最终输出上下文特征序列\(f=(f_1,f_2,\cdots,f_r,\cdots,f_{|\mathcal{R}|})\)对应的隐藏状态序列\(h=(h_1,h_2,\cdots,h_r,\cdots,h_{|\mathcal{R}|})\),后续用于分类模块中。
Classification

为了进一步引导模型分辨细微的变化,论文提出可学习的池化操作,能够通过组合响应相似的隐藏层\(h_r\)来整合特征信息。论文借鉴NetVLAD的思想,用可导的聚类方法来对隐藏层的响应值进行转换,首先计算隐藏层响应对类簇\(k\)的相关性,再加权到类簇\(k\)的VLAD encoding中:

每个类簇都有其可学习的参数\(W_i\)和\(b_i\),整体思想基于softmax,将隐藏层的响应值按softmax的权重分配到不同的类簇中。在得到所有类簇的encoding向量后,使用可学习的权值\(W_N\)和softmax进行归一化。因此,分类模块\(\mathcal{F}_d\)的可学习参数为\(\theta_d=\{W_i, b_i, W_N\}\)。
Experiments and Discussion

在不同的数据集上,对不同方法进行对比。

不同主干网络下的准确率对比。

不同模块输出特征的可视化,图b是加入CAP后,主干网络输出的特征。
Conclusion
论文提出细粒度分类解决方案CAP,通过上下文感知的注意力机制来帮助模型发现目标的细微特征变化。除了像素级别的注意力机制,还有区域级别的注意力机制以及局部特征编码方法,与以往的视觉方案很不同,值得一看。
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

CAP:多重注意力机制,有趣的细粒度分类方案 | AAAI 2021的更多相关文章
- NLP之基于Bi-LSTM和注意力机制的文本情感分类
Bi-LSTM(Attention) @ 目录 Bi-LSTM(Attention) 1.理论 1.1 文本分类和预测(翻译) 1.2 注意力模型 1.2.1 Attention模型 1.2.2 Bi ...
- ACNet: 特别的想法,腾讯提出结合注意力卷积的二叉神经树进行细粒度分类 | CVPR 2020
论文提出了结合注意力卷积的二叉神经树进行弱监督的细粒度分类,在树结构的边上结合了注意力卷积操作,在每个节点使用路由函数来定义从根节点到叶子节点的计算路径,结合所有叶子节点的预测值进行最终的预测,论文的 ...
- Transformer可解释性:注意力机制注意到了什么?
原创作者 | FLPPED 论文: Self-Attention Attribution: Interpreting Information Interactions Inside Transform ...
- (转)注意力机制(Attention Mechanism)在自然语言处理中的应用
注意力机制(Attention Mechanism)在自然语言处理中的应用 本文转自:http://www.cnblogs.com/robert-dlut/p/5952032.html 近年来,深度 ...
- 注意力机制(Attention Mechanism)在自然语言处理中的应用
注意力机制(Attention Mechanism)在自然语言处理中的应用 近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了 ...
- 自然语言处理中的自注意力机制(Self-attention Mechanism)
自然语言处理中的自注意力机制(Self-attention Mechanism) 近年来,注意力(Attention)机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中,之前我对早期注意力 ...
- AAAI2018中的自注意力机制(Self-attention Mechanism)
近年来,注意力(Attention)机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中.随着注意力机制的深入研究,各式各样的attention被研究者们提出,如单个.多个.交互式等等.去年 ...
- 深入理解BERT Transformer ,不仅仅是注意力机制
来源商业新知网,原标题:深入理解BERT Transformer ,不仅仅是注意力机制 BERT是google最近提出的一个自然语言处理模型,它在许多任务 检测上表现非常好. 如:问答.自然语言推断和 ...
- 注意力机制(Attention Mechanism)应用——自然语言处理(NLP)
近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,下面是一些基于attention机制的神经网络在 ...
随机推荐
- librttopo 安装
librttopo 安装 官网 下载地址 https://git.osgeo.org/gitea/rttopo/librttopo/tags 什么是 librttopo? The RT Topolog ...
- 怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!
首先,我们要了解一下帝国CMS整个目录结构,只有了解清楚结构,我们才有可能快速找到自己想要的文件,比如:帝国CMS数据库配置文件路径! 帝国CMS目录结构介绍 / 系统根目录├d/ 附件和数据存放目录 ...
- Mybatis结果集映射问题
之前的数据库图简单都是纯小写格式,这一次做项目为了显得正规一些,模拟实际的情况,采用了驼峰命名的规则,这时候就遇到了结果匹配的问题. 之前只要 <select id="select&q ...
- liunx ip无法显示问题解决
目录 出现现象描述 解决方案步骤: 1.停止NetworkManager 2.清空NetworkManager 3. 重启net service 4. 再次查看网络状态ifconig 出现现象描述 e ...
- 新华三Gen10服务器ILO 5 安装中文语言包
ILO 5 安装中文语言包 在官网下载语言包文件,并解压 选择firmware&OS software,点击右侧的update firmware 选择本地文件,浏览到语言包里面的lpk文件,点 ...
- 通过配置文件(.htaccess)实现文件上传
一·什么是服务器配置文件.htaccess 许多服务器还允许开发人员在各个目录中创建特殊的配置文件,以便覆盖或添加一个或多个全局设置.例如,Apache 服务器将从一个名为(.htaccess如果存在 ...
- mysql内连接查询之自连接
连接查询: 当查询数据时,通过连接操作查询出存放在多个表中的不同数据,当两个或者多个表中存在相同意义的字段时, 便可以通过这些字段对不同的表进行连接查询. 自连接: 如果在一个连接查询中,涉及的两个表 ...
- 二叉查找树速通攻略 图文代码精心编写(Java实现)
说在前面 如题目所言 这篇文章为了给下一篇二叉查找数做铺垫和前期知识准备,以便大家有良好的阅读体验,本来想合在一起的,但觉得有些长,所以就拆开了哈哈哈,还是新手向,两篇文章有些长,但如果能认真看下去, ...
- p2p-tunnel 打洞内网穿透系列(三)TCP转发访问内网web服务
系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...
- Glide源码解析二---into方法
转载请标明出处,维权必究: https://www.cnblogs.com/tangZH/p/12543154.html Glide作为一个强大的图片加载框架,已经被android官方使用,所以,明白 ...