論文題目:Beyond OCR + VQA: Involving OCR into the Flow for Robust and Accurate TextVQA
論文鏈接:https://dl.acm.org/doi/abs/10.1145/3474085.3475606
一、任務概述
- 視覺問答任務(VQA):將圖像和關於圖像的自然語言問題作為輸入,生成自然語言答案作為輸出。
- 文本視覺問答任務(TextVQA):面向文字識別的問答任務。
二、Baseline
2.1 Baseline 1: Look, Read, Reason & Answer (LoRRA):
- 2019年提出,推出標准數據集,原文地址:https://arxiv.org/abs/1904.08920v2
- 典型的TextVQA:將問題回答建模為分類任務,需要給定答案空間。
-
多模態嵌入:問題embedding、圖像中的物體進行embedding、OCR的結果進行embedding(FastText做pre-train)
- 嵌入方式:
-
- 對問題進行GloVe Embedding,再通過LSTM得到問題嵌入 fQ(q),用於后續對圖片特征以及OCR樣本進行注意力加權平均。
- 將圖像進行特征提取,提取的特征fI(v)與fQ(q)一起經過注意力機制得到加權的空間注意力,得到的結果與fQ(q)進行組合。
-
- OCR模塊基於預訓練模型(Faster RCNN + CTC)進行識別,識別出的結果fO(s)與fQ(q)一起經過注意力機制得到加權的空間注意力,得到的結果與fQ(q)進行組合。
-
- contact一起之后過分類器(MLP),分類的類別為問題空間a1……an 加上 OCR是識別出的詞
2.2 Baseline 2:M4C
- 主貢獻:提出了迭代預測的解碼方式,但我們更關注特征表示的部分
- Question embedding:BERT-base模型的encoder,但只用前3層,得到矩陣shape=(K, d)
- Detected object embedding:Faster-RCNN + Position,shape=(M, d)
- 融合方式:Linear + LayerNorm

- OCR token embedding 由四部分組成:
: 300維的FastText文本特征
: Faster RCNN特征,和detected object的獲取方式一樣
: 604維的Pyramidal Histogram of Characters(PHOC)特征
: 4維的位置特征,計算方式和detected object一樣
- 融合方式:前三個特征過linear后做layernorm,position單獨融合,再加起來
三、Motivation
- OCR的錯誤識別會較大程度影響多模態信息之間的交互(即fA的過程)
- 因為在表征空間中需要copy OCR識別的token,OCR的錯誤會較嚴重的影響解碼器的性能(哪怕另兩個分支完全准確也沒法正確的輸出)
四、Method
4.1 Contribution
- 增強特征表示的魯棒性:減小OCR錯誤和物體識別錯誤對推理的影響
- 增強解碼器的魯棒性:在答案預測模塊提出一個上下文感知的答案修正模塊(CRM)對“復制”的答案詞進行校正。
4.2 Architectural Details—— 視覺增強的文字表征模塊 TVS (OCR增強)
- method:
- 文字圖像矯正模塊
- 編碼模塊:45層ResNet+ 2層Bi-LSTM
- 解碼模塊:單層 注意力機制的GRU
- 中間語義模塊:根據文字視覺信息預測語義信息
- train:利用外部數據集訓練(SynthText + Synth90K)
- loss: OCR識別損失+語義損失
- 語義損失由真實和預測的語義特征向量間的余弦距離計算得到
- 優勢:
- 通過語義損失的監督,編碼模塊能產生與文字解碼更相關的視覺特征
- TVS為直接由文字圖像的視覺特性獲得語義表示提供可能。
- 整網中推理,OCR token details(n個文本框):
-
: TVS的視覺特征
: FastText文本特征
: Faster RCNN特征
: Pyramidal Histogram of Characters(PHOC)特征
: 4維的位置bounding box特征
- 融合方式:
4.3 Architectural Details—— 語義導向的物體表征 SEO-FRCN(Visual增強)
- method:傳統的Faster RCNN,在解碼環節增加一個分支來 預測物體類別的embedding
- 物體類別embedding的gt 時物體類別名稱的語義特征。
- train:使用Visual Genome數據集,backbone resnet101 預訓練,新分支fine tune
- loss:RPN loss + 四分支loss
- 優勢:能夠拉近相似物體的圖像相似度(例如 traffic light和traffic sign)
- 整網中推理,Visual token details(m個物體):
:視覺特征
:位置特征
:預測的物體類別嵌入向量
- 特征融合:
4.3 Architectural Details——上下文感知的答案修正 CRM (解碼結果增強)
- method:在推理階段,對於”直接復制OCR結果”進行改進。
- 如果解碼的輸出指向圖像中的文字,則將它視作一個候選詞,利用輸入的問題、其他文字信息和相關物體信息進行文字修正。
- 使用多個OCR模塊輸出多個預測結果作為候選集,選出得分最高的結果作為最后的輸出。
- 組成:Transformer進行上下文信息融合 + linear&sigmoid 二分類器
- training:如果候選集的結果與gt相同則為1,不同則為0,構建訓練數據。二分類預測一個相關分數,最小化交叉熵損失進行訓練。
五、Experiment
六、結論
- 將OCR融入TextVQA的前向處理流程,構建了一個魯棒且准確的TextVQA模型
參考博客
[1] https://zhuanlan.zhihu.com/p/250951251
[2] https://mp.weixin.qq.com/s/s7EP8ZiB_0UAv0M4VDhNGA