引言
作者认为在RIS任务中,抽象知识来源于对自然语言对目标的抽象描述,具体知识来源于特定的图像,例如下图:对于同一个句子“the cat on the sofa.”,对应的猫可能会有不同的外观与不同的输入图像。我们把猫在不同形象中的具体表象作为具体知识
作者认为以往的方法都是基于抽象知识直接分割出最相关的区域,由于缺乏与目标物体各区域的正确对应关系,无法得到准确的分割。因此,提出了BKINet网络:BKINet的主要原理是捕获图像中目标对象的具体知识,并将文本中的抽象知识与具体知识相结合,将目标对象从图像中分割出来。
BKINet网络概述
BKINet由知识学习模块(KLM)和知识应用模块(KAM)组成,实现双方的知识交互。具体而言,KLM通过一种由粗到精的策略,通过聚合与目标对象最相关的视觉信息来增强文本特征,该策略将对象的具体知识补充到文本的抽象知识中,从而生成包含参考信息的KI核。然后,KAM应用包含具体和抽象知识的KI核来突出视觉特征。然后,利用突出的视觉特征通过卷积层预测准确的分割掩码。
具体实现
特征提取
文本的提取使用了CLIP的文本特征提取方法得到了语言特征和全局文本特征
。
视觉特征的提取:作者使用基于ResNet的CLIP的图片编码器,取2~4层的特征映射与全局文本特征相结合得到图像特征。具体操作:
1.先将第4层的特征映射和相乘融合得到F_s。
2.再对F_s进行2倍下采样与第3层的特征映射在通道维度拼接,再过一个卷积模块控制通道数。
3.将第2层的特征映射进行平均池化实现2倍下采样,再与之前的融合结果进行通道维度拼接,卷积模块控制通道数。
4.将前三步的特征自下而上的进行再次的融合的到最后的图像特征。
5.接着引入两个transformer层作为image Attention,利用图像特征通过建立图像特征之间的关系来产生视觉特征
。
(源码中还有一些过度模块,这里省略)
这里的两层transformer目的是可以初步识别出对象之间的关系。
知识学习模块(Knowledge Learning Module)
KLM以粗到精的策略捕获目标对象的具体知识,能够生成包含丰富参考信息的KI核。KLM包含两个主要组件:image-to-text-Attentiion和进一步的细化操作。前者粗融合参考表示,后者用输入图像的具体知识增强对目标的表示。
image-to-text-Attention:将图像特征的通道维度映射到
,将平坦的空间域H*W映射到C,得到变形后的图像特征
。然后将其作为查询,通过对文本特征进行聚合,生成粗知识交互核
,如下所示:
此时的所涉及的信息是来自文本特征的抽象知识构成,这些知识仅限于适应对象的独特外观。但是他们仍然缺乏具体的知识。
接下来,利用视觉特征和粗知识交互核的关系来生成一个gate特征来控制知识的结合:
通过关注每个位置的视觉特征和每个核的相关性,可以充分考虑抽象知识与具体知识之间的关系。
得到具体知识增强视觉特征:
其中
同时,利用门特征G增强来自核的抽象知识:
最终的KI核表示为:
知识应用模块(Knowledge Applying Module)
利用KI核在视觉特征
中突出与目标相关的信息,并根据突出的视觉特征
来预测分割掩码
。
首先,以KI核作为视觉特征
上的动态卷积核,得到响应图
。
接下来就是要对响应图进行自适应的组合,这里作者根据每个响应图和对应的KI内核求了一个置信度。
然后根据置信度对响应图进行聚合,并将视觉特征突出显示为
:
最后与视觉特征
相加以用来预测最后的分割掩码。
实验设置
损失函数采用二值交叉熵损失。原文:我们使用ResNet-50[65]作为提取视觉特征的主干,使用Transformer[29]提取文本特征。图像和文本编码器都用CLIP[67]初始化。输入图像被调整为416 × 416。图像注意和图像到文本注意中的转换编码器层有8个头,所有头中的隐藏层的大小设置为64。图像注意由2层构成,图像到文本注意包含1层。KI kernel的个数Nk设置为16。RefCOCO和RefCOCO+的输入语言表达式的最大长度设置为17,G-Ref的最大长度设置为22,包括[SOS]和[EOS]令牌。我们使用Adam[68]优化器训练网络50个epoch,初始学习率为2.5 × 10−5,并在第20、30和40 epoch以0.1的衰减率衰减学习率。我们在单个Tesla A100 GPU上训练批量大小为32的模型。