多模态推理依赖预先训练好的对象检测模型。这个模型多为一个黑盒,受限于训练时的固定词汇。这导致模型难以捕捉自由形式文本表达的视觉概念的长尾。

本文提出了一个基于DETR检测器的端到端文本调制检测系统。通过在早期阶段融合这两个模态,对文本和图像进行联合推理。对几个下游任务进行微调,例如短语定位、指代表达的理解和分割,获得SOTA

介绍

多模态物体检测通常使用一个黑盒检测图像中的固定概念词汇表,然后进行对模态对齐,存在缺点:

  • 训练时往往会将检测器冻住,限制了与其他模态作为上下文的共同训练,在微调时,妨碍了模型的进一步完善。
  • 下游模型只能访问到检测到的物体,而缺乏全局信息
  • 意味着词汇应限制在检测器的类别和属性上,不能识别自由格式文本中表达的新的概念组合。

为此本文提出MDETR,基于DETR结合自然语言处理进行物体检测,实现真正的端到端多模态推理,MDETR依赖文本和对齐框作为图像中概念的监督形式。MDETR可以检测自由格式文本中的席位概念,能够理解自由的短语组合。

方法

我们使用预先训练好的Transformer语言模型对文本进行编码。然后,对图像和文本特征应用模式相关的线性投影,将它们投射到一个共享的嵌入空间。这些特征向量在序列维度上被串联起来,被送入一个被称为交叉编码器的联合Transofrmer编码器。然后与DETR一样,对对象查询应用一个Transformer解码器用于预测目标框。

训练

MDETR使用的两个额外的损失函数,它们鼓励图像和文本之间对齐。

  • token预测损失。是一个非参数化的对齐损失。
  • 对比性对齐,是一个参数化的损失函数,用于对齐的对象查询和token之间的相似性。

token预测损失

token与对象是多对多的关系。对于调制检测,与标准检测设置不同,我们对预测每个检测对象的分类类别不感兴趣。而是预测原始文本中每个token与对象的相似性(跨度)

首先设定句子中的最大token数为 L=256L=256。对于每一个使用双向匹配的预测盒与ground truth盒相匹配,模型被训练成预测与对象对应的所有token位置上的分布。

对比性损失

对比性对齐损失在解码器输出的对象的嵌入表示和交叉编码器输出的文本表示之间强制对齐。使视觉和语言的特征空间更相似。

损失函数参考了对比学习中的InfoNCE,对于对象的对比性损失:

lo=i=0N11Ti+jTi+log(exp(oiTtj/τ)k=0L1exp(oiTtk/τ))l_o = \sum^{N-1}_{i=0}\frac{1}{T^+_i}\sum_{j\in T^+_i}\log(\frac{\exp(o_i^T t_j/\tau)}{\sum^{L-1}_{k=0}\exp(o^T_i t_k /\tau)})

对于token的对比性损失:

lt=i=0L11Oi+jOi+log(exp(tiTtj/τ)k=0L1exp(tiTtk/τ))l_t = \sum^{L-1}_{i=0}\frac{1}{O^+_i}\sum_{j\in O^+_i}\log(\frac{\exp(t_i^T t_j/\tau)}{\sum^{L-1}_{k=0}\exp(t^T_i t_k /\tau)})

其中 τ=0.07\tau=0.07 是一个temperature参数,Ti+T^+_i 是给定对象oio_i应该被对其的token集合。Oi+O^+_i给定对象tit_i应该被对其的对象集合。

结合所有的损失

DETR一样,使用了一个双边匹配来寻找预测和ground truth目标之间的最佳匹配。主要的区别是,没有为每个对象预测类标签——而是预测文本中对应于该对象的token相关位置的统一分布(软标记预测),使用软交叉熵进行监督。 匹配之后,总的损失由盒预测损失(L1GIoU)、软标记预测损失和对比性对齐损失组成。