[CVPR2018]Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

2023-05-16

Bottom-Up and Top-Down Attention

附:论文下载地址

主要贡献

  1. 提出了一个新的LSTM组合模型,包括了attention LSTM和language LSTM 两个组件。在这个组合模型的基础上引入spatial attention机制(类似于《show,attend and tell》的top-down attention机制)。
  2. 引入了bottom-up,bottom-up机制基于 Faster R-CNN提取出图像区域,每个区域具有相关的特征向量。
  3. 为了提升提取特征的能力,对Faster R-CNN的输出和损失函数做了添加,设计了属性分类的部分,获得对对象的(属性,对象)的二元描述。这样的描述更加贴合实际应用。

1. Introduction

自上而下的视觉注意机制已被广泛用于图像描述和视觉问答,通过细粒度分析甚至多步骤推理来实现更深入的图像理解。在这项工作中,作者提出了一种自下而上和自上而下相结合的注意力机制,使得注意力能够在物体和其他显著图像区域的水平上被计算。在该方法中,将非视觉或特定任务上下文驱动的注意力机制称为自上而下,将纯视觉前馈注意机制称为自下而上, 自下而上的机制(基于Faster R-CNN)提取出图像区域,每个区域都有一个相关的特征向量,而自上而下的机制确定特征权重。
从图中可以看出CNN是将图片等分成网格图像区域,需要使用比Faster R-CNN更多的特征,而且很多额特征往往是无用的。Faster R-CNN的目标检测方法,首先针对图像获取兴趣区域,然后对每个兴趣区域应用目标检测器,这样就可以准确的获得图像类别;而CNN方法需要输入整幅图像,而且用于大样本分类的网络往往很复杂,计算量更大。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pAMsrB2D-1626099674753)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210711111046191.png)]

2. Approach

给定一个图像I,图像描述模型和VQA模型都将一组可变大小的k个图像特征 V = { v 1 , … , v k } , v i ∈ R D V = \{ v_1,\ldots,v_k\},v_i∈R^D V={v1,,vk},viRD作为输入, 以使每个图像特征都编码图像的显著区域。空间特征V可以定义自下而上的注意力模型的输出,也可以按照标准实践定义为CNN的空间输出层。

2.1 Bottom-Up Attention Model

空间图像特征V的定义是通用的。在这项工作中,作者根据边界框定义空间区域,并使用Faster R-CNN实现自下而上的注意力。Faster R-CNN是一个对象检测模型,旨在识别属于特定类别的对象实例,并使用边界框对其进行定位。Faster R-CNN通过卷积层提取输入图像的特征图,将特征图送入RPN(Region Proposal Network),在特征图上滑动大小为3*3的卷积核(滑动窗口),在每个像素位置都会生成9种预先设置好长宽比与面积的anchors,得到一个256维的特征图,RPN层通过soft max判断anchors属于foreground(前景)或者background(背景),再利用bounding box 回归修正anchors获得精确的proposals(候选区域)。再和feature maps一起送入RoI pooling层,提取proposal feature maps,分别传入soft max分类和bounding box regression获得检测物体类别和检测框最终的精确位置。

对于每个选定的区域i, v i v_i vi被定义为该区域的平均池化卷积特征,使得图像特征向量的维度D为2048,Faster R-CNN有效地起到了"硬"注意力机制的作用,因为从大量可能的配置中只选择了相对少量的图像边界框特征。首先使用在ImageNet上进行分类预处理的Res Net-101初始化Faster R-CNN,然后在视觉基因组数据上进行训练。为了帮助学习好的特征表示,作者添加了一个额外的训练输出来预测属性类(除了对象类)。为了预测区域I的属性将平均池化卷积特征 v i v_i vi与ground-truth的学习嵌入连接起来,并将其送到附加的输出层,该输出层定义了每个属性类加上“no attributes”类的soft max分布。

2.2 Captioning Model

给定一组图像特征V,作者提出的图像描述模型在字幕生成过程中使用自顶向下的“软”注意力机制来加权每个特征,使用现有的部分输出序列作为上下文。在高层次上模型有两个LSTM组成,如图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XTGxnFuc-1626099674757)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712145931020.png)]

同时使用下面的公式表示在单个时间步上引用LSTM的操作:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0mijXr4z-1626099674758)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712145139054.png)]其中 x t x_t xt是LSTM的输入向量, h t h_t ht是LSTM的输出向量(为了符号上的方便,省略了记忆单元的传播)。

2.2.1 Top-Down Attention LSTM

在该模型中,作者将第一个LSTM层描述为top-down视觉注意模型,将第二个LSTM层描述为语言模型,用上标(1、2)表示。Attention LSTM的输入由Language LSTM的前一次输出、平均池化特征 v ˉ = 1 k ∑ i v i \bar{v}=\frac 1k\sum_{i}^{} {v_i} vˉ=k1ivi以及之前生成的单词的编码组成,可由下式表示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GJrVcNGB-1626099674761)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712152818234.png)]
其中 W e ∈ R E × ∣ ∑ ∣ W_e∈R^{E\times\mid\sum\mid} WeRE×是词汇表的词嵌入矩阵 ∏ t \prod_t t是时间步t上输入单词的one-hot编码。这些输入分别为Attention LSTM提供了Language LSTM的的状态、图像整体内容和目前为止生成的描述的最大上下文信息,单词嵌入是随机初始化学习的,不需要预处理。

给定Attention LSTM的输出 h t 1 h^1_t ht1,在每一个时间步t为k个图像特征的每一个特征 v i v_i vi生成一个归一化注意力权重 α i , t \alpha_{i,t} αi,t
如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SXcT8sk4-1626099674768)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712153653155.png)]
其中 W v a ∈ R H × V , W h a ∈ R H × M 和 ω a ∈ R H W_{va}∈R^{H \times V},W_{ha}∈R^{H \times M}和\omega_{a}∈R^{H} WvaRH×V,WhaRH×MωaRH是学习参数,利用用于Language LSTM 输入的attended图像特征计算所有输入特征的凸组合:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K66tTpKD-1626099674769)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712154725182.png)]

2.2.2 Language LSTM

Language LSTM的输入包括attended图像特征和Attention LSTM的输出可以表示为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KD6aS3tv-1626099674770)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712202456678.png)]

使用 y 1 : T y_{1:T} y1:T表示单词序列 ( y 1 , … , y T ) (y_1,\ldots,y_T) (y1,,yT),在每个时间步t可能输出单词的条件分布可以表示为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ND9TSdXl-1626099674772)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712202802805.png)]
其中 W p ∈ R ∣ ∑ ∣ × M 和 b p ∈ R ∣ ∑ ∣ W_p∈R^{\mid\sum\mid\times M}和b_p∈R^{\mid\sum\mid} WpR×MbpR是可以学的权重和偏差,完整输出序列上的分布计算为条件分布的乘积:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9saZdxWb-1626099674773)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712203316871.png)]

2.2.3 Objective

给定一个目标ground truth序列 y 1 : T ∗ y^*_{1:T} y1:T和带参数θ的图像描述模型最小化交叉熵损失:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbG2fuCU-1626099674775)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712204214776.png)]

为了和其他工作公平的比较,作者还进行了针对CIDEr的优化的结果,寻求最小化负预期得分:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCvTYI5b-1626099674775)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712204458292.png)]

其中r是得分函数,按照Self-Critical Sequence Training (SCST)的训练方式(使用强化学习对CIDEr分数进行优化),梯度的损失可以近似表示为:

在这里插入图片描述

其中 y 1 : T s y^s_{1:T} y1:Ts是sampled caption, r ( y ^ 1 : T ) r(\hat{y}_{1:T}) r(y^1:T)是通过greedily decoding当前模型得到的baseline score。

在本文中,作者采用限制采样分布来加快训练过程。使用beam search解码,我们只从beam search中的描述进行采样。根据经验,我们在使用beam search进行解码时观察到,the resulting beam 通常包含至少一个得分非常高的描述,尽管该描述通常不具有集合中最高的对数概率。相比之下,我们观察到很少有无限制的描述样本得分高于greedily decoding的描述。

2.3 VQA

给定一组空间图像特征V,我们提出的VQA模型还使用“软”的自上而下的注意力机制来加权每个特征,使用问题表示作为上下文。如图所示,所提出的模型实现了众所周知的问题和图像的联合多模态嵌入,随后是对一组候选答案的分数回归的预测。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dKhCdaTA-1626099674777)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712211433504.png)]

网络中学习的非线性变换通过门控双曲正切(gated tanh)激活来实现,每一个“门控tanh”层实现一个函数 f a : x ∈ R m → y ∈ R n f_a:x∈R^m \to y∈R^n fa:xRmyRn,参数a= { W , W ′ , b , b ′ } \{W,W^{'},b,b^{'}\} {W,W,b,b},函数定义如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Zt14Oa0-1626099674779)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712211954468.png)]

其中,σ是sigmoid激活函数, { W , W ′ ∈ R n × m } \{W,W^{'}∈R^{n \times m}\} {W,WRn×m}是可学习权重, { b , b ′ ∈ R n } \{b,b^{'}∈R^n\} {b,bRn}是可学习偏差,◦是逐元素乘积,向量g的乘积作为中间激活 y ~ \tilde{y} y~的门。

首先对问题进行编码,作为GRU(gated recurrent unit)的隐藏状态q,每个输入单词用一个学习过的单词嵌入来表示,给定GRU的输出q,我们为k个图像特征中的每一个 v i v_i vi生成非标准化的注意力权重,如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j1R8gGMR-1626099674783)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712213251754.png)]

其中 ω a T \omega^T_a ωaT是可学习的参数向量,最后再计算标准化的注意力权重和注意力图像特征。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1P8Afehd-1626099674784)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712213450619.png)]

3. Result

下面的表展示了本文的方法和SCST的性能比较,这里简单列出三张表,具体的实验设置和结果分析可以参考原文。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MSVLhrdA-1626099674784)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712215330415.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aoHxoboL-1626099674785)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712215250934.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8oxitQN3-1626099674786)(C:\Users\bwh\AppData\Roaming\Typora\typora-user-images\image-20210712215310583.png)]

4. Conclusion

作者提出了一种新颖的自下而上和自上而下相结合的视觉注意机制,能够更自然地在物体和其他显著区域的层面上计算注意力。同时提高了结果注意力权重的可解释性,该方法的直接好处可以通过简单地用预训练的自下而上的注意力特征替换预训练的CNN特征来获得。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[CVPR2018]Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering 的相关文章

随机推荐

  • 【K8S】Kubernetes集群搭建流程详解

    文章目录 一 购买云服务器二 搭建Docker环境三 根据K8S官网搭建 基础环境 四 安装K8S三剑客 xff1a kubelet kubeadm kubectl五 安装K8S节点需要使用的镜像六 使用kubeadm初始化Master节点
  • springBoot maven打包[分层打包]

    打jar包 xff0c 很大 xff0c 发服务器也慢 get到一种打包方式 直接挨着cv直接就能用 一 src目录下创建assembly文件夹下assembly xml lt assembly xmlns 61 34 http maven
  • 链表-倒序排列鏈表

    剑指 Offer 06 从尾到头打印链表 38 输入一个链表的头节点 xff0c 从尾到头反过来返回每个节点的值 xff08 用数组返回 xff09 示例 1 xff1a 输入 xff1a head 61 1 3 2 输出 xff1a 2
  • 使用远程桌面链接CentOS 7

    需求 xff1a Gnome桌面环境 Xrdp Xrdp是Microsoft远程桌面协议 RDP 的开源实现 xff0c 它允许您以图形方式控制远程系统 Gnome安装 yum groupinstall 34 GNOME Desktop 3
  • vscode的下载速度会特别慢问题处理

    1 xff0c 下载太慢大部分是因为VSCODE官网服务器跟我们国内的链接速度有关 xff0c 当我们去官网下载会出现下面的情况 2 xff0c 复制下载的链接 xff0c 并且修改红框中的内容为 span style background
  • Dockerfile

    Dockerfile Dockerfile基本结构指令FROMMAINTAINERRUNCMDEXPOSEENVADDCOPYENTRYPOINTVOLUMEUSERWORKDIRONBUILD 创建镜像 Dockerfile 基本结构 D
  • 使用git时本地代码被覆盖怎么办

    1 遇事不要慌 xff0c 看本地历史记录 右键要想要恢复的代码或文件夹 61 右键 61 Local History 61 gt Show History 2 我一下就找到了本地历史记录 看右边有了不同时间的代码 xff0c 去点一下试试
  • Ubuntu截图工具flameshot的安装与快捷键设置

    https blog csdn net sexyluna article details 105884224
  • moveit配置过后gazebo加载不出来机械臂模型的问题

    我使用moveit setup assistant对dubot magician机械臂的urdf进行配置 xff0c 配置完成后发现运行gazebo launch可以打开gazebo xff0c 但是却什么也没有 xff0c 机械臂模型加载
  • 上传本地项目代码到GitHub的方法

    预备知识 xff1a 有一个GitHub账号 xff0c 然后知道怎么进GitHub网页 之前往GitHub上传代码都是现场百度找指令操作的 xff0c 从来不记 xff0c 这次干脆做个记录当个笔记吧 Git是一个版本控制软件 xff0c
  • 单片机之蜂鸣器

    蜂鸣器简介 无源蜂鸣器 xff1a 有绿色电路板的一种 有源蜂鸣器 xff1a 没有电路板用黑胶封闭的一种 其实蜂鸣器的种类有很多 例如 xff1a 电磁式蜂鸣器 xff1a 由振荡器 电磁线圈 磁铁 振动膜片及外壳组成 同时电磁式蜂鸣器也
  • Centos Stream 9 安装 Docker 23.0.2 社区版 官方安装教程

    目录 一 内核的版本必须大于3 10使用下面的命令来检查是否满足docker的要求 xff0c 进行依赖性检查 二 安装docker容器引擎 xff0c 需要一个具有sudo权限的账户登录进行操作 1 更新现有yum包 2 遇到提示请输入y
  • AttributeError: module numpy has no attribute int .报错解决方案

    在训练YOLO模型时突然发现这个报错 xff0c 后来发现是numpy版本问题 xff0c yolo官方给的是大于等于1 18 5 xff0c 当你执行pip install r requirements txt命令时 xff0c 他默认安
  • 单片机(嵌入式)程序分层架构

    目录 前言 嵌入式3层软件架构 嵌入式4层软件架构 1 驱动层 操作系统层 中间件层 应用层 嵌入式4层软件架构 2 硬件层 嵌入式微处理芯片 嵌入式存储器系统 嵌入式I O接口 中间层 系统软件层 RTOS 文件系统 GUI 应用层 嵌入
  • FreeRTOS笔记—第一章 FreeRTOS概述

    1 1 认识FreeRTOS 1 1 1 什么是操作系统 操作系统 xff08 Operating System xff0c 简称OS xff09 是管理计算机硬件与软件资源的计算机程序 简单说就是一种管理计算机资源的软件 目的是为了高效
  • 嵌入式工程师 面试题 集-C语言

    预编译 1 什么是预编译 xff0c 何时需要预编译 答 xff1a 预编译又称预处理 就是做些代码文本的替换工作 开头的指令 xff0c 比如拷贝 include 包含的文件代码 xff0c define 宏定义的替换 xff0c 条件编
  • 嵌入式工程师面试题集-MCU_STM32

    一 选择题 1 Cortex M处理器采用的架构是 xff08 D xff09 xff08 A xff09 v4T xff08 B xff09 v5TE xff08 C xff09 v6 xff08 D xff09 v7 2 NVIC可用来
  • 嵌入式工程师面试题集汇总

    主观问题 主观问题 介绍类 请自我介绍 xff1f 为什么不留在xx公司 xff08 为啥离职 xff09 xff1f 你5 10年职业规划是怎样的 xff1f 你还写代码吗 xff1f 从工程师到管理再到工程师你是怎样想的或能承受吗 把你
  • C++解决实际问题 ——a的三次方(accode)

    hello大家好 xff0c 在下 小侠雨落 xff0c 几天不见 xff0c 甚是想念啊 xff01 不说了 xff0c 上标题 a的三次方 咳咳 xff0c 题目描述输入一个整数 a xff0c 输出 a 的三次方 输入格式 一行 xf
  • [CVPR2018]Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

    Bottom Up and Top Down Attention 附 xff1a 论文下载地址 主要贡献 提出了一个新的LSTM组合模型 xff0c 包括了attention LSTM和language LSTM 两个组件 在这个组合模型的