电话咨询

电话咨询:010-62607600

微信咨询

微信扫码

分享 | M4C多模态transformer对TextVQA进行迭代式答案预测

行业资讯 发布时间:2022-03-10 18:42:41 作者:深延科技

最近的工作探索了TextVQA任务,该任务需要阅读和理解图像中的文字来回答问题。然而,现有的TextVQA的方法大多是基于两对模态之间的自定义成对融合机制,并且通过将TextVQA作为一个分类任务来限制在一个单一的预测步。在这项工作中,我们为TextVQA任务提出了一个新的模型,该模型基于一个多模态transformer架构,并伴随着图像中文本的丰富表示。

原文:Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
作者:Ronghang Hu1,2 Amanpreet Singh1

简介

许多视觉场景中都含有携带关键信息的文字,因此,对于下游推理任务来说,理解图像中的文字是至关重要的。例如,警告牌上的深水标签警告人们场景中的danger。最近的工作探索了TextVQA任务,该任务需要阅读和理解图像中的文字来回答问题。然而,现有的TextVQA的方法大多是基于两对模态之间的自定义成对融合机制,并且通过将TextVQA作为一个分类任务来限制在一个单一的预测步。在这项工作中,我们为TextVQA任务提出了一个新的模型,该模型基于一个多模态transformer架构,并伴随着图像中文本的丰富表示。

我们的模型通过将不同的模态嵌入到一个共同的语义空间中,自然而然地融合了不同的模态,其中self-attention被应用于模态间和模态内的上下文模型。此外,它通过动态指针网络实现了迭代答案解码,使模型能够通过多步预测而不是one-step分类形成一个答案。我们的模型在TextVQA任务的三个基准数据集上以很大的幅度超过了现有方法。

作为一项突出的视觉推理任务,视觉问答(VQA)任务[4]在数据集(如[4, 17, 22, 21, 20])和方法(如[14, 3, 6, 25, 33])方面都受到了广泛关注。然而,这些数据集和方法大多集中在场景中的视觉成分上。另一方面,它们往往忽略了一个关键的模态–图像中的文本–它承载着对场景理解和推理的重要信息。例如,在图1中,标志上的深水警告人们场景中存在危险。为了解决这个缺点,最近提出了新的VQA数据集[44, 8, 37],其问题明确要求对图像中的文字进行理解和推理,这被称为TextVQA任务。

image.png
图1: 与之前关于TextVQA任务的工作(例如[44])相比,我们的模型伴随着丰富的图像文本特征,通过联合嵌入空间的多模态transformer来处理所有模态,而不是模态之间的成对融合机制。此外,答案是通过指针的迭代解码来预测的,而不是通过固定单词表或从图像中复制单个文本token的one-step分类。

TextVQA任务特别要求模型能够看到、阅读和推理三种模态:输入问题、图像中的视觉内容(如视觉对象)和图像中的文本。基于图像的OCR结果,已经为TextVQA任务提出了几种方法[44, 8, 37, 7]。特别是,LoRRA[44]用OCR注意力分支扩展了以前的VQA模型[43],并将OCR token作为动态单词表添加到答案分类器中,允许从图像中复制一个OCR token作为答案。类似地,在[37]中,OCR token被分组为块,并添加到VQA模型的输出空间。

虽然这些方法在某种程度上能够阅读图像中的文本,但它们通常依赖于两种模态之间的定制的成对多模态融合机制(如以输入问题为条件,在图像区域和文本token上进行单跳注意),这限制了模态之间可能的互动类型。此外,它们将答案预测视为一个单步分类问题–从训练集答案中选择一个答案或从图像中复制一个文本token–这使得它很难产生复杂的答案,如具有多个单词的书名或招牌名称,或同时具有常见单词和特定图像文本token的答案,如麦当劳汉堡,其中麦当劳来自图像中的文本,汉堡则来自模型自己的单词表。此外,以前的工作中基于单词嵌入的图像文本特征的表示能力有限,并且错过了重要的线索,如图像中文本token的外观(如字体和颜色)和位置。例如,具有不同字体且在空间上相距甚远的token通常不属于同一个街标。

在本文中,我们针对TextVQA任务采用了新颖的多模态多拷贝网(M4C)模型来解决上述限制,该模型基于transformer[48]架构,同时通过动态指针进行迭代答案解码,如图1所示。我们的模型自然地融合了三种输入模态,并在多模态transformer中同质地捕捉模态内和模态间的互动,它将每种模态的所有实体投射到一个共同的语义嵌入空间,并应用self-attention机制[38, 48]来收集每个实体的关系表示。

我们没有将答案预测作为一项分类任务,而是在多个步中进行迭代的答案解码,并且用动态指针网络来增强我们的答案解码器,该网络允许在图像中以排列不变的方式选择文本,而不依赖于之前工作中的任何临时位置索引,如LoRRA[44]。此外,我们的模型能够在生成的答案中把自己的单词表和图像中的文本结合起来,如图4和5中的例子所示。最后,我们为图像中的文本token引入了一个基于多种线索的丰富表示,包括其单词嵌入、外观、位置和字符级信息。

image.png
图4: 我们的M4C模型在TextVQA验证集上的定性例子(橙色单词来自OC Rtoken,蓝色单词来自固定答案单词表)。与之前的工作LoRRA[44]从训练集中选择一个答案或只复制一个OC Rtoken相比,我们的模型可以复制多个OCR token,并通过迭代解码将其与固定单词表结合起来。

我们在本文中的贡献有以下几点。1)我们表明,多种(超过两种)输入模态可以通过我们的多模态transformer架构自然融合并联合建模。2)与以前的TextVQA工作不同,我们的模型对答案的推理超出了单一的分类步,并通过我们的指针式多步解码器进行预测。3)我们对图像中的文本token采用了丰富的特征表示,并表明它比以前的工作中只基于单词嵌入的特征更好。4)我们的模型在TextVQA任务的三个具有挑战性的数据集上明显优于以前的工作。TextVQA[44](相对+25%),ST-VQA[8](相对+65%),以及OCR-VQA[37](相对+32%)。

相关工作

基于阅读和理解图像文本的VQA。最近,一些数据集和方法[44, 8, 37, 7]被提出来用于基于图像中文本的视觉问答(被称为TextVQA任务)。LoRRA[44]是这项任务的一个突出的前期工作,它扩展了Pythia[43]的VQA框架,并允许它从图像中复制一个OCR token作为答案,通过在OCR token上应用一个注意力跳跃(以问题为条件),并将OCR token指数纳入答案分类器的输出空间。一个概念上类似的模型在[37]中提出,OCR token被分组为块,并被添加到一个VQA模型的输入特征和输出答案空间。此外,其他一些方法[8, 7]通过用OCR输入增强现有的VQA模型来实现文本阅读。然而,这些现有的方法因其对图像文本的简单特征表示、多模态学习方法和对答案输出的one-step分类而受到限制。在这项工作中,我们用我们的M4C模型解决了这些限制。

视觉和语言任务中的多模态学习。早期关于视觉和语言任务的方法经常通过对一种模态的注意力来结合图像和文字,并以另一种模态为条件,例如基于文字的图像注意力(例如[51, 34])。一些方法已经探索了多模态融合机制,如双线性模型(如[14,25])、self-attention(如[15])和图网络(如[30])。受Transformer[48]和BERT[13]架构在自然语言任务中的成功启发,最近的几项工作[33, 1, 47, 31, 29, 45, 53, 11]也在大规模数据集上应用了基于Transformer的图像和文本之间的融合与自监督。然而,大多数现有的工作是用一组特定的参数来处理每一种模态,这使得它们很难扩展到更多的输入模态。另一方面,在我们的工作中,我们将每个模态的所有实体都投射到一个联合嵌入空间中,并通过在所有事物的列表上的transformer架构来同质处理它们。我们的结果表明,联合嵌入和self-attention在对多种(超过两种)输入模态进行建模时是有效的。

用指针进动作态复制。TextVQA任务中的许多答案来自图像中的文本token,如书名或街道标志。由于在答案单词表中拥有每一个可能的文本token是难以实现的,从图像中复制文本往往是答案预测的一个更容易的选择。之前的工作已经探索了在不同的任务中动态地复制输入,如文本摘要[42]、知识检索[52]和基于指针网络[50]及其变体的图像说明[35]。对于TextVQA任务,最近的工作[44, 37]提出通过将OCR token添加到分类器输出的索引来复制OCR token。然而,除了只复制单个token(或块)的限制外,这些方法的一个缺点是它们需要预先定义OCR token的数量(因为分类器有一个固定的输出维度),它们的输出取决于token的排序。在这项工作中,我们使用一个排列不变的指针网络与我们的多模态transformer一起克服了这个缺点。

多模态多拷贝网(M4C)

在这项工作中,我们提出了多模态多拷贝网(M4C),这是一种用于TextVQA任务的新方法,它基于指针增强的多模态transformer架构和迭代的答案预测。给定一个问题和一张图片作为输入,我们从三种模态中提取特征表示–问题、图片中的视觉对象和图片中的文字。这三种模态分别表示为问题词特征列表、来自现成的目标检测器的视觉目标特征列表和基于外部OCR系统的OCR token特征列表。

我们的模型将来自三种模态的实体(在我们的例子中,问题词、检测到的对象和检测到的OCR token)的特征表示投射为学习到的共同嵌入空间中的向量。然后,一个多层transformer[48]被应用于所有预测的特征列表,用模态内和模态间的背景来丰富它们的表示。我们的模型通过伴随着动态指针网络的迭代解码来学习预测答案。在解码过程中,它以自回归的方式输入之前的输出来预测下一个答案词。在每一步,它要么从图像中复制一个OCR token,要么从其固定的答案单词表中选择一个词。图2显示了我们模型的概况。

image.png
图2: 我们的M4C模型的概述。我们通过特定领域的嵌入方法将所有实体(问题词、检测到的视觉对象和检测到的OCR token)投射到一个共同的d维语义空间,并在投射的事物列表上应用多个transformer层。基于transformer的输出,我们通过迭代的自回归解码来预测答案,在每一步,我们的模型要么通过动态指针网络选择一个OCR token,要么从其固定的答案单词表中选择一个词。

所有模态的共同嵌入空间

我们的模型接收来自三种模态的输入–问题词、视觉对象和OCR token。我们为每种模态提取特征表示,并通过特定领域的嵌入方法将它们投射到一个共同的d维语义空间,具体如下。

问题词嵌入。给定一个问题为K个词的序列,我们使用预训练的BERT模型[13]将这些词嵌入到相应的d维特征向量{xques}k(其中k=1,…,K)序列中。在训练期间,Bert的参数是使用问答的损失进行微调。

嵌入检测到的目标。给定一个图像,我们通过预训练的检测器(在我们的例子中是Faster R·CNN[41])获得一组M个视觉对象。按照先前的工作[3, 43, 44],我们使用检测器的输出从第m个目标(其中m=1,··,M)提取外观特征xfrm。为了捕捉它在图像中的位置,我们从第m个目标的相对bounding boxes坐标[xmin/Wim,ymin/Him,xmax/Wim,ymax/Him]引入一个4维位置特征xbm,其中Wim和Him分别为图像的宽度和高度。然后,外观特征和位置特征用两个学习到的线性变换投射到d维空间(其中d与上面的问题词嵌入相同),并将其相加作为最终的对象嵌入{x m obj}为:
image.png

其中W1和W2是学习的投影矩阵。LN(·)是层归一化[5],加在线性变换的输出上,以确保对象嵌入与问题词嵌入具有相同的规模。我们在训练中对Faster R-CNN检测器的最后一层进行微调。

嵌入具有丰富表现形式的OCR token。直观地说,要在图像中表示文本,不仅需要对其字符进行编码,还需要对其外观(如颜色、字体和背景)和在图像中的空间位置进行编码(例如,出现在图书封面顶部的文字更可能是书名)。

我们在模型中遵循这一直觉,使用由四种特征组成的丰富的OCR表示,在我们的实验中显示,这比之前的工作中单独的单词嵌入(如FastText)要好得多[44]。在通过外部OCR系统获得一组图像中的N个OCR token后,从第n个token(其中n=1,···,N)我们提取1)一个300维的FastText[9]向量xftn,这是一个带有子词信息的词嵌入,2)一个外观特征xfrn,来自上述目标检测中的同一个Faster R·CNN检测器,通过OCR token的bounding boxes上的RoI-Pooling提取。3) 604维的字符金字塔直方图(PHOC)[2]向量xpn,捕捉token中存在的字符,这对OCR错误更为稳健,可被视为粗略的字符模型,以及4) 基于OCR token的相对bounding boxes坐标[xmin/Wim,ymin/Him,xmax/Wim,ymax/Him]的4维位置特征xbn。我们将每个特征线性地投射到d维空间,并将它们相加(经过层的归一化)作为最终的OCR token嵌入{x n ocr},如下所示:
image.png

其中W3、W4、W5和W6是学习到的投影矩阵,LN(·)是层归一化。

多模态融合和迭代答案预测与指针增强的transformer

如第3.1节所述,在将每个模态的所有实体(问题词、视觉对象和OCRtoken)作为向量嵌入到d维联合嵌入空间后,我们在来自{ 图片 },{ 图片 },和{ 图片 }的所有K+M+N实体列表上应用隐藏维度为d的L个transformer层[48]。n 通过transformer中的多头self-attention机制,允许每个实体自由关注所有其他实体,无论它们是否来自同一模态。例如,一个OCR token被允许关注另一个OCR token、一个被检测到的对象或一个问题词。这使得我们能够通过同一套transformer参数,以同质的方式对模态间和模态内的关系进行建模。我们的多模态transformer的输出是每个模态中的实体的d维特征向量列表,这可以被看作是它们在多模态上下文中的丰富嵌入。

我们通过迭代解码来预测问题的答案,使用与解码器完全相同的transformer层。我们以自回归的方式对答案进行逐字解码,总共有T个步,每个解码的字既可以是图像中的OCR token,也可以是我们固定的频繁回答单词表中的一个字。如图2所示,在解码过程中的每一步,我们都会输入之前预测的单词嵌入,并根据动态指针网络的transformer输出来预测下一个答案单词。

让{z1ocr,···,zNocr}是图像中N个OCR token的d维transformer输出。假设我们有一个经常出现在训练集答案中的V个单词的单词表。在第t个解码步,transformer模型输出一个d维向量zdect,对应于步t的输入xdect(本节后面解释)。从zdect中,我们预测从固定答案单词表中选择一个词的V维分数yvoct和在解码步t从图像中选择一个OCR token的N维分数yocr t。在我们的实现中,第i个词的固定答案单词表分数yvoct,i(其中i=1,··,V)被预测为一个简单的线性层,即:
image.png

其中wvoci是答案单词表中第i个单词的d维参数,bvoci是一个标量参数。

为了从图像中的N个OCR token中选择一个token,我们用一个动态指针网络来增强transformer模型,通过解码输出zdect和每个OCR token的输出表示znocr之间的双线性互动,预测每个token的复制分数yocrt,n(其中n=1,…,N),即为:
image.png
其中Wocr和Wdec是d×d矩阵,bocr和bdec是d维矢量。

在预测过程中,我们对固定答案单词表分数和动态OCR-复制分数的串联 图片 进行argmax,从所有V+N个候选词中选择得分最高的元素(单词表或OCR token)。

在我们的迭代自回归解码程序中,如果在解码时间步t的预测是一个OCR token,我们将其OCR表示xocrn作为transformer输入xdect+1输入到下一个预测步t+1。否则(前一个预测是固定答案单词表中的一个词),我们将公式3中对应的权重向量wvoci作为下一个步的输入xdect+1。此外,我们增加了两个额外的d维向量作为输入–一个对应于步t的位置嵌入向量,以及一个对应于之前的预测是固定单词表还是OCRtoken的类型嵌入向量。与机器翻译类似,我们用两个特殊的token,来增加我们的答案单词表量。这里被用作第一个解码步的输入,在被预测后我们停止解码过程。

为了确保答案解码中的因果关系,我们在transformer架构[48]的self-attention层中mask了注意力权重,使问题词、检测到的对象和OCR token不能注意到任何解码步,所有解码步除了问题词、检测到的对象和OCR token外,只能注意到之前的解码步。这类似于[40]中的前缀LM。

训练

在训练过程中,我们在每个解码步监督我们的多模态transformer。与机器翻译等序列预测任务类似,我们使用teacher forcing[28](即使用ground truth输入到解码器)来训练我们的多步答案解码器,其中每个ground truth答案被标注为一个单词序列。给定一个答案词可以同时出现在固定的答案单词表和OCR标注中,我们对串联的分数 图片 应用多标签sigmoid loss(而不是softmax loss)。

实验

我们在TextVQA任务的三个具有挑战性的数据集上评估了我们的模型,包括TextVQA[44]、ST-VQA[8]和OCR-VQA[37](我们使用这些数据集只是为了研究目的)。我们的模型在所有这三个数据集上的表现都远远超过了以前的工作。

对TextVQA数据集的评估

TextVQA数据集[44]包含了来自Open Images数据集[27]的28,408张图片,其中有人写的问题要求对图片中的文字进行推理。与VQAv2[17]类似,TextVQA数据集中的每个问题都有10个人工标注的答案,最终的准确度是通过对10个答案的软投票来衡量。
我们使用d=768作为联合嵌入空间的维度,用BERT-BASE提取问题词特征,使用其前三层的768维输出,在训练期间进行微调。

对于视觉对象,按照Pythia[43]和LoRRA[44]的做法,我们用在视觉基因组数据集[26]上预训练的Faster R-CNN检测器[41]检测对象,并在每张图像上保留100个得分最高的对象。然后,从每个检测到的目标中提取fc6特征向量。我们在提取的fc6特征上应用Faster R-CNN fc7权重来输出2048维的fc7外观特征,并在训练过程中对fc7权重进行微调。然而,我们没有像LoRRA那样使用ResNet-152卷积特征[19]。

最后,我们使用Rosetta OCR系统[10]在每张图片上提取文本token。与之前使用多语言Rosetta版本的工作LoRRA[44]不同,在我们的模型中,我们使用的是Rosetta的纯英文版本,我们发现这个版本的召回率更高。我们将这两个版本分别称为Rosettaml和Rosetta-en。如第3.1节所述,我们从每个OCR token中提取FastText[9]特征、Faster R-CNN(FRCN)的外观特征、PHOC[2]特征,以及bounding boxes(bbox)特征。

在我们的多模态transformer中,我们使用L=4层的多模态transformer,有12个注意力头。其他超参数(如dropout rate)遵循BERTBASE[13]。然而,我们注意到,多模态transformer的参数是从头开始初始化的,而不是从预训练好的BERT模型开始。除非另有规定,我们在答案预测中使用T=12的最大解码步,这足以覆盖几乎所有的答案。

我们从训练集的答案中收集最频繁的5000个词作为我们的答案单词表。在训练过程中,我们使用128的批次量,最多可训练24,000次迭代。我们的模型使用Adam优化器进行训练,学习率为1e-4,采用阶梯式学习率计划,在14000次和19000次迭代时,我们将学习率乘以0.1。使用验证集的准确性来选择最佳快照。整个训练在4个Nvidia Tesla V100 GPU上需要大约10小时。

作为这个数据集上值得注意的前期工作,我们展示了与LoRRA模型[44]的一步步比较。LoRRA在图像视觉特征和OCR特征上使用两个单跳注意力层。被关注的视觉和OCR特征然后与问题的向量编码相融合,并送入一个单步分类器,以从训练集中选择一个频繁的答案或从图像中选择一个OCR token。与我们在第3.1节中的丰富的OCR表示不同,在LoRRA模型中,每个OCR token只表示为一个300维的FastText向量。

在预训练的问题编码和OCR系统上的消融。我们首先用我们的模型的限制性版本进行实验,使用多模态transformer架构,但在答案预测中没有迭代解码,即表1中的M4C(w/o dec.)。在这种情况下,我们只进行一步解码,并从训练集中选择一个频繁的答案或复制图像中的一个OCR token作为答案。

作为与LoRRA的逐步比较,我们先从Rosetta-ml中提取OCR token,只用FastText向量表示OCR token,并从头开始初始化第3.1节中的问题编码参数(而不是从预训练的BERT-BASE模型中提取)。其结果显示在表1的第3行。与第1行的LoRRA相比,我们模型的这个限制性版本在TextVQA验证集上已经超过了LoRRA约3%(绝对值)。这一结果表明,我们的多模态transformer架构在联合建模三种输入模态方面更为有效。我们还尝试从GloVe[39]中初始化单词嵌入,就像在LoRRA中一样,其余参数从头开始,如第2行所示。

然而,我们发现,这种设置比从头初始化所有参数的效果略差,我们怀疑这是由于LoRRA和我们模型中使用的BERT tokenizer之间不同的问题tokenization。然后,我们在第4行改用预训练的BERT进行问题编码,并在第5行改用Rosettaen进行OCR提取。比较第3行和第5行,我们看到预训练的BERT导致了大约0.6%的高准确率,而Rosetta-en带来了另外1%的改进。

image.png
表1: 在TextVQA数据集上,我们消融了我们的M4C模型,并展示了与先前工作LoRRA[44]的详细比较。我们的多模态transformer(第3行对第1行),我们丰富的OCR表示(第8行对第5行)和我们的迭代答案预测(第11行对第8行)都明显提高了准确性。值得注意的是,即使使用较少的预训练参数(第9行对第1行),我们的模型仍然比LoRRA高出9.5%(绝对值)。在没有ST-VQA数据集作为额外训练数据的情况下,我们的最终模型达到了39.01%(第11行)和40.46%(第14行)的测试精度,比挑战赛获奖的DCD ZJU方法高出了9%(绝对值)。详见第4.1节。

对OCR特征表示的消融 我们通过表1第5至8行的消融分析了我们在第3.1节中丰富的OCR表示的影响。我们看到,OCR位置(bbox)特征和RoI集合的外观特征(FRCN)都以明显的幅度提高了性能。此外,我们发现PHOC作为OCR token的字符级表示法也很有帮助。与LoRRA中只使用FastText特征相比,我们丰富的OCR表示法使准确性提高了约4%(绝对值)(第8行与第5行)。我们注意到,我们额外的OCR特征不需要更多的预训练模型,因为我们在OCR外观特征的目标检测中应用了完全相同的Faster R-CNN模型,而PHOC是一个手动设计的特征,不需要预训练。

迭代答案解码。然后,我们将带有迭代答案解码的完整M4C模型应用于TextVQA数据集。结果显示在表1的第11行,比使用单步分类器的第8行的对应部分高约4%(绝对值),比第1行的LoRRA高13%(绝对值)。此外,我们在第9行和第10行使用Rosetta-ml和随机初始化的问题编码参数来消融我们的模型。在这里,我们看到,当使用与LoRRA相同的OCR系统和更少的预训练组件时,我们在第9行的模型仍然比LoRRA(第1行)高出9.5%(绝对值)。我们还分析了我们的模型在最大解码步方面的性能,如图3所示,与单步解码相比,多步解码的性能大大提高了。图4显示了我们的M4C模型在TextVQA数据集上与LoRRA[44]相比的定性例子(更多例子见附录),我们的模型能够选择多个OCR token并将其与预测答案中的固定单词表相结合。

image.png
图3: 在TextVQA、ST-VQA和OCR-VQA的验证集上,不同最大解码步T下的准确率。在单步(T=1)和多步(T>1)的答案预测之间存在着很大的差距。在我们的实验中,我们默认使用12步。

定性见解。在检查错误时,我们发现错误的一个主要来源是OCR失败(例如,在图4的最后一个例子中,我们发现手表上的数字没有被检测出来)。这表明,我们的模型的准确性可以通过更好的OCR系统来提高,表1中第10行和第11行的比较也证明了这一点。另一个可能的未来方向是根据问题动态地识别图像中的文本(例如,如果问题问的是一个产品品牌的价格,人们可能想直接在图像中定位品牌名称)。我们的模型的其他一些错误包括解决目标和文本之间的关系或理解图像中的大块文本(如书页)。然而,我们的模型能够纠正以前工作中的大量错误,即需要复制多个文本token来形成答案。

2019年TextVQA挑战赛。我们还与2019年TextVQA挑战赛的获奖作品进行了比较。我们将我们的方法与DCD[32](挑战赛冠军,基于集成)和MSFT VTI[46](挑战赛后的顶级作品)进行了比较,两者都依赖于单步预测。我们表明,我们的单一模型(第11行)在TextVQA测试集上的表现明显优于这些挑战赛获奖作品,而且幅度很大。我们还尝试使用ST-VQA数据集[8]作为额外的训练数据(以前的一些挑战赛参赛者使用的做法),这又给我们带来了1%的改进和40.46%的最终测试精度–在TextVQA数据集上达到了新的先进水平。

对ST-VQA数据集的评估

ST-VQA数据集[8]包含多个来源的自然图像,包括ICDAR 2013[24]、ICDAR 2015[23]、ImageNet[12]、VizWiz[18]、IIIT STR[36]、Visual Genome[26]和COCO-Text[49]5。然而,每个问题只伴随着一个或两个由问题作者提供的ground truth答案。该数据集涉及三个任务,其任务3–开放字典(包含18,921张训练-验证图像和2,971张测试图像)对应于我们一般的TextVQA设置,在测试时没有提供答案候选。

ST-VQA数据集采用平均归一化列文斯坦相似度(ANLS)作为其官方评估指标,定义为所有问题的平均分数1-dL(apred,agt)/max(|apred|,|agt|)(其中apred和agt是预测答案和ground truth答案,dL是编辑距离)。此外,所有低于阈值0.5的分数在平均前都被截断为0。为了便于比较,我们在实验中同时报告准确率和净值。

由于ST-VQA数据集没有正式的训练和验证分割,我们随机选择了17,028张图片作为我们的训练集,并使用剩余的1,893张图片作为验证集。我们在ST-VQA数据集上训练我们的模型,其设置(表1第11行)与4.1节的TextVQA实验完全相同,我们使用Rosetta-en提取图像文本token,使用FastText + bbox + FRCN + PHOC作为我们的OCR表示,并从预训练的BERT-BASE模型初始化问题编码参数。结果显示在表2中。

image.png
表2. 在ST-VQA数据集上,我们没有解码器的限制性模型(M4C w/o dec.)已经以很大的优势超过了以前的工作。我们的最终模型比挑战赛冠军VTA[7]取得了+0.18(绝对)的ANLS提升。详见第4.2节。

我们的模型的消融。我们训练了两个版本的模型,一个是以固定的one-step分类器作为输出模块的限制性版本(表2中的M4C w/o dec.)(类似于表1中的第8行),一个是具有迭代答案解码的完整版本(M4C)。比较这两个模型的结果,可以看出,我们的迭代答案预测机制有很大的改进。

与以往工作的比较。我们在这个数据集上与以前的两种方法进行比较。1)SAN+STR[8],它结合了用于VQA的SAN[51]和用于答案单词表检索的Scene Text Retrieval[16],以及2)ICDAR 2019 ST-VQA Challenge6冠军VTA[7],基于用于问题编码的BERT[13]和用于VQA的BUTD[3]。从表2可以看出,我们的限制性模型(M4C w/o dec.)已经取得了比这两个模型更高的ANLS,而我们的完整模型比以前最好的工作取得了高达+0.18(绝对)的ANLS提升。

我们还在图3中消融了我们模型中的最大复制数,表明对多步(而不是一步)解码是有益的。图5显示了我们的模型在ST-VQA数据集上的定性例子。

image.png
图5: 我们的M4C模型在ST-VQA验证集上的定性例子(橙色单词来自OCRtoken,蓝色单词来自固定答案单词表)。我们的模型可以选择多个OCR token,并将其与固定单词表结合起来预测答案。

对OCR-VQA数据集的评估

OCR-VQA数据集[37]包含207,572张图书封面图像,其中有基于模板的问题,询问书名、作者、版本、流派、年份或其他有关图书的信息。每个问题都有一个基础答案,该数据集假定这些问题的答案可以从图书封面图像中推理出来。

我们使用与第4.1和4.2节中相同的超参数来训练我们的模型,但由于OCR-VQA数据集包含更多的图像,我们使用2倍的总迭代次数和适应的学习率计划。结果显示在表3中。与使用one-step分类器(M4C w/o dec.)相比,我们带有迭代解码的完整模型取得了明显更好的准确性,这与图3相吻合,即在这个数据集上有多个解码步是非常有益的。这可能是因为OCR-VQA数据集经常包含多字答案,如书名和作者姓名。

image.png
表3. 在OCR-VQA数据集上,我们尝试使用迭代解码器(我们的完整模型)或单步分类器(M4C w/o dec.)作为输出模块,其中我们的迭代解码器大大提高了准确性,并在很大程度上超过了基线方法。详见第4.3节。

我们与来自[37]的四种基线方法进行了比较,这四种方法是基于1)卷积网络(CNN)的视觉特征,2)用人工定义的规则将OCR token分组为文本块(BLOCK),3)对图像中所有OCR token的平均字数(W2V)特征,以及4)它们的组合的VQA系统。请注意,虽然BLOCK基线也可以选择多个OC Rtoken,但它依靠手动定义的规则将token合并成组,只能选择一个组作为答案,而我们的方法从数据中学习如何复制OCR token来组成答案。与这些基线相比,我们的M4C的测试准确率高出15%以上(绝对值)。图6显示了我们的模型在这个数据集上的定性例子。

image.png
图6. 我们的M4C模型在OCRVQA验证集上的定性例子(橙色词来自OC Rtoken,蓝色词来自固定答案单词表)。

总结

在本文中,我们提出了多模态多拷贝网(M4C),用于基于对图像中文本的理解和推理的视觉问答。M4C为图像中的文本采用了丰富的表示,通过一个联合嵌入空间上的指针增强的多模态transformer架构来联合模拟所有的模态,并通过迭代解码来预测答案,在TextVQA任务的三个具有挑战性的数据集上,以较大的幅度超过了以前的工作。我们的结果表明,通过特定领域的嵌入和同质的self-attention来处理多模态是有效的,并以多步解码而不是one-step分类的方式产生复杂的答案。

参考文献

M4C中的超参数

image.png
表1: 我们的M4C的超参数

我们在表A.1中总结了我们的M4C模型中的超参数。大多数超参数在三个数据集(TextVQA、ST-VQA和OCR-VQA)中都是相同的,只是我们在OCR-VQA数据集上使用了2倍的总迭代次数和适应的学习率计划,因为它包含更多的图像。

额外的消融分析

在迭代的答案解码过程中,在每一步,我们的M4C模型可以从模型的固定单词表中,或者从图像中提取的OCR token中解码一个答案词。我们在实验中发现,有必要同时拥有固定单词表空间和OCRtoken。

image.png
表B.1显示了我们的消融研究

表B.1显示了我们的消融研究,我们从M4C中移除固定答案单词表或用于OCR复制的动态指针网络。与我们的完整模型相比,这两个消融的版本都有很大的准确性下降。然而,我们注意到,即使没有固定的答案单词表,我们的限制性模型(表B.1中的M4C w/o fixed vocabulary)仍然优于以前的工作LoRRA[44],这表明学会复制多个OCR token以形成一个答案是特别重要的(这是我们模型中的一个关键特征,但不是LoRRA)。

其他定性的例子

正如本文第4.1节所述,我们发现OCR失败是我们M4C模型预测的一个主要错误来源。图C.1显示了TextVQA数据集上的案例,其中OCR系统未能准确定位图像中的相应文本token,这表明我们的模型的准确性可以通过更好的OCR系统来提高。

图C.2、C.3和C.4分别显示了我们的M4C模型在TextVQA数据集、ST-VQA和OCR-VQA数据集上的其他定性例子。虽然我们的模型在阅读大段文字或解决文字和目标之间的关系时偶尔会失败,如图C.2(f)和(h),但在大多数情况下,它学会了识别和复制图像中的文字token,并将它们与固定的单词表结合起来,预测答案。
image.png