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

2023-07-17 22:51:34


写在前面

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

一、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。大量的实验表明模型设计的高校。

写在后面

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

更多推荐

如何使用Docker部署debezium来监控 MySQL 数据库

目录一、什么是Docker二、什么是debezium三、什么是MySQL四、如何使用Docker部署debezium来监控MySQL数据库一、什么是DockerDocker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上

Oracle系列十九:Oracle的体系结构

Oracle的体系结构1.物理结构2.内存结构2.1SGA2.2后台进程3.逻辑结构1.物理结构Oracle数据库的物理结构由参数文件、控制文件、数据文件和日志文件组成,用于存储和管理数据库的数据和元数据,每个文件都扮演着不可或缺的角色。参数文件用于配置数据库的初始化参数控制文件记录数据库的结构和状态信息数据文件存储了

Docker赋能物联网:探索软件供应链的优势、挑战和安全性

作者:JFrog大中华区总经理董任远随着联网设备硬件性能的日益提升及价格愈发低廉,物联网应用的复杂性随之提升。常用的容器化平台Docker能够帮助精简流程,助力开发人员更轻松地创建和维护物联网应用。本文将探讨Docker为物联网开发带来的优势,部署和维护应用程序时需考虑的挑战,以及如何将安全最佳实践应用于物联网。Doc

目前最流行的无人机摄影测量软件有哪些?各有什么特点?

文章目录1.Pix4Dmapper2.PhotoScan3.ContextCapture4.天工GodWork5.TrimbleInpho6.IMAGINEPhotogrammetry7.大疆智图推荐阅读:《无人机航空摄影测量精品教程》包括:无人机航测外业作业流程(像控点布设、航线规划、仿地飞行、航拍)和内业数据处理软

PDCA循环

目录1.认识PDCA:2.PDCA循环的经典案例3.PDCA的四个阶段和八个步骤4.PDCA循环的优缺点:5.案例6.其他作用1.认识PDCA:PDCA循环最早由美国质量统计控制之父Shewhat(休哈特)提出的PDS(PlanDoSee)演化而来,由美国质量管理专家戴明改进成为PDCA模式,所以又称为“戴明环”。PD

机器人中的数值优化(十七)—— 锥与对称锥

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例二十八、锥与对称锥1、尖锥锥是一种特殊的集合,当满足

【2023年11月第四版教材】第14章《沟通管理》(第一部分)

第14章《沟通管理》(第一部分)1章节说明2管理基础2.1沟通具体形式包括2.2沟通模型:★★★(17下41)(18下43)2.3沟通模型包含5种状态2.4沟通分类3管理过程3.1管理的过程★★★(21上42)(22上43)⑵下42)(22下43)(22下案例)3.2管理ITTO汇总★★★1章节说明【本章分值预测】大部

IP地址与代理IP:了解它们的基本概念和用途

在互联网世界中,IP地址和代理IP是两个常见但不同的概念,它们在网络通信、隐私保护和安全方面发挥着重要作用。本文将介绍什么是IP地址和代理IP,以及它们在网络中的作用和应用。IP地址是什么?IP地址,全称为InternetProtocolAddress,是互联网上设备的唯一标识符。它类似于房屋地址,帮助数据包找到它们需

软件测试用例经典方法 | 单元测试法案例

单元测试又称模块测试,是对软件设计的最小单元的功能、性能、接口和设计约束等的正确性进行检验,检查程序在语法、格式和逻辑上的错误,并验证程序是否符合规范,以发现单元内部可能存在的各种缺陷。单元测试的对象是软件设计的最小单位——模块、函数或者类。在传统的结构化程序设计语言(如C语言)中,单元测试的对象一般是函数或者过程。在

python文件(概念、基本操作、常用操作、文本文件的编码方式)

嗨喽,大家好呀~这里是爱看美女的茜茜呐👇👇👇更多精彩机密、教程,尽在下方,赶紧点击了解吧~python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可1.文件的概念1.1文件的概念和作用计算机的文件,就是存储在某种长期储存设备上的一段数据长期存储设备包括:硬盘、U盘、移动硬盘、光盘…文件的作

清水模板是什么材质?

清水模板是建筑施工中常用的一种模板,用于浇筑混凝土结构的形成和支撑。它是指没有进行任何装饰和涂层处理的模板,通常由木材制成,如胶合板、钢模板等。下面是关于清水模板的详细介绍。清水模板的材质多样,其中最常见的是胶合板。胶合板是由多层薄木板通过交错堆叠、胶合而成的板材。由于其具有较高的强度、稳定性和耐久性,因此在建筑施工中

热文推荐