摘要
- Multi-change captioning旨在用自然语言描述图像对中的复杂变化。和图像字幕相比,这个任务要求模型具有更高层次的认知能力来推理任意数量的变化。
- 本文提出一种新的上下文感知差异提取网络(CARD)。给定一个图像对,CARD首先解耦聚合所有公共/差异上下文特征。然后,设计一致性和独立性约束,以保证公共/差异上下文特征的alignment/discrepancy。此外,公共上下文特征引导模型挖掘局部不变的特征,并从这对特征中减去,提取局部不同的特征。差异上下文特征增强了局部差异特征,以确保所有的变化都被提炼出来。以此得到所有变化的全方位表示,并通过一个transformer解码器生成语言句子。
- 文章链接:https://arxiv.org/abs/2405.20810
- 代码链接:GitHub - tuyunbin/CARD: [ACL 2024] This is the Pytorch code for our paper "Context-aware Difference Distilling for Multi-change Captioning".
动机
- 之前的研究取得了进展,但是还存在一些局限性。
- 在视点变化下,两幅图像之间的直接减法在归纳为未对齐的图像对上效果很差,如图1 (c)。
- 随着多个对象的变化,直接关联两个图像不能充分挖掘局部不变的特征,因为这些特征可能和变化后对象的特征混合在一起。
- 之前的研究方法侧重于建模局部差异特征,有利于捕捉明显的变化。但是,一些较弱特征的局部变化可能会被忽略,例如,图1 (a)中的汽车被其阴影遮挡这些限制将导致语言解码器获得不可靠的差异特征。
- 之前的方法仅基于局部特征捕获两幅图像之间的差异,而忽略了更全面的特征的使用。因此,本文认为,为了学习两幅图像的局部不变/变化的特征,模型应首先封装它们的共性和差异性的上下文特征,这种上下文特征聚合了所有相似/不同的语义。称为公共/差异上下文特征。前者帮助挖掘局部共性来推断局部差异特征,后者增强局部差异特征,确保所有的变化被提炼出来。
- 简而言之,和以往仅基于局部特征计算差异特征的方法不同,CARD首先从图像对中解耦公共和差异上下文特征。公共上下文特征引导模型完全提取局部不变的特征来计算局部差异的特征,而差异上下文特征增强局部差异特征,构造所有变化的全表示,以生成准确的句子。
方法
CARD的总体架构如下图所示:
CARD包含三个组成部分:
- 图像对编码:首先使用预训练的ResNet101分别提取双时态特征。然后,引入一个可训练的[CLS]表示每个图像的全局内容,并添加位置编码。之后使用多头自注意力层获取每个图像特征之间的关系。
- 上下文感知的差异蒸馏
- 上下文特征解耦:一个公共编码器CE和两个差异编码器DE获取公共和差异上下文特征,前者共享参数,后者不共享。
- Consistency Constraint:基于对比学习设计,将两个公共的上下文特征嵌入到一个共享空间。给一个采用了B对特征训练batch,对于第k个before图像 的公共上下文特征,第r个after图像 是正样本,其他 是负样本。然后,将这些正/负对投影到一个共享的嵌入空间中,并对它们使用L2归一化且计算它们之间的相似性。引入InfoNCE损失来优化,即拉近语义相近的 和 对,推开非相关对。
- Independence Constraint:确保两个不同的上下文特征被投影到单独的特征空间。首先将每个图像的差异上下文特征投影到单独空间,用过L2归一化处理,并定义 和 之间的独立性约束( Hilbert-Schmidt独立性准则,HSIC, 这是一种已被证明的测试特征独立性的方法,来设计独立性约束的损失。)如果得分较低,则其差异越显著。
-
- 差异蒸馏
- 使用公共上下文解耦得到的结果和图像对编码阶段得到的结果在通道方向上连接,引导图像交互挖掘局部不变特征,并使用ReLU激活函数处理,输入到多头交叉注意力机制中计算每个图像上的局部公共特征。随后,多头注意力机制得到的结果减去图像对编码阶段的结果,计算每个图像的局部差异特征。这些局部差异特征通过每个图像的不同上下文特征进一步增强,从而提取出每个图像中所有的真实变化。得到的结果和差异上下文解耦模块得到的结果级联起来,并使用ReLU激活函数处理,作为两个图像之间所有变化的综合表示。
- 上下文特征解耦:一个公共编码器CE和两个差异编码器DE获取公共和差异上下文特征,前者共享参数,后者不共享。
- 标题生成解码器:使用transformer作为解码器。
实验
Implementation Details
遵循之前的multi-change captioning方法,使用预先训练的ResNet-101提取一对图像的局部特征,特征维数为1024×14×14,将其投影到较低的512维度中,可训练的[CLS]特征的维数也被设置为512,模型的隐藏层大小和单词嵌入大小分别设置为512和300。等式(2)中温度τ设置为0.07。
Performance Comparison
Results on CLEVR-Multi-Change
Results on LEVIR-CC
Results on the Spot-the-Diff Dataset
Ablation Study and Analysis
Ablation Study for Context Features
Ablation Study for Constrains
Generalization to unaligned image pairs