资讯详情

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

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

图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, 收集每个实体之间的关系。

我们没有将答案预测作为分类任务,而是在多个步骤中迭代答案解码,并使用动态指针网络来增强我们的答案解码器。该网络允许在图像中选择文本,而不依赖以前工作中的任何临时位置索引,如LoRRA[44]。另外,我们的模型可以将自己的单词表与图像中的文本结合起来,如图4和图5中的例子所示。最后,我们为图像中的文本token介绍了基于各种线索的丰富表达,包括单词嵌入、外观、位置和字符级信息。

图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, 提出通过将OCR token复制添加到分类器输出的索引OCR token。但是,除了只复制单个,token这些方法的)的限制外,这些方法的OCR token由于分类器具有固定的输出维度,它们的输出取决于token的排序。在这项工作中,我们使用一个不变的指针网络和我们的多模式transformer克服这一缺点。

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

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

图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}为:

其中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},如下所示:

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

如第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)被预测为一个简单的线性层,即:

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

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

其中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,<begin>和<end>来增加我们的答案单词表量。这里<begin>被用作第一个解码步的输入,在<end>被预测后我们停止解码过程。

为了确保答案解码中的因果关系,我们在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数据集[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%的改进。

表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并将其与预测答案中的固定单词表相结合。

图3: 在TextVQA、ST-VQA和OCR-VQA的验证集上,不同最大解码步T下的准确率。在单步(T=1)和多步(T&amp;amp;amp;amp;gt;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数据集[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中。

表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数据集上的定性例子。

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

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

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

表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显示了我们的模型在这个数据集上的定性例子。

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

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

表1: 我们的M4C的超参数

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

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

表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,并将它们与固定的单词表结合起来,预测答案。

作者:Johnson7788

深延科技成立于2018年1月,中关村高新技术企业,是拥有全球领先人工智能技术的企业AI服务专家。以计算机视觉、自然语言处理和数据挖掘核心技术为基础,公司推出四款平台产品——深延智能数据标注平台、深延AI开发平台、深延自动化机器学习平台、深延AI开放平台,为企业提供数据处理、模型构建和训练、隐私计算、行业算法和解决方案等一站式AI平台服务。 

标签: 传感器lr18xbn08lum

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台