Top-down Visual Saliency Guided by Captions

机器翻译

Abstract

神经图像/视频字幕模型可以生成准确的描述,但是它们将区域映射到单词的内部过程是一个黑匣子,因此很难解释。自上而下的神经显着性方法可以在给定高级语义任务(例如对象分类)的情况下找到重要区域,但不能将自然语言句子用作任务的自上而下的输入。在本文中,我们提出了字幕指导的视觉显着性,以揭示现代编码器-解码器网络中的区域到单词的映射,并证明了它是从字幕训练数据中隐式学习的,没有任何像素级注释。我们的方法可以为预测的字幕和任意查询语句生成空间或时空热图。它可以恢复显着性,而无需引入显式注意层的开销,并且可以用于分析各种现有模型架构并改进其设计。对大规模视频和图像数据集的评估表明,我们的方法在提供更准确的显着性热图的同时,可以与现有方法实现可比的字幕性能。

1. Introduction

神经显着性方法最近已成为一种自上而下的任务驱动视觉搜索的有效机制[4,31]。 他们可以在高水平语义输入(例如突出显示与对象类别相对应的区域)的情况下,有效地提取显着性热图,而无需在训练时进行每个像素的监督。 他们还可以解释CNN学会的内部表示形式[19,30]。 但是,假设我们想在视觉场景中搜索由自然语言句子描述的显着元素(图1(a)),或者在给出动作描述的情况下,定位与该主题相对应的最显着的时空区域, 动词和其他成分(图1(b))。 基于分类的显着性方法不足以执行此类语言驱动的任务,因为它们仅限于独立的对象标签并且无法处理文本查询。

在这里插入图片描述

图1:自上而下的字幕引导的视觉显着性方法,为句子中的每个单词生成(a)图像中的空间显着性和(b)视频中的时空显着性。 对于视频,我们在底部显示与单词相对应的时间上最重要的帧(箭头显示视频中帧的位置)和指示这些单词的显着区域的空间热图。

深度图像和视频字幕模型[6、23、24、28]擅长学习将视觉输入转换为语言的表示形式,从而可能发现视觉概念与单词之间的映射。但是,尽管字幕表现出色,但它们可能很难理解,并经常因高度不透明的“黑匣子”而受到批评。他们几乎无法清晰了解图像与生成的单词之间在内部学习到的映射。考虑例如图1(b)所示的视频。模型中的哪个区域用于预测所生成字幕中的“女人”或“肉”等词语?产生“女人”一词是因为模型在视频中识别出了女人,还是仅仅因为语言模型预测“女人”是开始句子的一种可能方式?在仅以图像或视频级字幕的形式对弱注释进行训练时,模型可以学习定位与单词相对应的视觉概念吗?它可以在空间和时间上定位单词吗?

在这项工作中,我们通过提出字幕指导的视觉显着性方法来解决这些问题,该方法利用深度字幕模型为图像和视频生成自顶向下的显着性。我们的方法基于编码器-解码器字幕模型,并且可以为给定的输入字幕或模型预测的字幕生成空间或时空热图(图1)。除了促进视觉搜索之外,这还使我们能够揭示深度字幕模型的内部工作原理,并提供有关这些模型实际学习内容的非常直观的信息。反过来,这可以导致将来改进模型设计。先前对这种模型自省的尝试已经分析了在文本生成上训练的LSTM [13],或在图像级分类上训练的CNN [31,32]。最近的“软”注意力模型[27,28]通过学习显式的注意层来产生热图,该注意层在生成下一个单词之前权衡了视觉输入,但是需要修改网络并且不能很好地扩展。因此,我们是第一个尝试分析端到端视觉字幕模型是否可以学习由语言描述指导的自上而下的显着性而无需显式建模显着性的尝试。

我们的方法受到[30,32]中用于可视化卷积激活的信号drop-out方法的启发,我们研究了基于LSTM的编码器-解码器模型,并设计了一种基于信息增益的新颖方法。 我们通过计算每个时间帧和/或空间区域产生的信息增益来估计给定单词的显着性。 通过将输入图像或视频替换为单个区域并仅在给定单个区域的情况下,根据单词的生成概率来观察对单词的影响。 我们将我们的方法应用于静止图像和视频描述场景,并采用流行的编码器-解码器模型作为视频字幕[22]作为我们的基本模型。

我们的实验表明,基于LSTM的编码器解码器网络确实可以学习像素与字幕词之间的关系。 为了定量评估基本模型学习本地化单词的能力,我们在Flickr30k Entities图像字幕数据集上进行了实验[17]。 我们还使用我们的方法在公开的大规模Microsoft视频到文本(MSR-VTT)视频字幕数据集上“解释”基本的视频字幕模型正在学习的内容[25]。 我们将我们的方法与显式的“软”注意力模型进行了比较[27、28],结果表明,我们可以以较少的计算开销获得相似的文本生成性能,同时还可以使单词的定位更加准确。

2. Related Work

自上而下的神经显着性:使用基于类标签的弱监督来计算相对于输入图像区域的CNN响应的偏导数,以获得类特定的显着性图[19]。 [30]中的作者对最大池化层使用了反卷积,将类激活投影回输入像素。 虽然最近的自上而下的显着性方法[4、15、31、32]使用孤立的对象标签恢复了给定类的像素重要性,但我们将其扩展到语言句子。

软注意力:为机器翻译而开发的“软”注意力体系结构[2],最近扩展到图像字幕[27]。柔和的注意不是平等地对待所有图像区域,而是根据它们的内容为不同的区域分配不同的权重。类似地,在视频字幕中,带有软关注层的LSTM在生成描述时会关注视频的特定时间段[28]。与我们的自上而下的显着性模型相​​比,软关注的一个缺点是,除了LSTM解码器之外,它还需要一个额外的循环层,这需要对该额外层参数进行额外的设计。该层的大小与要加权的项目数(即帧或空间区域的数目)成比例地缩放。相反,我们的方法从编码器-解码器模型中提取输入像素和输出字之间的映射,而无需对时间或空间注意力进行任何显式建模,也无需修改网络。我们的直觉是,LSTM可以通过使用存储单元和门控机制来潜在地捕获输入和输出序列之间的相互依赖性。与显式注意力模型不同,我们的框架可以可视化时间和空间注意力,而不必估计其他权重参数,并且可以用于分析和解释各种编码器-解码器模型。

字幕模型:基于CNN和LSTM网络组合的字幕模型在图像和视频字幕方面均表现出令人印象深刻的性能[6,23,24,28]。 密集字幕[11,12]提议定位和描述显着图像区域。 涉及引用表达基础[10、16、18]的工作是本地化输入自然语言短语,以引用图像中的对象或场景部分。 这些方法使用地面真值边界框和短语来学习区域和短语之间的映射。 我们解决了更困难的任务,即在没有强大的监督的情况下学习将区域与单词和短语相关联,仅对与它们各自的句子标题配对的图像进行训练。 我们还在同一框架中处理视频的时空基础。

3. Background: Encoder-Decoder Model

我们首先简要概述基本字幕模型。 我们利用编码器-解码器视频描述框架[23],该框架基于针对神经翻译提出的序列到序列模型[7,20]。 在第4节中,我们将描述我们的方法如何将相同的基本模型应用于字幕静止图像。

考虑 p p 个视频帧的输入序列 x = ( x 1 . . . x p ) x =(x_1,...,x_p) n n 个单词的目标序列 y = ( y 1 . . . y n ) y =(y_1,...,y_n) 。 编码器首先将视频帧 x x 转换为 m m 个高级特征描述符的序列:

V = ( v 1 , , v m ) = ϕ ( x ) (1) V=\left(\boldsymbol{v}_{1}, \ldots, \boldsymbol{v}_{m}\right)=\phi(\boldsymbol{x}) \tag 1

其中 φ ( ) φ() 通常是为图像分类而预先训练的CNN。 然后,它将特征描述符 V V 编码为固定长度的向量 z = E ( v 1 . . . v m ) z = E(v_1,...,v_m) ,其中 E E 是某些函数(可能是非线性函数)。 在S2VT[22]中,通过使用LSTM将 V V 编码为一系列隐藏状态向量 h i e \boldsymbol{h}_{i}^{e} 来完成的,其中状态演化方程为:

h i e = f ( v i , h i 1 e )  for  i { 1 , 2 , , m } (2) \boldsymbol{h}_{i}^{e}=f\left(\boldsymbol{v}_{i}, \boldsymbol{h}_{i-1}^{e}\right) \text { for } i \in\{1,2, \ldots, m\} \tag {2}

然后取 z = h m e z=h_m^e (最后一个LSTM状态)。另一种方法是取所有 m m 个特征描述符的平均值[23], z = 1 m i = 1 m v i {z}=\frac{1}{m} \sum_{i=1}^{m} {v}_{i}

解码器将编码的向量 z z 转换为单词 y t t 1 . . . n y_t,t \in {1,...,n} 的输出序列。 具体来说,它会给定编码表示 z z 和所有先前生成的元素,为目标序列的每个元素顺序生成条件概率分布,

P ( y t y 1 , , y t 1 , z ) = D ( y t 1 , h t d , z ) , h t d = g ( y t 1 , h t 1 d , z ) (3) P\left(y_{t} | y_{1}, \ldots, y_{t-1}, \boldsymbol{z}\right)=D\left(y_{t-1}, \boldsymbol{h}_{t}^{d}, \boldsymbol{z}\right) , h_{t}^{d}=g\left(y_{t-1}, \boldsymbol{h}_{t-1}^{d}, \boldsymbol{z}\right) \tag 3

其中 h t d h_{t}^{d} 是解码LSTM的隐藏状态,而 g g 是非线性函数。

软注意:[28]中的作者建议不要使用最后一个编码器的LSTM状态或求 V V 的平均值,而建议保留整个序列 V V 并让编码器计算动态加权和:

z ^ t = i = 1 m α t i v i \hat{\boldsymbol{z}}_{t}=\sum_{i=1}^{m} \alpha_{t i} \boldsymbol{v}_{i}

因此,不是将平均特征向量馈送到解码器LSTM中,而是在每个时间步馈入向量的加权和。 根据先前的解码器状态 h t 1 d h^d_{t-1} 和编码序列 V = ( v 1 . . . v m ) V =(v_1,...,v_m) 计算每个 v i v_i 的权重。 在视频字幕中,这允许根据先前生成的单词在整个视频中搜索相关的视觉概念。 结果,人们可以将这种模型中的注意力视为跨视频帧的简单均值池的概括。 权重 α t i α_{ti} 可以通过如下归一化 e t i e_{ti} 来获得,

α t i = exp ( e t i ) k = 1 m exp ( e t k ) e t i = w T tanh ( W a h t 1 + U a v i + b a ) (5) \begin{array}{c}\alpha_{t i}=\frac{\exp \left(e_{t i}\right)}{\sum_{k=1}^{m} \exp \left(e_{t k}\right)} \\ e_{t i}=\boldsymbol{w}^{T} \tanh \left(\boldsymbol{W}_{a} \boldsymbol{h}_{t-1}+\boldsymbol{U}_{a} \boldsymbol{v}_{i}+\boldsymbol{b}_{a}\right)\end{array} \tag 5

其中 w w W a W_a U a U_a b a b_a 是注意模块的注意参数。

4. Approach

我们提出了一种自上而下的显着性方法,称为“字幕引导的视觉显着性”,该方法可根据字幕为静止图像或视频产生空间和/或时间显着性值(注意) 。可以为基本模型预测的字幕或任意输入语句生成显着图。我们的方法可以理解基本字幕模型,即它能够在视觉输入中的对象与句子中的单词之间建立对应关系的程度如何 。我们使用编码器-解码器字幕模型作为基本模型(公式1、2、3)。

对于句子中的每个单词,我们建议通过仅基于观察单个项目来测量预测该单词的概率的降低来计算输入序列中每个项目的显着性值。 这种方法很灵活,不需要在模型上增加额外的图层,并且可以根据输入大小进行适当缩放。 相反,在软注意力模型中,解码器借助可训练的注意力权重从输入中选择相关项。 这需要附加的层来预测权重。 此外,它只能执行时间或空间映射,而不能同时执行。 我们的方法使用基本的LSTM编码器/解码器模型,通过恢复模型中的隐式注意力,来估计输入和输出之间的时间和空间映射。 我们将在第4.1节中介绍视频的更一般情况,然后在第4.2节中介绍如何将此模型应用于静态图像。

4.1. Video Saliency

对于视频,我们想计算与事件或活动的给定句子描述中的单词相对应的最明显的时空区域。图2显示了该方法的概述。直觉是,尽管编码器通过将视觉概念激活的时间和空间位置编码为固定长度的向量来丢弃它们,但仍可以从模型中提取此信息。包含整个视频中检测到的所有视觉概念的激活的编码表示形式,在语句生成过程开始时传递给解码器LSTM。然后,解码器使用LSTM输出门选择此状态向量的一部分,以预测时间 t t 处的单词。生成每个单词时,解码器LSTM状态中视觉概念的存在会不断演变,而演变后的状态向量又与输出门相互作用以生成下一个单词。由于这种交互是复杂且非线性的,因此我们设计了一种间接方案来提取每个单词生成的证据。

在这里插入图片描述

图2:为视频中的时间显着性提出的自上而下的字幕引导视觉显着性方法的概述。 我们使用编解码器模型为给定输入句子中的每个帧i和每个单词t产生时间显着性值。 通过从输入序列中删除除第i个描述符之外的所有描述符,进行前向,并与原始单词概率分布进行比较来计算值。 类似的想法可以应用于空间图像显着性。 有关详细信息,请参见本文。

当使用单个本地化视觉输入来近似整个输入序列时,我们的方法将测量丢失的信息量。 解码器在解码过程的每个步骤都根据词汇表预测单词的概率分布 p ( y t ) p(y_t) 。 我们假设这种概率分布是我们的“真实”分布。 然后,我们测量在时间步长 t t 的词项的描述符包含多少信息。 为此,我们从编码阶段删除所有描述符,除了第 i i 个描述符。 在计算通过编码器和解码器的前向通过之后,这为我们提供了新的概率分布 q i ( y t ) q_i(y_t) 。 然后,我们将信息损失计算为两个分布之间的KL散度,

p ( y t ) = P ( y t y 1 : t 1 , v 1 : m ) q i ( y t ) = P ( y t y 1 : t 1 , v i ) Loss ( t , i ) = D K L ( p ( y t ) q i ( y t ) ) (6) \begin{aligned} p\left(y_{t}\right) &=P\left(y_{t} | y_{1: t-1}, v_{1: m}\right) \\ q_{i}\left(y_{t}\right) &=P\left(y_{t} | y_{1: t-1}, v_{i}\right) \\ \operatorname{Loss}(t, i) &=D_{K L}\left(p\left(y_{t}\right) \| q_{i}\left(y_{t}\right)\right) \end{aligned} \tag 6

通过上述公式,我们可以轻松得出在时间 t t 预测的单词 w w 的自上而下的显着性。 我们假设查询语句S在每个时间步上都具有“one-hot” “true” 分布。 在这种假设下等式6退化为:

Loss ( t , i , w ) = k = K L p ( y t = k ) log p ( y t = k ) q i ( y t = k ) = log 1 q i ( y t = w ) (7) \operatorname{Loss}(t, i, w)=\sum_{k=K L} p\left(y_{t}=k\right) \log \frac{p\left(y_{t}=k\right)}{q_{i}\left(y_{t}=k\right)}=\log \frac{1}{q_{i}\left(y_{t}=w\right)} \tag 7

该过程不仅限于产生的单词序列,还可以用于给定视频的任何任意查询。

由于可以估计每个描述符的近似接收场,我们可以通过将 Loss ( t , i , w ) \operatorname{Loss}(t, i, w) 映射到接收场的中心并对最终的热图进行上采样来为句子中的每个单词定义显着图。 从等式7可以得出 Loss ( t , i , w ) [ 0 ; + ) \operatorname{Loss}(t, i, w) ∈[0; +∞) ,其中更接近零的值对应更高的显着性。 为了获得显着性值 e t i e_{ti} ,我们将损失取反,然后将结果值线性缩放到[0,1]区间,

e t i = scale ( Loss ( t , i , w ) ) (8) e_{t i}=\operatorname{scale}(-\operatorname{Loss}(t, i, w)) \tag 8

重要的是要区分等式6和7所表示的值。前者可用于评估单个描述符与完整输入序列相比的代表性,而后者可在每个时间步导出单个单词的自上而下的显着性图。 最后,将目标句子中一组单词的显着性值(例如,名词短语“a small boy”)定义为子序列中每个单词的相应显着性值之和:

Loss ( { t 1 , , t q } , i ) = j = 1 q Loss ( t j , i ) (9) \operatorname{Loss}\left(\left\{t_{1}, \ldots, t_{q}\right\}, i\right)=\sum_{j=1}^{q} \operatorname{Loss}\left(t_{j}, i\right) \tag 9


接下来,我们描述如何将此方法应用于在视频中生成时间和空间显着性。


时间注意:对于输入帧序列 V = ( v 1 . . . v m ) V =(v_1,...,v_m) ,句子生成的确定性算法由以下递归关系给出:

w = argmax y t W   p ( y t y 0 : t 1 , v 1 : m ) (10) w=\underset{y_{t} \in W}{\operatorname{argmax}} \ p\left(y_{t} | y_{0: t-1}, \boldsymbol{v}_{1: m}\right) \tag {10}

其中 y 0 y_0 y n y_n 分别是特殊的“序列开始”和“序列结束”标记。 给定在句子的时间 t t 预测的单词,可以将输入帧 v i v_i 的相对显着性计算为 e t i e_{ti} (公式8)。 换句话说,我们估计仅编码该输入帧而导致的输出序列中每个单词的概率下降。 此外,我们将 e t = ( e t 1 . . . e t m ) e_t = (e_{t1},...,e_{tm}) 归一化,以得到等式中的随机向量。 在等式5中,将得到的向量 α t = ( α t 1 . . . α t m ) αt=(α_{t1},...,α_{tm}) 解释为输出序列中每个单词 y t y_t 在输入序列 V = ( v 1 . . . v m ) V=(v_1,...,v_m) 上的显着性。 这也引起了预测单词与这些单词的最显着帧之间的直接映射。


空间注意力:我们还可以估计与句子中某个特定单词 y t y_t 相关的不同帧补丁的注意力。 尽管CNN中的池化丢弃了检测到的视觉概念的空间位置,但LSTM的不同门使LSTM可以根据LSTM隐藏状态将注意力集中在某些概念上。 令 f k ( a , b ) f_k(a,b) 是编码器最后一个卷积层[32]中空间位置 ( a , b ) (a,b) 的单元 k k 的激活(对应于某些视觉概念)。 CNN执行空间平均池化以获得第 k k 个帧的特征向量 v i v_i ,第 i t h i^{th} 个帧的第 k t h k^{th} 个元素为 v i k = a , b f k ( a , b ) v_{i k}=\sum_{a, b} f_{k}(a, b) 。 之后,编码器根据LSTM更新规则将描述符嵌入LSTM单元状态。 此过程涉及LSTM输入门:

ρ i = σ ( W v ρ v i + W h ρ h i 1 + b ρ ) (11) \rho_{i}=\sigma\left(W_{v \rho} \boldsymbol{v}_{i}+W_{h \rho} h_{i-1}+b_{\rho}\right) \tag {11}

其中LSTM根据先前的LSTM隐藏状态和 v i v_i 本身( W v ρ W_{vρ} W h ρ W_{hρ} b ρ b_ρ 是可训练的参数)对它们进行加权来选择激活 v i k v_{ik} 。 注意,

W v ρ v i = k w k v i k = k w k a , b f k ( a , b ) = a , b k w k f k ( a , b ) (12) W_{v \rho} \boldsymbol{v}_{i}=\sum_{k} \boldsymbol{w}_{k} \boldsymbol{v}_{i k}=\sum_{k} \boldsymbol{w}_{k} \sum_{a, b} f_{k}(a, b)=\sum_{a, b} \sum_{k} \boldsymbol{w}_{k} f_{k}(a, b) \tag {12}

其中 w k w_k 表示矩阵 W v ρ W_{vρ} 的第 k k 列。 由于每个单元激活 f k ( a b ) f_k(a,b) 代表一个特定的视觉概念[30],我们看到输入门学会了根据帧中检测到的相关概念选择输入元素,而不管它们的位置如何。 这些概念的明确的空间位置信息在最后一个卷积层中的空间平均池化之后丢失了,但是,我们可以从实际的激活 f k ( a b ) f_k(a,b) 中恢复它。 这可以通过以与时间注意力提取相同的方式计算帧中不同空间区域的信息丢失来实现。 在时间 t t 预测的单词 w w 的帧 v i v_i 中的区域 ( a b ) (a,b) 的相对重要性可以估计为:

e t i ( a , b ) = Loss ( t , i , w )  where  p ( y t ) = P ( y t y 0 : t 1 , v 1 : m ) q i ( y t ) = P ( y t y 0 : t 1 , v i ( a , b ) ) (13) \begin{array}{r}e_{t i}^{(a, b)}=-\operatorname{Loss}(t, i, w) \\ \text { where } p\left(y_{t}\right)=P\left(y_{t} | y_{0: t-1}, \boldsymbol{v}_{1: m}\right) \\ q_{i}\left(y_{t}\right)=P\left(y_{t} | y_{0: t-1}, \boldsymbol{v}_{i}^{(a, b)}\right)\end{array} \tag{13}

其中 v i k a , b = f k ( a , b ) v_{ik}^{a,b}=f_k(a,b) 。假设帧中空间位置的数量为 r r ,则对给定视频/句子对运行预测过程(即前向传播) m m 次以获得时间显着性图,并进行 r × m r×m 次以获得空间图。 反过来,这涉及 n + 1 n + 1 个LSTM步骤,因此总复杂度为:

O ( ( r × m + m spatial and temporal  ) × ( n + 1 LSTM steps  ) ) (14) O((\underbrace{r \times m+m}_{\text {spatial and temporal }}) \times(\underbrace{n+1}_{\text {LSTM steps }})) \tag{14}


因为所有 L o s s ( t i w ) Loss(t,i,w) 计算都是独立执行的,所以我们可以创建一批大小为 r × m + m r×m + m 的对象,并通过一次有效地计算所有显着性值。

4.2. Image Saliency

通过少量的更改,上述模型可以应用于为图像生成显着性。 通过以顺序方式(逐行)扫描图像,将CNN的最后一个卷积层产生的描述符网格重新排列为“时间”序列 V = ( v 1 . . . v m ) V =(v_1,...,v_m) ,从左上角到右下角结束。 我们的模型使用编码器LSTM扫描图像位置,并将收集的视觉信息编码为隐藏状态,然后将这些状态解码为单词序列。 现在可以通过与上一节中的时间显着性相同的过程来生成空间显着性图。

5. Experiments

本节显示了通过我们的方法从视频和静态图像中针对基本S2VT模型恢复的字幕驱动显着性的示例。我们在以地面真实物体边界框为注释的图像数据集上评估回收的热图的质量。我们还将评估字幕在图像和视频上的生成性能,并将其与软注意力方法进行比较。


数据集:我们在两个视频描述数据集上训练和评估我们的模型,即Microsoft视频描述数据集(MSVD)[5]和Microsoft Research Video to Text(MSR-VTT)[25]数据集。这两个数据集都有“狂野的” Youtube视频和自然语言描述。 MSVD包含1970个平均长度为10.2s的剪辑,其中包含80,827种自然语言描述。 MSR-VTT提供41.2小时的网络视频,大约10,000个剪辑。每个14.8s和200K自然语言描述。另外,我们在最大的图像字幕数据集之一Flickr30kEntities [17]上进行了评估,该数据是原始Flick30k [29]数据集的扩展,其中对所有158k图像字幕中的所有名词短语都进行了手动边界框注释。


模型细节:我们使用在ImageNet [8]上预训练的InceptionV3 [21]作为CNN特征提取器,在TensorFlow [1]中实现了模型。 我们将 v 1 . . . v 26 v i R 2048 v_1,...,v_{26},v_i∈R^{2048} 用于视频表示。 从平均池层 pool_3中提取 v i v_i 以获得26个均匀间隔的帧。 对于图像,我们使用来自最后一个卷积层 mixed_10的特征输出作为编码器的输入序列。因此,对于视频和图像字幕,输入序列的长度分别为 m = 26 m = 26 m = 64 m = 64 。 第4.2节中描述了用于图像字幕的空间描述符的顺序。所有图像和视频帧均缩放为299x299。 请注意,CNN在ImageNet上进行了训练,并且在字幕模型的训练过程中并未进行微调。 在将输入描述符输入LSTM之前,一个完全连接的层将输入描述符的维数从2048减少到1300。 使用Adam优化器对模型进行了训练,初始学习率为0.0005。 单词嵌入层的维数设置为300。


字幕性能评估。 使用METEOR [3]指标对字幕性能进行定量评估。 表3(数字越大越好)显示了结果,并表明尽管未使用显式注意层,但我们的模型的性能与软注意方法相当。 选择了Flickr30k验证拆分上的METEOR度量的最佳模型,用于评估显着性,如下所示。


显着性的定量评估。 给定一个预先训练的图像字幕模型,我们使用指向游戏策略[31]和注意力正确性度量[14]定量测试我们的方法。 为了生成显着性图,我们将Flickr30k的测试拆分中的地面真实字幕输入到我们的模型中。 在定点游戏评估中,我们为Flickr30kEntities的每个GT标题中的每个带注释的名词短语获取图像内的最大显着点。 然后,我们测试该点是否位于边界框内。 准确性的计算公式为 A c c = # H i t s # H i t s + # M i s s e s A c c=\frac{\# H i t s}{\# H i t s+\# M i s s e s} 。要获得由句子中多个标记组成的名词短语的显着性图,我们在将损失值归一化为[0,1]之前求和。


表1显示了所有名词短语(NP)的平均准确度以及与Flickr30kEntities中的类别(在不同列中)相对应的准确度。我们与“基线随机”进行比较,在“基线随机”中,从整个图像中均匀采样最大显着点,并与一个更强的基线(称为“基线中心”)进行采样。该基准旨在模拟消费者照片中出现的中心偏差,并假定最大显着点始终位于图像的中心。与随机基准相比,该方法的平均(最后一列)以及所有单个类别(其余列)的准确性更高。尽管与更强大的中心基线相比,平均准确度仅稍好一些,但某些类别的准确度增益却非常可观。一种可能的原因可能是这些类别中的对象(例如“动物”或“其他”对象)倾向于远离图像的中心区域,而人们倾向于位于照片的中心。

在这里插入图片描述

表1:使用[31]中的指向性游戏协议,对Flickr30kEntities数据集中的地面真相字幕中所有名词短语进行本地化的方法的评估。 “基线随机”从整个图像中均匀采样最大显着点,“基线中心”对应于始终指向中心。


表2根据[14]中提出的注意力正确性度量标准,将我们的方法与软注意力模型[27]进行了直接比较。 此度量标准度量边界框上注意功能积分的平均值。 我们直接报告[14]实施统一基线,软注意力模型及其改进版本的结果,在该版本中,字幕模型被训练为以监督方式关注相关对象。 我们的方法优于所有三个方法。

在这里插入图片描述

表2:使用注意正确性度量和[14]中的评估协议(包括帧裁剪程序)对Flickr30kEntities上提出的方法进行评估。 柔弱的注意力表现来自[14]。 基线*显示了我们对统一注意力基线的重新评估。


我们还提供了从我们自己的统一基线实施中获得的类别特定值(称为“基线*”)。 表1中的“基准随机”应大致对应于表2中的“基准”和“基准*”。显然,由于两个表中的评估协议不同,确切的值也将有所不同。 为了公平地比较结果,我们遵循与[14]相同的协议,其中作者对测试图像和训练图像进行了集中裁剪。 人类捕获的图像或视频往往会将感兴趣的对象放在中心区域。 因此,任何增强这种“集中趋势”的耕种操作都会固有地提供更好的关注度。 此帧裁剪策略是表1和表2中基线值差异的另一个来源。


图像中的显着性可视化图3和图4分别显示了来自Flickr30kEntities的图像上的显着性映射示例,分别用于任意查询语句和模型预测的标题。任意查询来自基本事实描述。对于每个名词短语,通过对短语中每个标记的响应求和,然后将它们重新归一化,来生成显着图。该地图用颜色编码,其中红色显示最高显着性,而蓝色显示最低。最大显着点标有星号,而名词短语的地面真理框则显示为白色。可以看出,我们的模型几乎总是正确地定位人类。对于其他一些对象,该模型会犯一些直观错误。例如,在图3a中,尽管“窗口”的显着性没有指向地面真相窗口,但它的最大注意力(星号)集中在看起来与窗口非常相似的门上。在图4中,显着图显示了图像的预测字幕f。一些非信息性单词(例如“ a”,“ is”等)可能看起来具有突出的显着性,但是,这仅仅是归一化的结果。一个令人惊讶的发现是该模型预测“穿着红色和白色衣服的女人”,但是骑自行车的人只有“红色”的空间注意力,而场景中的其他部分则是“白色”的注意力。

在这里插入图片描述

图3:针对任意查询语句生成的Flickr30活动中的显着性映射(红色至蓝色表示从高到低)(如下所示)。 每行显示从查询中提取的不同名词短语的显着性图(显示在左上角)。 最大显着点标有星号,地面真值框显示为白色。

在这里插入图片描述

图4:为模型预测的标题(在图像下方显示)生成的显着性图。

视频中的显着性可视化图5显示了具有模型预测语句的MSRVTT数据集中视频的时空显着性图示例。每个单词的大多数区分框架都以与单词相同的颜色勾勒出轮廓。较深的灰色表示该单词的时间显着性较高。我们省略了对诸如文章,辅助动词和介词之类的无意义词的可视化。有关顶部视频的有趣观察结果是,“滑冰”最明显的视觉输入是有雪的区域,滑雪者很少注意,这可以解释该错误。

在这里插入图片描述

图5:视频中的时空显着图。 对于每个单词,较深的灰色表示框架的相对突出度更高。 为了更好地可视化,不对显着性值进行标准化,而是将其线性映射到范围[0,1]。 每个单词最相关的框架显示在底部,并用相同的颜色突出显示。


有关其他结果和源代码,请访问:visionlearninggroup.github.io/caption-guided-saliency/

6. Conclusion

我们提出了一种以字幕为指导的自上而下的显着性方法,并证明了该方法可用于理解图像和视频字幕中的复杂决策过程,而无需进行诸如添加明确的注意层之类的修改。 我们的方法可保持良好的字幕性能,同时提供比现有方法更准确的热图。 该模型是通用模型,可用于了解各种编码器-解码器体系结构。

7. Acknowledgements

该研究得到了NSF IIS1212928,DARPA,Adobe Research和Google Faculty资助的部分支持。 我们感谢Subhashini Venugopalan提供了S2VT [22]的实现,并感谢Stan Sclaroff进行了许多有用的讨论。

发布了88 篇原创文章 · 获赞 132 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/DumpDoctorWang/article/details/104852746