天天看點

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

摘要:語言模型即根據目前語境的上下文推斷目前句子的意思。

目錄:

  1. 語言模型定義
  2. 基于深度學習的解決思路
  3. 語言模型的問題
  4. 未來展望

一、語言模型定義

1. 什麼是語言模型?

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖1

如圖1所示,顧名思義,語言模型即根據目前語境的上下文推斷目前句子的意思。具體的标準定義為:對于語言序列w1, w2, …wn,語言模型就是計算該序列的機率即P(w1, w2, …wn)。

2. 為什麼需要語言模型?

文本圖像中包含兩層資訊:視覺紋理資訊和語言資訊。由于單純根據視覺紋理資訊進行文字識别缺少了對上下文的字元語義資訊的挖掘,時常會導緻錯誤的文本識别結果(之後會詳細說明)。是以如何獲得魯棒的語言資訊來提升識别性能成為了最近場景文本識别任務中比較受歡迎的思路。

3. 統計語言模型(n-gram)

由鍊式法則可以得到:

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

可以通過采用極大似然估計來計算每個詞出現的條件機率,但是對于任意長的自然語言語句,根據極大似然估計直接計算P(wn |w1, w2, …wn-1)顯然不現實(計算量太大)。是以為了解決這個問題,n-gram語言模型引入馬爾可夫假設(Markov assumption),即假設目前詞出現的機率隻依賴于前 n-1 個詞,可以得到:

n=1 unigram:

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

n=2 bigram:

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

是以,綜上可以看出,基于n-gram的語言模型有如下優點:1)完全包含了前n-1個詞的全部資訊。2)可解釋性強。對應也有缺點:1)缺乏長期依賴關系。2)參數空間随着n增大指數型增長。3)單純的基于統計頻次,泛化能力差。

二、基于深度學習的解決思路

在目前基于深度學習的語言模型結構主要包括三個類别:基于RNN的語言模型,基于CNN的語言模型和基于Transformer的語言模型。接下來我會對它們進行依次介紹,并且逐一分析他們的優缺點。

1.通過RNN的語言模型結構

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖2 基于RNN的語言模型結構

随着深度學習的發展,在受到NLP(Natural Language Processing)等任務的啟發,Lee等人[1]在視覺特征模組化之後,通過引入RNN(Recurrent Neural Networks)代替傳統的n-gram進行語言模型模組化(圖2所示)。RNN通過自回歸的方式(Auto Regression),在t時間步讀取的是t-1步的狀态,即預測目前時間步時會考慮上一時間步的資訊,同時通過注意力的方式在glimpse向量中關注對應位置字元的視覺資訊。該方法省去了繁瑣的n-gram計算過程,在目前的場景文本識别架構中占據了主導的地位。

但是基于RNN的語言模型結構存在2個問題:1)梯度消失/爆炸的問題。2)串行計算效率慢。是以,最近的方法對RNN的語言模組化方式進行了改進(上下文記憶力差的問題,因為在部分最近的工作中證明對中/短文本影響不大,是以在這裡沒有考慮)。

2. 通過CNN的語言模型結構

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖3 視覺和語言模型內建的網路架構

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖4 基于CNN的語言模型結構

為了避免了由RNN造成的梯度消失/爆炸的問題,Fang等人[2]采用了全卷積神經網絡的結構,并通過一個并行的分支單獨學習語言資訊(圖3),通過将視覺和語言資訊內建的方法提升了識别結果。

基于CNN的語言模型如圖4所示,給定 ,輸出向量 由下式獲得:

讓你的産品更懂世界:如何提升場景文本識别中的語言模型
讓你的産品更懂世界:如何提升場景文本識别中的語言模型

sk-2 和 sk-1 是之前時間步對應的向量,是以,該結構可以看成一個近似的bigram語言模型。但是由于該語言模型也是串行的操作過程,導緻其計算效率也較慢。

3. 通過Transformer的語言模型結構

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖5 視覺語言模型解耦的網絡結構

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖6 基于transformer的語言模型結構

Yu等人[3]将語言模型從視覺部分解耦,然後在兩個獨立的結構中分别進行進行視覺和語言模型的模組化,最後通過融合視覺和語言資訊進行文本預測(圖5所示)。在語言模型部分,該方法采用了Transformer的結構(圖6所示),通過Transformer中的mask來模拟語言結構中的順序和逆序的模組化過程,最終自适應地融合視覺和語言資訊進行識别。由于Transformer的結構特點,識别過程不同的時間步并行操作,提升了識别效率。

三、語言模型的問題

讓你的産品更懂世界:如何提升場景文本識别中的語言模型

圖7 語言資訊幫助提升識别結果的效果圖(上:沒有語言模型。下:加入語言模型。)

語言模型能夠幫助在視覺資訊不充足的情況下,提升識别的結果。如圖7所示,語言模型提取的語言資訊能夠有效地幫助在視覺缺失,模糊,噪聲的情況下實作準确的識别結果。雖然語言模型提升效果顯著,但是也存在着以下幾個問題:1)OC(outside vocabulary)問題。2)計算複雜度高。

針對OC問題,Wan等人[4]指出了目前基于注意力的方法容易在訓練集中沒有出現過的詞彙中識别錯誤,且精度和在測試過程中使用訓練集中出現過的詞彙的效果之間gap遠大于基于分割的識别方法,是以如何獲得一個魯棒的語言模型是一種挑戰。對于計算量問題,雖然目前Transformer應用于識别是一種趨勢,且能夠通過并行計算提升識别效率,但是對于長文本的識别,其計算量增加明顯(RNN為線性增長,Transformer為平方增長)。

四、未來展望

語言模型最近是場景文本識别領域比較熱門的研究方向,在我看來語言模型部分以後的研究大緻會分為兩個方向:1)結構。即如何通過搭建更強壯的語言模型捕捉更魯邦的語言資訊。2)能力。如何降低OC問題的影響。3)計算量。如何在低計算量的前提下提取有效的語言資訊。

最近的方法中,僅通過捕捉視覺特征也能取得不錯的效果(基于視覺特征比對[5])。對于無序的識别(車牌識别),Yue等人[6]引入了位置資訊增強視覺特征進行識别。是以,在作者看來,未來的文本識别發展一定是多元化的,即視覺和語言模型并行發展,針對不同的具體任務會有不同的改進。

參考文獻

[1] Chen-Yu Lee and Simon Osindero. Recursive recurrent nets with attention modeling for ocr in the wild. CVPR, 2016.

[2] Fang S, Xie H, Zha Z J, et al. Attention and language ensemble for scene text recognition with convolutional sequence modeling. MM, 2018.

[3] Yu D, Li X, Zhang C, et al. Towards accurate scene text recognition with semantic reasoning networks. CVPR. 2020.

[4] Wan Z, Zhang J, Zhang L, et al. On Vocabulary Reliance in Scene Text Recognition. CVPR, 2020.

[5] Zhang C, Gupta A, Zisserman A. Adaptive Text Recognition through Visual Matching. ECCV, 2020.

[6] Yue X, Kuang Z, Lin C, et al. RobustScanner: Dynamically Enhancing Positional Clues for Robust Text Recognition. ECCV, 2020.

點選關注,第一時間了解華為雲新鮮技術~

繼續閱讀