摘要:在視覺與語言(V&L)模型中,閱讀和推理影像中的文字的能力往往是缺乏的。我們如何才能學習出強大的場景文字理解(STU)的V&L模型呢?
本文分享自華為雲社群《場景文字理解預訓練PreSTU》,作者: Hint 。
【論文摘要】
在視覺與語言(V&L)模型中,閱讀和推理影像中的文字的能力往往是缺乏的。我們如何才能學習出強大的場景文字理解(STU)的V&L模型呢?本文提出了PreSTU,一個專門為場景文字理解而設計的簡單預訓練模型。PreSTU將一個簡單的OCR感知預訓練目標與一個具有現成OCR訊號的大規模影像-文字資料集相結合。我們在TextVQA、TextCaps、ST-VQA和VizWiz-VQA上經驗性地證明了這個預訓練目標的優越性。我們還研究了哪些因素會影響STU的效能,其中我們強調了影像解析度和資料集規模在預訓練中的重要性。
【出發點】
在真實世界中的視覺語言任務中,有大量的影像是包含場景文字的。理解影像中的文字對於視覺語言任務來說,往往是重要的,例如發票識別整理、機器人理解環境等。而現有模型經常忽略這一資訊。透過對影像OCR訊號引入,可以提升視覺語言模型對影像的理解能力。論文基於大規模的影像文字資料集,設計了進行場景文字理解的預訓練模型PreSTU。
【解決方案】
1. 引入一個OCR文字生成的預訓練任務“SPLITOCR”:給定影像patches,隨機將OCR文字分為兩個部分,給定第一部分,令模型預測第二部分的OCR文字。
2. 使用Prompt learning的方式,輸入各個任務所對應的提示詞,使得模型能夠更好地適配下游任務。論文中使用image captioning和VQA兩個任務。
【總體框架】
模型結構圖
如圖,模型整體是一個Encoder-Decoder結構,其中視覺encoder採用ViT-B/16 (Dosovitskiy et al., 2021),語言encoder-decoder採用mT5-Base (Xue et al., 2021)。ViT是一個基於Transformer encoder的,在大規模影像分類資料集上預訓練的模型。mT5是T5模型(Raffel et al., 2020)的多語言版本,在大規模多語言資料集上預訓練,它對OCR識別結果當中出現的識別錯誤比較健壯,因為使用了wordpiece的方法。
在預訓練階段,將影像中場景文字的OCR資訊與影像特徵一同輸入Encoder,可以使OCR文字與視覺環境更好的聯絡在一起。透過對餘下的OCR文字的預測,模型能夠學習出一定的場景文字識別能力,這使得模型同時對視覺和文字兩種模態的建模能力得到提升。
【細節】
SPLITOCR任務
1. 目標:在預訓練階段使模型學習如何從影像中識別場景文字。
2. 具體步驟:
1) 首先將OCR文字按照在圖中出現的位置排序(從左到右,從上到下);
2) 將OCR文字隨機切分為2部分,分別作為輸入和預測目標。值得注意的是,如果切分出的第1部分的長度為0,則SPLITOCR任務就退化為了一個傳統的OCR任務。
3. 優勢:
1) 令模型預測部分OCR文字,使得模型具備一定的完成OCR任務的能力,從而能夠增強其閱讀場景文字的能力;
2) 輸入時引入部分OCR文字,使得輸入的形式接近下游任務的形式(都是文字),更便於遷移學習;
3) 便於與其他訓練目標相結合,例如image captioning。
預訓練資料集
CC15M:是CC3M (Sharma et al., 2018)和CC12M (Changpinyo et al., 2021)的並集。資料集的形式是<影像, 標題>對。進行SPLITOCR目標時,採用Google Cloud OCR系統獲取OCR文字的資訊。
Fine-tuning階段
所有下游任務都具有這樣的形式:輸入是影像+文字,輸出只有文字。使用Google OCR獲取圖片中的場景文字。
進行image captioning任務時,輸入為<影像,提示詞,OCR token>,輸出目標為影像標題;進行場景文字VQA任務時,輸入為<影像,提示詞,問題,OCR token>,輸出為問題的回答。
【實驗】
主要結果
實驗採用4個benchmarks:TextVQA (Singh et al., 2019) 、ST-VQA (Biten et al., 2019) 、VizWiz-VQA (Gurari et al., 2018) 、TextCaps (Sidorov et al., 2020) 。實驗Baseline採用去掉SPLITOCR預訓練的本模型PreSTU,同時也對比了以下預訓練方法:TAP (Yang et al., 2021) 、Flamingo (Alayrac et al., 2022) 、GIT (Wang et al., 2022a) 。實驗結果如表所示。
主要結果
採用SPLITOCR預訓練後,PreSTU在所有指標上都相對baseline有提升,這證明了SPLITOCR的有效性,能夠賦予模型場景文字閱讀的能力。
對比其他模型:PreSTU模型引數和資料量比TAP多,結果也更高一些,除了TextVQA略低;引數量和資料量與GITL基本一致,在所有指標高於GITL;引數量和資料量比Flamingo和GIT小,但結果上沒有顯著地低。
消融實驗
1. 對比SPLITOCR目標與傳統OCR目標(TextCaps CIDEr指標):如表,SPLITOCR比OCR預訓練的模型結果高,由126.7提升到134.6;
OCR與SPLITOCR對比
2. 在Fine-tuning階段去掉輸入的OCR文字:如表,去掉OCR文字後,各模型都有下降,但baseline模型結果下降更多。OCR/SPLITOCR預訓練的模型即便Finetune時不使用OCR文字,結果也比baseline高(116.6/110.4 > 99.6)。這說明SPLITOCR預訓練目標能夠很好的使模型獲得場景文字的閱讀能力。
Fine tuning時去掉OCR輸入的影響
3. 預訓練時的影像解析度:如表,高解析度的影像會獲得更好的結果。
影像解析度的影響
4. 預訓練的資料規模:如表,資料規模越大,結果越好。
預訓練資料規模的影響
【結論】
1. SPLITOCR預訓練目標能夠使模型的場景文字閱讀能力得到提升,從而提高下游任務的結果
2. 對於PreSTU模型來說,預訓練影像的解析度以及資料量很重要。
• 論文地址:https://arxiv.org/abs/2209.05534
【參考文獻】
1. Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. 2021. An image is worth 16x16 words: Transformers for image recognition at scale. In ICLR.
2. Linting Xue, Noah Constant, Adam Roberts, Mihir Kale, Rami Al-Rfou, Aditya Siddhant, Aditya Barua, and Colin Raffel. 2021. mT5: A massively multilingual pre-trained text-totext transformer. In NAACL.
3. Piyush Sharma, Nan Ding, Sebastian Goodman, and Radu Soricut. 2018. Conceptual Captions: A cleaned, hypernymed, image alt-text dataset for automatic image captioning. In ACL.
4. Soravit Changpinyo, Piyush Sharma, Nan Ding, and Radu Soricut. 2021. Conceptual 12M: Pushing web-scale imagetext pre-training to recognize long-tail visual concepts. In CVPR.
5. Amanpreet Singh, Vivek Natarajan, Meet Shah, Yu Jiang, Xinlei Chen, Dhruv Batra, Devi Parikh, and Marcus Rohrbach. 2019. Towards VQA models that can read. In CVPR.
6. Ali Furkan Biten, Ruben Tito, Andres Mafla, Lluis Gomez, Marçal Rusinol, Ernest Valveny, C.V. Jawahar, and Dimosthenis Karatzas. 2019. Scene text visual question answering. In ICCV.
7. Danna Gurari, Qing Li, Abigale J. Stangl, Anhong Guo, Chi Lin, Kristen Grauman, Jiebo Luo, and Jeffrey P. Bigham. 2018. VizWiz Grand Challenge: Answering visual questions from blind people. In CVPR.
8. Oleksii Sidorov, Ronghang Hu, Marcus Rohrbach, and Amanpreet Singh. 2020. TextCaps: a dataset for image captioning with reading comprehension. In ECCV.
9. Zhengyuan Yang, Yijuan Lu, Jianfeng Wang, Xi Yin, Dinei Florencio, Lijuan Wang, Cha Zhang, Lei Zhang, and Jiebo Luo. 2021. TAP: Text-aware pre-training for text-vqa and text-caption. In CVPR.
10. Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, et al. 2022. Flamingo: a visual language model for few-shot learning. arXiv preprint arXiv:2204.14198.
11. Jianfeng Wang, Zhengyuan Yang, Xiaowei Hu, Linjie Li, Kevin Lin, Zhe Gan, Zicheng Liu, Ce Liu, and Lijuan Wang. 2022a. GIT: A generative image-to-text transformer for vision and language. arXiv preprint arXiv:2205.14100.