• 清华、IDEA、港中文联合发表的 DQ-DETR: Dual Query Detection Transformer for Phrase Extraction and Grounding论文阅读笔记



    写在前面

      新的一周开始了,冲冲冲~
      这是一篇大佬们联合出品的论文,有点看头哇。粗读了下摘要,是篇挖坑的工作,😅

    一、Abstract

      本文同时研究短语提取和定位 phrase extraction and grounding (PEG)(挖坑)的视觉定位问题。与之前在测试时就知道短语的方法相比,PEG 需要模型同时从图像中提取短语和定位目标。由于短语提取被视为 1D 文本分割问题,于是将 PEG 视为双端检测问题。提出 DQ-DETR,引入双 query 从图像和文本中探索不同的特征用于目标检测和短语 mask 分割。每个成对的双 queries 共享相同的位置但有着不同的内容。为了评估 PEG 的性能,提出一种新的指标 CMAP (cross-modal average precision),继续挖坑,类比于目标检测中的 AP。这一指标克服了短语定位中多个 box 对单个短语而造成的混乱问题。实验表明预训练的 DQ-DETR 在 PEG 上达到了 SOTA。

    二、引言

      开头解释下视觉定位的目的,拓展。顺便抛出一张图,比较几个相似任务的区别:

    在这里插入图片描述
      REC 和短语定位都是视觉定位的子任务。REC 旨在定位自由格式文本的目标,且仅有一个类别的目标需要根据表达式检测。而短语定位需要找到字幕中提及的所以目标。短语定位可以视为 REC 任务:通过指代表达式提取出所有短语。
      本文认为在测试阶段将短语视为未知,将会更加实用。于是研究同时考虑短语提取和定位问题 PEG。接下来是一些举例,最简单的做法是将现有的 REC 模型直接拓展到 PEG 上:首先用 NLP 工具,例如 spaCy 提取出短语,然后应用 REC 模型。但这类方法性能不行,因为没有模态交互。例如图像中可能没有目标或者超过表达式所指代的单个目标,而大多数的 REC 模型仅预测短语的单个目标。
      本文不是第一个提出 REG 设置的,但早期工作将短语定位视为一个检索任务,使用 GT 短语作为输入来监督模型。因此本文再次强调 PEG 设置,其中在预测目标短语对,只给定一对图像和文本作为输入,不假设短语为已知输入(啥意思?这句话写的有问题,看图应该是需要同时输出短语和对应的目标)。于是将三个任务:DET、REC、短语定位视为 PEG 任务(还是略微吹了一点呀)。
      短语提取是去定位输入文本中的名次短语,这可以视为 1D 的文本分割问题:对于一个目标短语,预测一个 1D 文本 mask,这对于 2D 图像中的 mask 预测也是类似的。得益于 DINO、Mask2Former,本文提出基于双 query 的类似 DETR 的模型 DQDETR,在一个 DETR 框架内采用双 qeuries 执行目标检测和文本 mask 预测。文本 mask 预测非常类似于 Mask2Former 中的实例 mask 预测,于是使用 masked-attention Transformer 解码器层来提高 文本 mask 的预测性能。在 DQ-DETR 中,一部分双 queries 有着共享的位置部分但内容部分不同,这种解耦合设计有利于图文对齐和模型的收敛。下图是几种模型 query 的设计比较:
    在这里插入图片描述
      为评估模型在 PEG 上的表现,提出新的指标 CMAP (cross-modal average precision)[又开始挖坑]。与目标检测中的 AP 类似,旨在衡量短语提取和目标定位的精度。这一指标克服了短语定位中多个 box 对应单个短语而造成的召回率混乱问题。有一些方法提出 ANY-BOX 和 MERGED-BOXES。前者能判定预测的和 GT box 匹配的正确情况,然而不能评估图像中的多个目标。后者结合单句短语中对应的所有的目标,一次聚合到大 box 评估,但不能衡量每个目标实例的位置。几种指标示意图如下:
    在这里插入图片描述

      本文贡献如下:

    • 通过比较视觉定位中的三种设置:DET、REC、短语定位,再次强调了 PEG 设定,提出了新的评估指标 cross-modal average precision (CMAP),克服了多目标对应单个短语的冲突问题。
    • 将名词提取视为 1D 文本分割问题,将 PEG 视为预测指代目标的 bounding box 问题和短语预测的文本 mask 问题。相应地提出类似 DETR 的模型 DQ-DETR。
    • 在 Flickr30k、RefCOCO/+/g、COCO 数据集上表现很好。

    三、PEG & CMAP

      给定图文对输入,PEG 需要模型从图文对中预测出区域-句子对,如上图 3 所示。PEG 任务可以视为双端预测问题:检测图像的 box,文本 mask 分割。
      目标检测 DET 中的 AP 指标是通过整合 P-R 曲线的面积得出,绘制的关键在于正负样本。于是采用双端 IoU 来选择正负样本:
    I O U d u a l = ( I O U b o x ) 0.5 × I O U p h r a s e \mathrm{IOU_{dual}=(IOU_{box})^{0.5}\times IOU_{phrase}} IOUdual=(IOUbox)0.5×IOUphrase
    其中 I O U b o x \mathrm{IOU_{box}} IOUbox 为 box IoU,而 I O U p h r a s e \mathrm{IOU_{phrase}} IOUphrase 为短语 IOU,采用平方项来确保 I O U d u a l \mathrm{IOU_{dual}} IOUdual 是个 2 维度指标,类似于 I O U b o x \mathrm{IOU_{box}} IOUbox 中阈值的含义。当 I O U d u a l > = 0.5 \mathrm{IOU_{dual}}>=0.5 IOUdual>=0.5 时为正样本,反之负样本。使用 CMAP50 表示预测指标在 0.5。

    四、DQ-DETR

    在这里插入图片描述
      类似 DETR、MDERT 的结构,DQ-DETR 也是个基于 Transformer 的编码器-解码器结构,由图像 BackBone、文本 Backbone、多模态 Transformer 编码器、解码器、一些预测头组成。
      给定一组输入图像文本对,分别利用图像 Backbone 和文本 Backbone 提取图像和文本特征,展平后拼接送入 Transformer 编码器层。之后在解码器层利用可学习的双端 queries 来探索多模态特征,最后图像和文本 queries 用于 box 的回归和短语的定位。

    双 queries 用于双端检测

      在 DQ-DETR 中将 queries 解耦合到 box 的回归和短语的定位。由于所有的 qeuries 都需要关注图像中的相同区域,text 中的短语来预测成对的区域和短语,于是提出共享位置部分,解耦合 queries 的内容部分。在位置 queries 中再引入两个分区:图像位置 queries 和文本位置 queries。具体来说,图像位置 qeuries 塑造为 anchor boxes,类似于 DAB-DETR,然后在正/余弦编码的加持下投影到高维度。而文本位置 qeuries 塑造为 1D 分割 mask,类似于 Mask2Former,然后用于文本 mask 引导的注意力模块。图像位置 qeuries 通过更新后的图像 qeuries 来预测,文本位置 qeuries 通过在更新后的图像 qeuries 和来自编码器输出的文本特征进行点乘得到。这两个位置 qeuries 由双 qeuries 中的位置 qeuries 共享,用于下一层的预测。除了位置和内容部分,还在不同模态的特征上增加了可学习的模态 embedding。下表列出来 queries 组合信息:
    在这里插入图片描述

    文本 mask 引导的注意力

      短语定位中的 1D 分割方式需要一个文本 mask 引导的注意力机制,使得 queries 关注到感兴趣的短语 tokens,类似于 Mask2Former 中的 mask 注意力。每个文本 query 中包含一个文本位置 query M T ∈ 1 text M_T\in1^{\text{text}} MT1text,本质是一个与文本特征相同长度的二值 mask。相应地使用编码器输出的图文拼接特征作为跨模态注意力的 keys 和 values。二值化 masks 用于拼接文本特征后的注意力 mask。如果文本特征对应的 mask 值存在,则采用,否则 mask 掉。而预测的 mask 将进行逐层更新来接近 GT masks。所有的 masks 作为第一解码器层的输入,其他层利用前一层的预测 masks,最终更新的 mask 为短语定位的输出。

    损失函数

      训练时采用双边匹配来赋值 GT 目标 boxes 和文本短语到双 queries。使用 L1 损失和 GIOU 损失进行 bounding box 的回归,对于短语定位,采用对比 softmax 损失。
      根据解码器输出的文本 query Q ( out ) ∈ R N q , D Q^{(\text{out})}\in R^{N_q,D} Q(out)RNq,D,计算编码器输出的文本特征 F T ( enc ) ∈ R text , D F_T^{(\text{enc})}\in R^{{\text{text}},D} FT(enc)Rtext,D 和这一 query 的相似度来预测文本分割 mask。
      首先将解码器的输出 Q ( out ) Q^{(\text{out})} Q(out) 线性投影 Q = Linear Q ( Q (out) ) ∈ R N q , D 1 Q=\text{Linear}_Q(Q^{\text{(out)}})\in R^{N_q,D_1} Q=LinearQ(Q(out))RNq,D1,然后将解码器输出的文本特征 F T (enc) F_T^{\text{(enc)}} FT(enc) 线性投影 F T = L i n e a r T ( F T ( e n c ) ) ∈ R N t e x t , D 1 F_{T}=\mathrm{Linear}_{T}(F_{T}^{(\mathrm{enc})})\in R^{N_{\mathrm{text}},D_{1}} FT=LinearT(FT(enc))RNtext,D1 D 1 D_{1} D1 为投影空间的维度, L i n e a r Q \mathrm{Linear}_{Q} LinearQ L i n e a r T \mathrm{Linear}_{T} LinearT 为两个线性层。类似 DETR,将 no phrase 的 queries 设置为 NoPhraseToken ∈ R D 1 \in R^{D_1} RD1。之后拼接投影的文本特征和 no phrase token 来得到拓展的文本特征 F T ′ = Concat ⁡ ( F T , NoPhraseToken ) ∈ R N text + 1 , D 1 F_T^\prime=\operatorname{Concat}(F_T,\text{NoPhraseToken})\in R^{N_\text{text}+1,D_1} FT=Concat(FT,NoPhraseToken)RNtext+1,D1
      最后对比 softmax 损失用于监督投影的 query 特征 Q ∈ R N q , D 1 Q\in R^{N_q,D_1} QRNq,D1 和拓展的文本特征 F T ′ ∈ R N text + 1 , D 1 F_T^\prime\in R^{N_\text{text}+1,D_1} FTRNtext+1,D1。令 S q i S_{q_i} Sqi 为给定 query q i ∈ Q q_i\in Q qiQ 的目标短语的文本 token 索引,query q i q_i qi 的短语定位损失为:
    L phrase, i = ∑ j ∈ S q i ( − log ⁡ q i ⊤ p j / τ ∑ k = 0 N text + 1 q i ⊤ p k / τ ) \mathcal{L}_{\text{phrase,}i}=\sum_{j\in S_{q_{i}}}(-\log\frac{q_{i}^{\top}p_{j}/\tau}{\sum_{k=0}^{N_{\text{text}}+1}q_{i}^{\top}p_{k}/\tau}) Lphrase,i=jSqi(logk=0Ntext+1qipk/τqipj/τ)其中 τ \tau τ 我温度参数,实验设为 0.07, p i ∈ F T ′ p_i\in F_T^{\prime} piFT 为文本特征或索引为 j j j 的no_phase 索引。为平衡损失,当没有目标被赋值到 query q i q_i qi 上时,损失下降 0.05 个百分点。

    五、实验

    实施细节

      ResNet-50、ResNet-101 预训练在 ImageNet 上,分别用于 base 和预训练。文本 Backbone:预训练的 RoBERTa-base。 D = 256 D=256 D=256 D 1 = 64 D_1=64 D1=64 ,100 对 queries 用于双 queries,6 层解码器层,6 层编码器层。初始学习率 Transformer 1 e − 4 1e^{-4} 1e4,图像 Backbone 1 e − 5 1e^{-5} 1e5。在第一个 1% 迭代内,文本 Backbone 的学习率从 5 e − 5 5e^{-5} 5e5 线性衰减至 0。为了保证图匹配的稳定,采用 anchor 去噪技术。

    预训练设置

    预训练任务:PEG

      采用 Flickr30k、COCO、Visual Genome 数据集用于预训练,Backbone ResNet-101。预训练 25 个 epoches,在第 20 个 epoches 上学习率衰减 10%。16 张 Nvidiia A100 GPUs,每张 GPU 4 张图像,训练大概 100 个小时。模型微调在 4 个 GPU 上,而在目标检测任务上需要 8 个 GPU。
      下表是三个 Baseline 的比较:

    在这里插入图片描述

    下游任务:短语定位

    在这里插入图片描述

    下游任务:REC

    在这里插入图片描述

    下游任务:DET

      说是附录提供,但是没看到 Arxiv 版本呀,会议版本也无。

    Base 设置 & 消融

      使用 MDETR 作为 Baseline,但由于其论文中仅有预训练模型,不容易进行后续比较(真体贴呀),于是设计无需预训练的 base,训练在 Flickr30 Entities 数据集上。所有模型训练在 4 块 NVIDIA A100 GPU 上,ResNet-50,每卡 4 图像。

    在 Flickr30k Entities 数据集上的结果和消融

      所有在 Flickr30k 数据集上的模型训练 24 个 epochs,学习率在第 20 个 epoch 下降。结果如下表所示:
    在这里插入图片描述

    六、相关工作

      说是附录提供,但是没看到 Arxiv 版本呀,会议版本也无。

    七、结论

      本文总览了视觉定位任务,重新强调 PEG (phrase extraction and grounding) 任务,提出新的 CMAP (cross-modal average precision) 指标。CMAP 克服了短语定位任务中多个 box 对应单个短语的混乱问题。此外,将 PEG 视为双端检测任务:短语定位视为 1D 文本分割问题。开发了一种基于 query 的类似 DETR 的结构 DQ-DET,解耦合的 query 设计减轻了图文模态对齐的难度,得到了更快收敛和更高的性能。提出文本 mask 引导的注意力来限制跨模态注意力中,文本 query 到 masked 文本 tokens。大量的实验表明模型设计的高校。

    写在后面

      这篇论文创新点和实验都挺好的,也是挖坑工作,点赞!问题嘛当然也有,这个写作不像是那种顶级写法呀,有一丢丢啰嗦了,可能一作是个新手?需要注意下。

  • 相关阅读:
    我用了多年的前端框架,强烈推荐!
    java计算机毕业设计开放式实验室预约系统源码+mysql数据库+系统+lw文档+部署
    Nginx配置指南:如何定位、解读与优化Linux上的Nginx设置
    HDU-2047-阿牛的EOF牛肉串
    【MindSpore易点通】网络构建经验总结下篇
    OSIRISV4.1使用教程(最新可用版)
    三维地图开发三维地图服务器
    力扣爆刷第85天之hot100五连刷11-15
    MySQL学习笔记5——函数和索引
    【图像分割】基于差分进化算法优化模糊熵实现多级图像阈值分割附matlab代码
  • 原文地址:https://blog.csdn.net/qq_38929105/article/details/131765474