Bi-Modal Progressive Mask Attention for Fine-Grained Recognition

文章目录

  • Bi-Modal Progressive Mask Attention for Fine-Grained Recognition
    • 摘要
    • 1 引言
    • 3 方法
      • 3.1 符号
        • SAM模块
        • QRM模块
        • 掩模模板
      • 3.2 视觉态PMA
        • 输入
        • 视觉表示
        • PMA
      • 3.3 语言态PMA
        • 输入
        • 语言表示
        • PMA
      • 3.4 特征聚合
      • 3.5 知识蒸馏
    • 4 实验

摘要

语言模态聚合被证明是一种改善视觉识别的技术。

本文提出渐进式掩模注意力(PMA)模型,通过利用视觉语言双模态进行细粒度识别。模型既能通过基于掩模的方式逐步捕获视觉模态中最具区别性的部分,又能在交互对齐方式中探索语言模态中的知识。

  • 自我注意模块,从图像或文本描述中关注图像中的关键块
  • 查询-关系模块,抓住文本的关键词或短语,在两种方式之间建立联系。
  • 从多个阶段学到的双态表示被汇总为最终的识别特征。

模型需要原始图像和原始文本描述。

论文中CUB和FGVC-Aircraft的文本描述不知道在哪里,给的网址是16年用文本检索图的论文,但是人家也没公开这些数据呀。

1 引言

本文提出渐进式掩模注意力(PMA),该方法探索了用于细粒度识别的双态分析。PMA统一采用了一种渐进式掩模策略,可同时应用于视觉和语言模态。文本描述是较弱的监督,并且可提供视觉域无法显示的语义。

为将PMA应用于细粒度识别,提出了双模态渐进式掩模注意力(Bi-Modal PMA)模型,可以从视觉和文本中获取关键信息。通过CNN和LSTM分别将原始图像和文本处理为视觉描述符和词嵌入,两种表示经过双态PMA中以产生联合表示。自注意力机制定位关键部分,或捕获语言模态中的知识。查询-关系模块连接它们。由于提出了注意力,可以对齐两种模态的表示,并获得更多的判别性和丰富的联合特征。可以同时获取全局图像特征,部分图像表示,全局文本特征和对齐的部分文本表示。

渐进式掩模策略可以堆叠多个PMA模块。基于掩模的策略,以丢弃视觉中对象的定位部分,并同时过滤掉语言中定位部分的相关名词短语。

针对没有文本的情况,开发了一种知识蒸馏方法,将双态PMA在的泛化能力提炼成只能处理图像数据的学生模型,仅使用测试图像就能够做出准确的预测,性能和用视觉和语言模型的准确性相匹配。

文章的主要工作:

  1. 统一框架PMA,结合视觉和语言
  2. 基于注意力的方法,捕获重要的对象部分以形成部分级别的表示形式。基于掩模的阶段性策略来堆叠这些注意单元。整个模型可以逐步找到一组具有区别性但不同的关键部分,或者使用文本描述来提供视域外的知识
  3. 知识蒸馏
  4. 实验

3 方法

3.1 符号

SAM模块

自注意力模块,从单一模态收集语义

$$ SAM(x)=W_2\cdot\delta(W_1\cdot x) $$

xxx是ddd维的位置向量,输出是该位置的注意力程度。

QRM模块

查询-关系模块,建立起视觉和语言双态之间的联系。引导视觉特征来查询语言模态中的相关的关键

$$ QRM(x,y)=y\odot(W_q, x) $$

得到y与x的相似程度

掩模模板

M={m1,...,mn}M=\{m_1,...,m_n\} M={m1​,...,mn​}

nnn与输入向量的数量一致,视觉态和语言态的对应掩模模板分别是:MV={m1v,...,mnv}M^V=\{m_1^v,...,m_n^v\}MV={m1v​,...,mnv​}、MT={m1t,...,mnt}M^T=\{m_1^t,...,m_n^t\}MT={m1t​,...,mnt​}。(输入向量的个数式位置的个数)。mim_imi​要么是000要么是−∞-\infty−∞。

3.2 视觉态PMA

自我注意力机制定位原始图像最区分性部分。将PMA应用到注意力模块中,以逐步地获得一组不同且不重叠的部分。对于每个阶段,使用掩模丢弃上一个阶段中的定位部分,可以在不同阶段定位具有区别性且不同的部分。 还将通过注意力权重和判别性部分特征计算出的全局图像语义汇总为单个阶段的最终状态。

现阶段的区别部分的特征向量将在语言模态中用于文本指导。

输入

图像 -> 卷积 -> 特征图X∈Rh×w×dX\in R^{h\times w\times d}X∈Rh×w×d -> 2*2最大值池化 -> X~\tilde{X}X~。X~\tilde{X}X~视作若干ddd维向量,X~={x1~,...,xn~}\tilde{X}=\{\tilde{x_1},...,\tilde{x_n}\}X~={x1​~​,...,xn​~​}。

视觉表示

每个位置的注意力权重由对应的位置计算得到:
aiv=exp⁡(SAM(xi~)+miv)∑j=1nexp⁡(SAM(xj~)+mjv)a^v_i=\frac{\exp(SAM(\tilde{x_i})+m^v_i)}{\sum^n_{j=1}\exp(SAM(\tilde{x_j})+m^v_j)} aiv​=∑j=1n​exp(SAM(xj​~​)+mjv​)exp(SAM(xi​~​)+miv​)​
每个位置加权就有了上下文向量fglobalv=∑i=1naivxi~\mathbf f^v_{global}=\sum^n_{i=1}a^v_i\tilde{x_i}fglobalv​=∑i=1n​aiv​xi​~​,可以认为是全局视觉流,反映了图像的视觉信息。

根据注意力权重定位关键部分,最大的aiva^v_iaiv​应该是最重要的,对应的xix_ixi​(大小是2*2)是关键部分,将其表示为xmaxx_{max}xmax​。在xmaxx_{max}xmax​上采用1×1卷积和全局平均池化,获得部件级特征,定义为flocalv\mathbf f^v_{local}flocalv​,认为这是局部视觉流,当前视觉特征中最具代表性的语义。
最终的视觉表示:
fvision=[fglobalv;flocalv]\mathbf f_{vision}=[f^v_{global};f^v_{local}] fvision​=[fglobalv​;flocalv​]

PMA

如果当前阶段返回的最大注意力权重为amax⁡va^v_{\max}amaxv​,将掩模模板的对应元素更新为−∞-\infty−∞。 之后的阶段中,注意力模块将基于更新的MVM^VMV定位另一个重要部分。

3.3 语言态PMA

采用基于查询的注意力来抓住每个定位部分的相关细粒度名词短语。这些名词短语可以被认为是视觉领域的文本表示。语言描述通常包含一些原始图像无法表达的信息,还应用了一种具有渐进掩模策略的自我注意机制,以从语言模态中收集视觉域外的知识。

输入

原始文本 -> 名词短语 -> 词嵌入、LSTM -> 短语级别嵌入表示Z={z1,...,zp}Z\mathbf =\{z_1,...,z_p\}Z={z1​,...,zp​},zi∈Rdz_i\in R^dzi​∈Rd。

语言表示

基于查询的注意力机制:
ait=exp⁡(QRM(flocalv,zi)+mit)∑j=1nexp⁡(QRM(flocalv,zj)+mjt)a^t_i=\frac{\exp(QRM(f^v_{local},{z_i})+m^t_i)}{\sum^n_{j=1}\exp(QRM(f^v_{local},{z_j})+m^t_j)} ait​=∑j=1n​exp(QRM(flocalv​,zj​)+mjt​)exp(QRM(flocalv​,zi​)+mit​)​
得到局部语言流flocalt=∑i=1paitzi\mathbf f^t_{local}=\sum^p_{i=1}a^t_iz_iflocalt​=∑i=1p​ait​zi​。

想要挖掘语言中的图像中没有的信息:
a~it=exp⁡(SAM(xi)+mit)∑j=1nexp⁡(SAM(xj)+mjt)\tilde{a}^t_i=\frac{\exp(SAM({x_i})+m^t_i)}{\sum^n_{j=1}\exp(SAM({x_j})+m^t_j)} a~it​=∑j=1n​exp(SAM(xj​)+mjt​)exp(SAM(xi​)+mit​)​
得到全局语言流fglobalt=∑i=1pa~itzi\mathbf f^t_{global}=\sum^p_{i=1}\tilde a^t_iz_ifglobalt​=∑i=1p​a~it​zi​

最终的视觉表示:
ftext=[fglobalt;flocalt]\mathbf f_{text}=[f^t_{global};f^t_{local}] ftext​=[fglobalt​;flocalt​]

PMA

如果权重位于前三,且比1/p1/p1/p大,则将掩模模板的对应元素更新为−∞-\infty−∞。

3.4 特征聚合

每个阶段,将视觉和文本表示连接起来作为最终输出,每个阶段再经过全连接层:
ffinali=FC([fvisuali;ftexti])\mathbf f^i_{final}=FC([f^i_{visual};f^i_{text}]) ffinali​=FC([fvisuali​;ftexti​])
为了发挥多阶段的优势,汇总了这些输出状态(限制为3个),作为预测的最终表示形式。

先通过对特征图进行GAP来提取对象级表示fobject\mathbf f_{object}fobject​。 将对象级表示和多阶段的输出连接起来以形成最终表示:
F=[fobject;ffinal1;ffinal2;ffinal3]F = [f_{object}; f ^1 _{final}; f ^2 _{final}; f ^3 _{final}] F=[fobject​;ffinal1​;ffinal2​;ffinal3​]
再经过全连接层和softmax进行最终分类。

3.5 知识蒸馏

在都存在的情况下,才能用知识蒸馏,而没有文本时,就是交叉熵。后面只在有文本的数据集上做了该实验。

teacher:双态PMA;student:仅图像PMA

对于teacher:训练语料库(si,yi)∈{S,Y}(s_i,y_i)\in\{S,Y\}(si​,yi​)∈{S,Y},sis_isi​包含图像和文本数据。标准交叉熵:
L(Y∣S;θT)=∑i=1N∑j=1C1{yi=j}log⁡P(yi∣si;θT)L(Y|S;\theta_T)=\sum^N_{i=1}\sum^C_{j=1}1\{y_i=j\}\log P(y_i|s_i;\theta_T) L(Y∣S;θT​)=i=1∑N​j=1∑C​1{yi​=j}logP(yi​∣si​;θT​)
对于student:训练语料库(ti,yi)∈{T,Y}(t_i,y_i)\in\{T,Y\}(ti​,yi​)∈{T,Y},tit_iti​只包含图像。损失:
L(Y∣T;θS)=∑i=1N∑j=1CP(j∣si;θT)⋅log⁡P(j∣ti;θS)L(Y|T;\theta_S)=\sum^N_{i=1}\sum^C_{j=1}P(j|s_i;\theta_T)\cdot\log P(j|t_i;\theta_S) L(Y∣T;θS​)=i=1∑N​j=1∑C​P(j∣si​;θT​)⋅logP(j∣ti​;θS​)

4 实验

知识蒸馏

消融实验

  1. 学习阶段

  2. 各阶段的分类正确率

  3. 各阶段部分的数量,说明了为什么不是一个阶段多个部分,而是多个阶段每次一个部分

  4. 不同分支

论文阅读:Bi-Modal PMA相关推荐

  1. 3D目标检测论文阅读多角度解析

    3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...

  2. 【论文阅读】7-Discovering Structural Regularity in 3D Geometry

    [论文阅读]7-Discovering Structural Regularity in 3D Geometry 1.Input: 2.Processing pipeline 2.1.Transfor ...

  3. [论文阅读笔记15]Recognizing Complex Entity Mentions:A Review and Future Directions

    一,题目 Recognizing Complex Entity Mentions:A Review and Future Directions 识别复杂实体mentions:回顾与未来方向 Dai X ...

  4. 论文阅读笔记 | 目标检测算法——FSAF算法

    如有错误,恳请指出 文章目录 1. Introduction 2. FSAF Module 2.1 Network Architecture 2.2 Ground-truth and Loss 2.2 ...

  5. 点云配准论文阅读笔记--(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration

    目录 点云配准系列 写在前面 Abstract摘要 1 Introduction引言 2 Background研究背景 RANSAC Randomized Alignment 3 Approximat ...

  6. 【论文阅读】4- 4-Points Congruent Sets for Robust Pairwise Surface Registration

    [论文阅读]4- 4-Points Congruent Sets for Robust Pairwise Surface Registration 1.基础知识回顾 2.算法理解 2.1.算法综述: ...

  7. 论文阅读笔记(3):A Nullspace Property for Subspace-Preserving Recovery

    论文阅读笔记(3):保子空间恢复的零空间性质 前言 摘要 1. 简介 2. 准备工作和问题提出 2.1. 符号表示和序言 2.2. 稀疏子空间分类与聚类 3. 保子空间恢复的零空间性质 定义1: 定理 ...

  8. CenterNet:Objects as Points论文阅读笔记

    CenterNet论文阅读笔记 (一)Title (二)Summary (三)Research Objective (四)Problem Statement (五)Method 5.1 Loss Fu ...

  9. 华为又开始放大招了?CV新架构:VanillaNet: the Power of Minimalism in Deep Learning 论文阅读笔记

    华为又开始放大招了?CV新架构:VanillaNet: the Power of Minimalism in Deep Learning 论文阅读笔记 一.Abstract 二.引言 三.单个 Van ...

最新文章

  1. 再次刷新单模型纪录!快手登顶多模态理解权威榜单VCR
  2. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】
  3. Intent的一些用法
  4. 案例演示按角色的form认证实现过程
  5. DELPHI基础教程 第二章 Delphi面向对象的编程方法
  6. 悬挂缩进 java,WORD上机练习题目
  7. win2008服务器系统玩红警,如何让Win8顺利兼容红警2
  8. sqlmap的简单使用(sql注入)
  9. 【Pandas】计算相关性系数corr()
  10. [索引]引用Balancing bike sharing systems with constraint programming的文章
  11. 【spring】切入点(Pointcut)、方面/切面(Aspect、Advisor)详解
  12. abb机器人码垛编程详解_ABB机器人码垛程序
  13. 音频格式(一)PCM和WAV
  14. cdma2000解析_CDMA2000 1x EV-DO技术解析
  15. UG NX 12 布尔求和
  16. 一文带您了解软件多租户技术架构
  17. 计算机调剂深圳大学2017,深圳大学2017年考研调剂信息
  18. 实验五 微控制器实验
  19. 深入浅出设计模式之命令模式
  20. 机器人感知与控制关键技术及其智能制造应用

热门文章

  1. 数学教程之蜜蜂如何利用数学过上完美的生活?
  2. Linux设备驱动子系统第二弹 - SD卡
  3. 蓝天格锐生命环的使用方法
  4. spss菜单小介绍【跟阿婷一起学spss 03 在入坑边缘疯狂试探】
  5. 一个能在vue3中运行的JSON编辑器,能展示JSON数据的高亮,打开时有默认数据
  6. STM32F105替换为AT32F403A注意事项
  7. 什么是蜘蛛统计 有什么作用?
  8. xml文件使用浏览器打开,提示This page contains the following errors解决办法
  9. 百度沈抖:文心一言将通过百度智能云对外提供服务
  10. 导出excel时,弹出的下载窗口一闪而过