摘要
語言知識對場景文本識別有很大的益處。然而,如何有效地在端對端深度網絡上建模語言規則仍然是一個研究挑戰。在論文中,我們認為語言模型的有限來源於:1)隱性地語言建模;2)雙向的特征表示;3)帶噪聲輸入的語言模型。相應地,我們為場景文本識別提出了一個獨立、雙向、迭代的 ABINet 。第一,獨立意味着阻止視覺模型和語言模型之間梯度流(gradient flow)來強制執行顯性的語言建模。第二,提出基於雙向特征表示的語言模型 --- 一個新穎的、雙向完形填空網絡(bidirectional cloze network,BCN)。第三,我們為語言模型提出了一個可迭代糾正的執行方式,它能夠有效地減輕噪聲輸入帶來的影響。另外,基於迭代預測的集合,我們提出了一個自訓練方法,它能夠有效地從無標簽數據中學習。大量的實驗證明ABINet在低質量圖像中有優越性並在一些主流基准里實現了最優的結果。經過集成自訓練的 ABINet 在人類級別的識別上展示了極大的提升。代碼可在 https://github.com/FangShancheng/ABINet 上獲得。
1. 引言
考慮到當前方法在內部交互、特征表示和執行方式的不足,受獨立、雙向、迭代原則的引導,我們提出了 ABINet 。首先,我們提出了一個通過阻斷視覺模型和語言模型之間梯度流的解耦方法,強制語言模型更詳細的學習語言規則。另外,語言模型和視覺模型都是獨立的單元,能夠分別通過文本和圖片進行預訓練。第二,我們設計一個新穎的雙向完形填空網絡(BCN)作為語言模型,它消除了結合兩個單向模型的困境。BCN 通過指定注意力掩碼來控制兩邊字符的訪問,受左右兩邊上下文的共同條件約束。同時,跨步驟訪問不被允許,以防止信息泄露。第三,我們提出了一個迭代糾正的執行方式作為語言模型。通過重復將 ABINet 的輸出喂入語言模型,預測結果逐步的糾正,未對齊的長度問題在一定程度上被減輕。另外,將迭代預測作為一個集合,基於自訓練的半監督方法被探索,它在人類層面的識別上得出一個新的解決方案。
文章的貢獻主要包括:1)我們提出了一個獨立、雙向、迭代的原則去引導場景文本識別領域語言模型的設計。在這種原則下,語言模型是一種功能性單元,它需要提取雙向表示和迭代糾正預測結果。2)提出新穎的BCN(雙向完形填空網絡),它像完形填空任務一樣利用雙向語言消除了字符的概率分布。3)提出的 ABINet 在主流基准上實現了最好的表現,經過集成自訓練的 ABINet 在實現人級識別方面有了良好的改進。
2. 相關工作
2.1 Language-free Methods(無語言方法)
無語言方法通常利用視覺特征而不考慮字符間的關系,如基於 CTC 的方法和基於分割的方法。由於缺乏語言的信息,無語言的方法不能解決低質量圖像的識別。
2.2 Language-based Methods(基於語言的方法)
2.2.1 視覺和語言間的內部互動
基於attention 的方法采用encoder-decoder的結構,encoder處理圖像,decoder通過從一維圖像特征或者二維圖像特征中集中相關信息生成字符。不同於以上方法,我們的方法通過顯式語言建模致力於建立一個更強大的語言模型。為了提升語言表示,很多工作引入多損失,其中額外的損失來自於分割。SEED提出使用預訓練的 FastText 模型來引導RNN的訓練,它帶來了額外的語義信息。
2.2.2 語言特征的表示
基於attention的字符序列方法通常采用從左到右的方式建模。為了捕獲雙向信息,很多工作集成了兩個單向語言模型。我們認為,集成的雙向模型本質上還是單向模型。
2.2.3 語言模型的執行方式
目前,語言模型的網絡結構主要基於 RNN 和 Transformer。基於 RNN 的語言模型通常用自回歸的方式執行,將上一個字符的預測作為輸入。GRU通過將上個時間步的預測向量和當前時間步的字符 特征作為輸入來預測每個字符。基於Transformer的方 法並行執行,每個時間步的輸入是視覺特征或來自視覺特征預測的字符嵌入。我們的方法采用並行執行,但我們盡量在並行的語言模型上減輕噪聲輸入的問題。
3 提出的方法
3.1 視覺模型

如圖三,視覺模型由一個主干網絡和一個位置注意力模塊組成。在先前的方法中,ResNet 和 Transformer 單元作為特征提取網絡和序列建模網絡被使用。Fb=T(R(x)),x是輸入圖像,R()表示 ResNet 網絡,T()表示 Transformer 單元。
位置注意力模塊將視覺特征並行轉化為字符概率,基於范式:

Q是字符順序的位置編碼,T是字符序列的長度,K=g(Fb),g()是對mini U-Net的完善。V=H(Fb),H()是標識映射。
3.2 語言模型
3.2.1 獨立策略

如圖二所示,獨立策略包含以下特征:1)語言模型被視為一個拼寫糾正的獨立模型,它將字符的概率向量作為輸入,輸出期望字符的概率分布。2)在輸入向量中訓練梯度流被阻斷(BGF)。3)語言模型能夠單獨從無標簽文本數據中訓練。
按照獨立策略,ABINet 能夠划分為可解釋的單元。將概率作為輸入,語言模型是可替代的(例如,用更強大的模型直接替換)和靈活的(例如,像模塊3.2.3中迭代執行)。另外,BGF(阻塞數據流)使得必須學習語言知識,這與隱式模型有根本的區別,即模型具體學習的東西是不可知的。更重要的是,獨立策略允許我們直接共享NLP 社區的先進成果。例如,預訓練的語言模型是提升效果的有效方式。
3.2.2 雙向表示
一種合理的方法是使用BERT[5]中的掩蔽語言模型(MLM),用令牌[MASK]替換字符。然而,我們注意到這是不可接受的,因為MLM應該對每個文本實例分別調用n次,導致極低的效率。我們建議通過指定注意力掩碼來屏蔽BCN,而不是屏蔽輸入字符。
通過以完形填空方式指定注意力掩碼,BCN 能夠優雅地學習比單向表示的集成更強大的雙向表示。此外,受益於類似 Transformer 的架構,BCN 可以獨立並行地執行計算。此外,它比集成模型更有效,因為只需要一半的計算和參數。
3.2.3 迭代糾正
Transformer 的並行預測采用噪聲輸入,這些輸入通常是視覺預測或視覺特征的近似值。噪聲(即視覺模型中錯誤的預測) 的增加會對LM 造成巨大的干擾。
為了處理噪聲輸入的問題,我們提出了迭代語言模型。語言模型重復執行M次,每次對文本序列 y 對齊都不同。第一次迭代,y是視覺模型的概率預測。在之后的迭代中,y是上一次迭代中融合模型的概率預測。通過這樣語言模型能夠迭代的糾正視覺預測。
另一個觀察結果是,基於 Transformer 的方法通常存在不對齊長度問題,這意味着如果字符數與地面真相不對齊,Transformer 很難糾正視覺預測。不對齊長度問題是由於不可避免地填充掩碼的實現造成的,填充掩碼固定用於過濾文本長度之外的上下文。我們的迭代LM 可以緩解這一問題,因為視覺特征和語言特征被多次融合,從而使預測的文本長度也逐漸糾正。
4 總結
在本文中,我們提出了 ABINet 來探索在場景文本識別中利用語言知識的有效方法。ABINet 是 1)自主。通過顯性強制學習來提高語言模型的能力;2)雙向。通過聯合調節兩邊的字符上下文來學習文本表示;3)迭代。逐步糾正預測,以減輕噪聲輸入的影響。基於ABINet,我們進一步提出了一種半監督學習的集成自訓練方法。在標准基准測試上的實驗結果證明了 ABINet 的優越性,特別是在低質量的圖像上。此外,我們宣稱,利用未標記的數據是可能的,並有可能實現人類水平的識別。
