一、背景
文章题目:《Scene Text Visual Question Answering》
ICCV2019的一篇文章,作者主要来自西班牙。
文章下载地址:http://openaccess.thecvf.com/content_ICCV_2019/papers/Biten_Scene_Text_Visual_Question_Answering_ICCV_2019_paper.pdf
文章引用格式:A. F. Biten, R. Tito, A. Mafla, L. Gomez, M. Rusinol, E. Valveny, C.V. Jawahar, D. Karatzas. "Scene Text Visual Question Answering." International Conference on Computer Vision (ICCV), 2019
项目地址:暂时没有
二、文章导读
先来看一下文章的摘要部分:
Current visual question answering datasets do not consider the rich semantic information conveyed by text within an image. In this work, we present a new dataset, ST-VQA, that aims to highlight the importance of exploiting highlevel semantic information present in images as textual cues in the Visual Question Answering process. We use this dataset to define a series of tasks of increasing difficulty for which reading the scene text in the context provided by the visual information is necessary to reason and generate an appropriate answer. We propose a new evaluation metric for these tasks to account both for reasoning errors as well as shortcomings of the text recognition module. In addition we put forward a series of baseline methods, which provide further insight to the newly released dataset, and set the scene for further research.
当前的VQA最主要的问题在于没有考虑图像中文本的语义信息。基于此原因,作者提出了一个新的数据集,ST-VQA,目的在于强调探索图像中出现的高级语义信息的重要性,并将该信息作为文本线索用于视觉问答过程。我们使用这个数据集来定义一系列难度越来越大的任务,对于这些任务,在视觉信息提供的上下文中读取场景文本是推理和生成适当答案所必需的。针对这些任务,我们提出了一种新的评估指标,既考虑了文本识别模块的推理错误,也考虑了文本识别模块的缺陷。此外,我们还提出了一系列baseline,为新发布的数据集提供了进一步的视角,为进一步的研究奠定了基础。
三、文章详细介绍
人造环境中的文本往往能够传达出一种重要的高级语义信息,比如有商品的购物信息,交通信息等,在MSCOCO数据集中,超过了50%的图像中都包含有文本信息,在城市环境中这种现象则更多。因此设计模型充分来识别利用这些信息是非常有必要的,场景文本的理解不应是一个边缘研究问题,而是一个核心问题。
目前,VQA的模型和数据集大多都忽略了这个问题,因此作者在VQA中将结合这两个方面展开研究。在现有的VQA模型中整合文本模态并不是一件容易的事,一方面,场景中有关的文本信息,需要进行建立复杂的推理,该过程涉及位置,颜色,目标,语义,到定位,识别,解译。另一方面,目前的VQA大多都是分类模型,这些模型表现出了非常强的语言偏见,比如对于计数问题,比较问题和属性识别问题。这些都一定程度的限制了场景文本的直接使用。
本文提出了一个新的数据集ST-VQA(Scene Text Visual Question Answering),该数据集中的问题被限制为只能提问和图像中出现的文字相关的问题,其中的85.5%的问题和答案都可以拿出来用到VQA模型中,样本的一些例子如下:
其次,作者还介绍了3种高难度任务,以模拟不同程度上下文信息的可用性。最后,作者使用了一种新的评价标准,来判别模型回答问题的能力,这里作者使用到了Levenshtein距离,该距离既考虑到了推理的错误,又考虑到了文本识别系统的不足。另外,这个数据集目前公布在:https://rrc.cvc.uab.es/?ch=11
1.相关工作
对自然图像中的场景文字进行检测和识别有助于VQA的场景理解。目前的通常方法由两部分组成,即文字检测和识别,现有的很多检测工作都是基于全连接网络。而文字识别任务,一种提出的方法是在单词层面将其作为分类任务来识别文字;之后提出的方法则侧重于端到端的结构,比如用LSTM编码,结合注意力来解码。
尽管目前随着VQA的流行,但除了TextVQA,还没有任何关于数据集考虑到场景文本。TextVQA是与本文类似的一项工作,它也是提出了一个用于VQA的数据集,该数据集需要对场景文本进行阅读和理解,但是作者建模是用一个标准的VQA模型再加上一个引入“拷贝”机制的OCR模块。尽管TextVQA和本文提出的ST-VQA有着相似之处,但还是有几点明显的不同,这些会在后面的章节进行讨论。
第一,ST-VQA的数据源多样,而TextVQA的数据源仅仅来自Open Images数据集;第二,ST-VQA的每个样本,至少包含有两个场景文本,而TextVQA的图像则是从不同类别中抽样得到;第三,依据提出的问题,ST-VQA侧重于这个问题能够被无歧义的回答,而TextVQA只是要求能够读出图像中的场景文字。
2.ST-VQA数据集
(1)数据集收集
图像:一共有23038张图像,图像来源于6种数据集,这样能够有效减少数据偏见,增加问题的多样性。另外,自动选择的图像中至少包含了两个场景文本,以确保提问的问题有两个不同的选择。最终每个数据集所选择的图像和问题数量如下所示:
问题和答案:数据集包含31791个问题。为了获得数据集的问题和答案,作者将其众包了出去。标注的时候,作者提出的要求是提问不能是二值类问题,另外提问和回答应该不具有歧义,而且需要和图像中的场景文本相关。收集过程有两步:第一,给每位标注者一张图,并要求他们提出一个问题,问题可以用图片中的文字回答,每位标注者对于一个样本需要写出3组问题和答案。第二,把前面做好的数据集再次众包出去,这次给出每位标注者一张图像并要求他们回答前面所提出的问题。经过这两部,对前面两次回答不同的问题做了过滤,以消除问题歧义。最后作者又对每个样本进行了核查,有的问题会得到两个答案,但两个都是正确的,这种样本也进行保留。
最终,ST-VQA包含23038张图像,31791个问题/答案。数据集分成了两部分,训练过程用19, 027张图和对应的26, 308个问题,测试用2, 993张图和4, 163个问题。
(2)和TextVQA数据集的比较
ST-VQA和TextVQA的问题和答案的长度分布,可以看到两个数据集的分布都很接近:
下图展示了ST-VQA数据集的问题可视化结果,可以看到,以“what”开头的提问最多,这类问题大多是问商标,网页,名字,汽车号等:
另外还有语言偏见的问题,再VQA 1.0中,如果以“what sports”提问,得到的答案是tennis和baseball的概率超过了50%,以“is there”开头的提问句,得到答案为yes的概率超过70%。而对于本文的数据集来说,其各类答案的分布结果如下:
可以看到答案中,单词出现最多的是在"sign"和"year"的相关提问,但是他们的答案分布也相对比较平均,这一定程度上减少了语言偏见。
在VQA 2.0中,数据集中只有低于1%的数据需要阅读场景文本,另一方方面TextVQA有28408张图。在TextVQA中,每个样本中有10个问题,其中有3个主观问题被视为正确的。为了便于比较,作者从ST-VQA中选取了1000个问题,然后进行10次回答,发现主观答案和原始答案之间的一致性有84.1%,而TextVQA只有80.3%,证明ST-VQA的问题歧义性更低。另外ST-VQA全部使用的是图像中的文本进行的提问,而TextVQA中有39%的问题没有用到任何场景文本。
(3)任务
作者定义了3个用于ST-VQA的新任务,“强上下文(strongly contextualised)”,“弱上下文(weakly contextualised)”,“开放词汇(open vocabulary)”。
设置不同的任务能够理解人类在当前的处境下如何使用先验知识。在ST-VQA中,先验知识设置为一个字典,在“强上下文”中,通过对每张图生成字典,以捕捉先验知识,用于场景描述;“弱上下文”任务中,使用一个字典,它包含数据集中的所有单词;对于开放字典任务,我们将问题视为白板,其中没有先验信息和外部信息可供模型使用。
对于第一个任务来说:
For the strongly contextualised task (1), following the standard practice used for end-to-end word spotting, we create a dictionary per image that contains the words that appear in the answers defined for questions on that image, along with a series of distractors. The distractors are generated in two ways. On one hand, they comprise instances of scene text as returned by a text recogniser applied on the image. On the other hand, they comprise words obtained by exploiting the semantic understanding of the scene, in the form of the output of a dynamic lexicon generation model. The dictionary for the strongly contextualised task is 100 words long and defined per image.
对于任务(1),采用端到端的单词测定来进行标准实践,每张图像生成一个字典都包含有答案中出现的单词,以及一系列的干扰项。干扰项的生成有两种方式,一方面,由应用于图像的文本识别器返回的场景文本实例组成。另一方面,它们以动态词汇生成模型的输出形式,由利用场景语义理解获得的词汇组成。词典为强上下文任务是100个单词长和定义每个图像。
对于第二个任务:
In the weakly contextualised task (2), we provide a unique dictionary of 30, 000 words for all the datasets’ images which is formed by collecting all the 22k ground truth words plus 8k distractors generated in the same way as in the previous task.
对于任务(2),为数据集的图像构建30000单词的字典(22000个ground truth和8000个干扰项)
对于第三个任务:
Finally for the open dictionary task (3), we provide no extra information thus we can consider it as an open-lexicon task.
对于任务(3),没有提供外部信息,因此可以将其视为一个开放字典任务。
(4)评价和挑战
因为答案涉及到图像中出现的文本,所以VQA常用的分类评价标准就不适合该任务。所以作者提出了ANLS指标(Average Normalized Levenshtein Similarity),以评判OCR的准确度:
3.方法和结果
为了评估方法,作者做了一些对比,参与对比的baseline包括:
random:从字典中随机选择一个答案
Scene Text Retrieval:使用了单个CNN和PHOC(Pyramidal Histogram Of Characters)。首先,对于一张给定的图像(STR retrieval),使用一个任务字典作为query(uses the specific task dictionaries as queries to a given image),之后,对于最明显的场景文本进行提问(STR bbox)。
Scene Image OCR:检测到的文本根据置信度进行排序
Standard VQA models:这里作者使用了两个模型,第一个是“SAAA”(Show, Ask, Attend and Answer),结构是CNN和LSTM,CNN采用的是resnet-152,提取图像特征至14*14*2048,同时用LSTM对单词进行嵌入,然后再用attention对两个特征进行映射,最后再连接,送入全连接层进行分类。优化器采用Adam,batch size为128,epoch为30,初始学习率为0.001,每50000次衰减一半;第二个是“SAN”(Stacked Attention Networks),用预训练的VGG模型获取图像特征至14*14*512,提取问题特征用的是LSTM,batch size设置为100,epoch为150,优化器RMSProp,初始学习率是0.0003,衰减率为0.9999。
Fusing Modalities - Standard VQA Models + Scene Text Retrieval:VQA结合场景文本检索模型。
(1)实验结果
实验结果如下表所示:
然后是针对不同类型的问题的结果:
最后就是一些场景实例了: