论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification
論文翻譯-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification
- 原文地址: https://ieeexplore.ieee.org/iel7/34/4359286/08395027.pdf
- 【推薦】相關閱讀資料下載:
鏈接:https://pan.baidu.com/s/1Yon8qf2Lqb31SaoruZgkAA
提取碼:h1ob - 【注】:翻譯僅供參考,準確含義和表達參考英文原文
ASTER:一個具有靈活矯正功能的注意型場景文本識別器
摘要
場景文本識別的一個挑戰性方面是處理有扭曲或不規則布局的文本。特別是,透視文字和彎曲的文字在自然場景中很常見,很難識別。在這項工作中,我們引入了ASTER,這是一個端到端的神經網絡模型,包括一個矯正網絡和一個識別網絡。矯正網絡自適應地將輸入的圖像轉換成新的圖像,矯正其中的文字。它由一個靈活的薄板花鍵轉換提供動力,可以處理各種文本的不規則性,并且在沒有人類注釋的情況下進行訓練。識別網絡是一個注意序列到序列的模型,它直接從矯正后的圖像中預測出一個字符序列。整個模型的訓練是自始至終的,只需要圖像和它們的真實文本。通過廣泛的實驗,我們驗證了整頓的有效性,并證明了ASTER的最先進的識別性能。此外,我們證明了ASTER在端到端識別系統中是一個強大的組件,因為它能夠增強檢測器的能力。
Index Terms–場景文本識別,薄板樣條,圖像轉換,序列對序列學習
1 簡介
場景文本識別由于其在廣泛的應用中的重要性,近年來引起了學術界和工業界的極大興趣。盡管專門用于文檔文本的光學字符識別(OCR)系統已經很成熟,但場景文本識別仍然是一個具有挑戰性的問題。背景、外觀和布局的巨大變化帶來了巨大的挑戰,傳統的OCR方法無法有效地處理這些問題。
場景文本識別的最新進展是由基于深度學習的識別模型的成功推動的。其中有使用卷積神經網絡(CNN)識別文字的方法,使用CNN對單詞進行分類的方法[24],[26],以及使用CNN和循環神經網絡(RNN)組合識別字符序列的方法[54]。盡管這些方法取得了成功,但它們并沒有明確解決不規則文本的問題,即不是水平和正面的文本,有彎曲的布局,等等。不規則文本的實例經常出現在自然場景中。如圖1所示,典型的情況包括定向文本、透視文本[49]和弧形文本。在設計上沒有對這種不規則性的不變性,以前的方法在識別這種文本實例時經常會遇到困難。
圖1.不規則文本的例子。
這項工作介紹了ASTER,它代表了具有靈活矯正功能的注意型場景文本識別器,用于場景文本識別。ASTER通過一個明確的矯正機制來解決不規則文本的問題。如圖2所示,該模型由兩部分組成:整頓網絡和識別網絡。給定一個輸入圖像,整流網絡對該圖像進行變換,以矯正其中的文字。該變換是參數化的薄板樣條[8](TPS),這是一個非常靈活的變換,可以處理各種文字的不規則性。
在推理過程中,整頓網絡首先從圖像中預測TPS參數,然后將其應用于變換。基于[28]提出的空間變換器網絡(STN)框架,整頓網絡可以純粹由識別網絡反向傳播的梯度來訓練,因此不需要人工注釋。
識別網絡以注意序列對序列的方式從整頓后的圖像中預測出一個字符序列。在[3]、[13]中提出的注意力機制的基礎上,識別網絡有效地將字符檢測、字符識別和語言建模封裝在一個模型中,實現了準確的識別。此外,我們將傳統的單向解碼器擴展為雙向的。雙向解碼器由兩個解碼方向相反的解碼器組成。它合并了兩個解碼器的輸出,利用了兩個方向上的依賴關系。
通過在一些標準數據集上的大量實驗,我們證明了ASTER在規則和不規則文本上的卓越表現。此外,當與文本檢測器一起使用時,ASTER顯示了通過過濾和細化其檢測框來增強文本檢測器的能力。特別是,ASTER使一個水平文本檢測器能夠檢測出有方向性的文本。這些優點使ASTER成為端到端文本識別系統的強大組件。
圖2.擬議模型的概述。虛線表示梯度的流動。
綜上所述,本文的貢獻有三個方面。首先,我們用一個明確的矯正機制來解決不規則文本的識別問題,該機制在沒有額外注釋的情況下顯著提高了識別性能。第二,我們為場景文本識別問題引入了注意力序列-序列模型,并以雙向解碼器對其進行了擴展。第三,我們提出了一種利用ASTER在文本整頓和識別方面的能力來增強文本檢測器的方法。
本文通過三個主要的擴展超越了其會議版本[55]。1)我們通過修改整流網絡結構在整流性能上取得了突破。首先,不同分辨率的圖像被用于控制點的預測和采樣,避免了原始STN框架中分辨率下降的問題。其次,我們放棄了定位網絡中的非線性激活,保留了反向傳播梯度,從而加快了訓練期間的收斂。因此,我們觀察到在準確性、矯正圖像質量和對初始化的敏感性方面都有明顯的改善;2)我們將原來的識別解碼器擴展為雙向的,以便利用兩個方向的依賴關系;3)我們探索ASTER在端到端文本識別中的應用,并展示其優勢。通過這些擴展,ASTER在很大程度上超過了[55],并顯示出更廣泛的適用性和優勢。
2 相關的工作
2.1 文本識別
近年來發表了大量關于場景文本識別的文獻。全面的調查可以在[68], [72]中找到。
早期的工作主要是針對文檔文本。由于文檔通常有干凈的背景,所以經常采用二值化方法[10]來分割字符。然而,當應用于場景文本時,這些方法無法處理文本外觀的巨大變化和自然圖像中的噪聲。
近幾十年來,一種普遍的方法是對單個字符進行定位,并將其歸入單詞。在這一線工作中,許多人選擇過濾多余的字符建議集,并用分類器來識別它們。有代表性的提議提取方法包括最大穩定極值區域(MSER)[43], [46], 極值區域(ER)[47], 以及筆畫寬度變換(SWT)[14], [65], [66]。這些方法利用了文本在紋理或形狀方面的特點。它們能有效地在有適度噪聲的圖像中定位字符。
還有一些人采取了基于學習的方法,使用滑動窗口技術對字符進行定位[35], [44], [45], [60], [61]。在這些方法中,局部區域被二進制或多類別(每個類別是一個字母)分類器密集地分類,以獲得字符的位置和分數。然后,進行基于圖形的推理,從檢測到的字符中找到單詞。
隨著深度神經網絡在各種計算機視覺任務中的成功[33], [50],許多人開始采用深度神經網絡進行文字識別。一些方法使用卷積神經網絡[33], [34](CNNs)來定位和識別字符[29], [62], [70]。[62]創建了兩個CNN來分別定位和識別字符。[29]采用了類似的方法,但只用了一個CNN來同時執行這兩項任務。其他方法則是整體性地識別文本。例如,Jaderberg等人[24],[29]用一個90k級的CNN進行文本識別,其中每個類別對應一個英文單詞。
文本識別也可以被建模為一個結構化學習問題。[25]提出構建一個結構化輸出的CNN用于無約束的文本識別。Su和Lu[56], [57]將文本識別建模為一個序列識別問題,并用循環神經網絡(RNNs)來解決這個問題。在他們的努力下,[21], [54]將CNN和RNN整合起來用于文本識別。Wang等人[59]通過利用門控遞歸神經網絡擴展了這一工作思路。
我們的方法屬于結構化學習的范疇。它是基于注意力序列到序列的學習模型[3], [13]。這樣的模型學習從輸入序列預測輸出序列,最初被提出用于機器翻譯和語音識別任務。本文的會議版本[55]是第一個與[36]并行的,在場景文本識別任務中探索此類模型的文章。這項工作通過雙向解碼器進一步擴展了[55]。
2.2 文本糾正
不規則文本的整頓以前曾針對文檔文本圖像進行過研究[30], [40], [41]。這些工作基于形態學分析或注冊技術對文檔圖像進行矯正(或扁平化),這些方法適用于包含多行文字的圖像。另一方面,場景文本通常以單個單詞的形式被識別,這些方法并不能很好地概括。
在場景文本方面,[49]對不規則文本問題進行了研究,Phan等人提出了一種對透視文本失真的魯棒性識別方法。最近,Yang等人[64]用一個輔助的字符檢測模型和對齊損失來解決不規則文本問題,這有助于精確的字符定位。Bartz等人[4], [5]用一個集成的矯正識別網絡來解決這個問題。與[64]相比,我們的方法在概念上更簡單,因為它不需要明確的字符檢測。此外,與[64]和[11]相比,我們的方法不需要額外的字符級注釋。
2.3 文本檢測和端到端識別
文本檢測和端到端識別的問題都在非常活躍的研究中。許多最近的文本檢測器是基于現代物體檢測或分割方法的。例如,TextBoxes[38]將SSD檢測器[39]適應于文本檢測。EAST[71]使用FCN[53]進行文本分割。這兩種方法都實現了快速和準確的文本檢測。
一個常見的端到端識別系統包括一個檢測器和一個識別器,以一種連續的方式。以前的方法如Weinman等人[63]和Jaderberg等人[27]首先生成文本建議,然后用獨立的單詞識別模型識別它們。最近,一些方法試圖在一個端到端的神經網絡中整合檢測和識別。Deep TextSpotter[9]將一個基于FCN的檢測器和一個基于CTC的識別器結合到一個端到端的可訓練框架中。同樣地,Li等人[37]整合了一個文本提議網絡和一個注意力序列識別網絡。
雖然本文的重點是文本識別,但我們表明ASTER有助于實現最先進的端到端性能,即使沒有最強的檢測器。另外,我們還證明了ASTER可以通過其矯正機制加強檢測器。這些特性使ASTER成為端到端識別系統中一個有吸引力的識別器。
3 模型
建議的模型由兩部分組成,即文本矯正網絡和文本識別網絡。在下面的章節中,我們首先在第3.1節和第3.2節中分別描述這兩部分。然后,我們在第3.3節中描述訓練策略。
3.1 整流網絡
整理網絡用預測的二維變換來校正輸入圖像。我們采用Thin-Plate-Spline[8](TPS)作為變換。TPS在圖像變換和匹配方面有廣泛的應用,例如[6]。與其他較簡單的二維變換相比,它更加靈活,例如仿射和投影。TPS在圖像上執行非剛性變形,處理各種變形。圖3舉例說明了一些典型的整頓。特別是,TPS可以矯正透視和彎曲的文本,這是兩種典型的不規則文本類型。
整理網絡是基于空間變換器網絡[28](STN)。STN的中心思想是將空間轉換建模為一個可學習的網絡層。圖4描述了整頓網絡的結構。該網絡首先通過其定位網絡預測出一組控制點。然后,從控制點計算出一個TPS變換,并傳遞給網格生成器和采樣器以生成整流圖像Ir。由于控制點是從I中預測出來的,所以除了輸入圖像外,整流網絡不需要額外的輸入。
圖3.TPS變換可以糾正各種類型的不規則文本,包括但不限于松散的邊界a)、定向或透視變形(b)?和彎曲的文本(d)。
圖4.整流網絡的結構。
3.1.1 本地化網絡
我們首先在圖5中說明TPS是如何整頓文字的。一個TPS變換是由兩組大小相同的控制點決定的,用K表示。輸出圖像上的控制點被放置在沿圖像上下邊界的固定位置,間距相等。因此,當輸入圖像上的控制點沿上下文本邊緣預測時,所產生的TPS變換會輸出一個具有規則文本的整流圖像。
因此,文字矯正的問題可以歸結為預測輸入圖像上的控制點。預測是由卷積神經網絡進行的。假設I和Ir上有K個控制點,它們的坐標分別表示為 C’和C,分別表示。這里。 C =[c_1,…,c_K]∈R^(2×K)是K個控制點的串聯,其中 c_k=〖[x_k,y_k]〗^T是第k個點的x,y坐標。同理。 C’=[c_1’,…,c_k^’].
圖5.使用TPS轉換的文本整頓。交叉點是控制點。黃色箭頭代表變換T,連接一個點pi和其對應的點 p_i^’.
定位網絡的回歸 C’直接從Id進行回歸,而Id是從I下采樣的。該網絡由幾個卷積層組成,在它們之間插入了最大集合層。輸出層是一個全連接的層,其輸出大小為2K。它的輸出向量被重塑為 C∈R^(2×K). C’和C的值是標準化的圖像坐標,其中(0,0)是左上角,(1,1)是右下角。
我們將在后面進一步說明,整流網絡中的所有模塊都是可分的。因此,在訓練過程中,定位網絡完全由反向傳播梯度來訓練,不需要對控制點進行人工注釋。
3.1.2 網格生成器
網格生成器計算出一個變換,并將其應用于Ir中的每個像素位置,在I上生成一個采樣網格P = {pi }。二維TPS變換的參數是一個2×(K+3)矩陣。
其中 u,v∈R^(1×K).給定一個二維點p = [xp, yp ]T,TPS通過線性投影p的提升矢量找到其對應的點p’。
其中 ?? = r^2 log?是應用于p和控制點cK之間的歐幾里得距離的徑向基核。TPS的系數是通過解決一個涉及C和C’之間的K個對應關系的線性系統來找到的:
受制于以下邊界條件(Cx和Cy分別為C的x和y坐標)。
以矩陣形式組合起來,線性系統表示為
其中 C ?∈R^(K×K)是一個方形矩陣,包括 (c_(i,j) ) ?=?(‖c_i-c_j ‖).
從方程2中,T有一個閉合形式的解。
注意,C是輸出圖像上預定的控制點,因此是一個常數。根據公式2, C ?和 ?C都是純粹從C派生出來的。因此,它們也是常數,只需要計算一次。
圖 6. 網格生成器的構造。 concat 和 matmul 分別是矩陣連接和乘法運算符。
TPS的求解和轉換過程可以很容易地被建模為一個神經網絡模塊。圖6顯示了這個模塊的結構。它將預測的控制點 C’和矯正后圖像上的每個像素點p作為輸入和輸出 p’.模塊中使用的所有運算符都是可微分的,可以在大多數主流的深度學習庫中找到。此外,給定一個具有一定分辨率的圖像,像素的位置是固定的。因此,圖6中從p到p ?的計算可以被緩存起來并重復用于相同分辨率的圖像。
3.1.3 采樣器
在整流網絡的輸出端,采樣器生成整流后的圖像。
采樣器通過插值計算出p的值,即通過插值計算出p的鄰居像素為 p’.由于 p’可能會落在圖像之外,所以在采樣之前要進行數值剪裁,以限制圖像邊界內的采樣點。采樣器是可微調的,也就是說,它可以將I上的梯度反向傳播到P。r這是通過可微分圖像采樣方法實現的。我們請讀者參考[28]以了解更多細節。
3.1.4 與STN[28]和RARE[55]的比較
與我們以前的工作[55]和最初的STN論文[28]相比,本文引入了兩項改進。
與STN[28]不同,我們為定位網絡和采樣器使用不同大小的圖像。定位網絡在較小的圖像上運行,Id是I的降采樣版本,以減少預測所需的參數數量。同時,采樣器在原始圖像(或者類似地,原始圖像調整為高分辨率)上操作。由于整流網絡經常對其輸入的圖像進行裁剪,在高分辨率的圖像上采樣可以避免輸出分辨率的降低,因此可以保留Ir的圖像質量。此外,本文還闡述了TPS在STN中的應用。
與[55]不同的是,我們沒有限制 C’的值,在最后一個全連接層使用 tanh 激活函數。放棄非線性激活函數可能會導致訓練期間更快的收斂,因為梯度在反向傳播期間得到了很好的保留。如果沒有tanh,控制點可能會落在圖像邊界之外,因此在采樣器中進行了數值剪裁,以確保有效采樣。我們根據經驗發現,這個技巧大大改善了性能和對權重初始化的穩定性。
3.2 識別網絡
文本識別網絡直接從矯正后的圖像中預測出一個字符序列。該網絡是可以進行端到端訓練的。它只用圖像和它們的真實文本注釋來訓練。
最近的工作[54]證明了將文本識別建模為一個序列識別問題的有效性。該模型的核心是連接主義時間分類(CTC)方法[17]。CTC提供了一個對水平字符位置和間距不敏感的可區分的損失函數,從而實現了端到端的可訓練的序列識別。盡管CTC很有效,但它沒有一個機制來模擬其輸出字符之間的依賴關系。因此,[54]依靠一個外部語言模型,如詞典,將語言先驗因素納入其識別中。
我們使用一個由雙向解碼器擴展的序列-序列模型來解決識別問題。由于序列到序列模型的輸出是由一個遞歸神經網絡產生的,它捕捉到了字符的依賴性,從而將語言建模納入了識別過程。此外,雙向解碼器在兩個方向上都捕捉到了字符的依賴性,利用了更豐富的上下文并提高了性能。圖7描述了單向版本的結構。按照經典的序列到序列模型,我們的模型由一個編碼器和一個解碼器組成。它們將在以下兩節中描述。
圖7.基本文本識別網絡的結構。
3.2.1 編碼器:卷積-遞歸神經網絡
豐富的、有鑒別力的特征對于一個識別模型是非常重要的。理想情況下,一個單詞的字符是排成一行的,因此可以用描述從左到右(或者同樣地,從右到左)排列的局部圖像區域的特征序列來很好地表示。
如圖7所示,編碼器首先通過卷積層的堆疊從輸入圖像中提取一個特征圖。卷積層(“ConvNet”)的設計使特征圖的高度為1。接下來,特征圖被沿其行軸分割成一個特征序列。特征圖的形狀為hconv×wconv×dconv,分別為其高度、寬度和深度。分割后,特征圖被轉換為wconv向量序列,每個向量都有hconvdconv尺寸。
ConvNet可以提取強大的圖像特征,特別是當它由許多具有剩余連接的卷積層組成時[20]。但是,這種特征仍然受到它們的感受野的限制,即它們所捕捉的圖像區域。為了擴大特征背景,我們在特征序列上采用了一個多層雙向LSTM(BLSTM)網絡[18]。BLSTM網絡對特征序列進行雙向分析,在兩個方向上捕捉長距離的依賴關系。它輸出一個相同長度的新特征序列,用H = [h1 , … , hn]表示,其中n = wconv。
3.2.2 解碼器:注意力的序列到序列模型
序列到序列的模型將特征序列翻譯成字符序列。它能夠輸入和輸出任意長度的序列。這樣的模型因其在序列建模中的簡單性和強大的功能以及捕捉輸出依賴性的能力而具有吸引力。
序列到序列模型有多種形式,如[3]、[15]、[58]。我們基于注意力序列到序列模型[3], [13]建立我們的解碼器,因為它在每個解碼步驟中都可以訪問編碼器的輸出,并且有一個直觀的、可解釋的行為,可以更容易地進行調試和分析。
注意力序列到序列模型是一個單向的遞歸網絡。它迭代工作了T個步驟,產生一個長度為T的符號序列,用(y1, …, yT)表示。
在步驟t,解碼器根據編碼器輸出H、內部狀態st-1和上一步預測的符號yt-1,預測一個字符或一個序列結束符號(EOS)。在這一步中,解碼器開始計算一個注意力權重的向量。 α_t∈R^n,通過其注意力機制。
其中w、W、V是可訓練的權重。
注意力權重有效地表明了編碼器輸出的每一項的重要性。以權重為系數,解碼器將H的列線性地組合成一個向量,這就是所謂的glimpse。
顧名思義,一瞥描述了H編碼的整個上下文的一小部分。它被作為輸入到解碼器的遞歸單元,產生一個輸出向量和一個新的狀態向量。
其中(gt, f (yt-1 ))是gt和yt-1的單熱嵌入的連接。rnn代表任何循環單元(例如LSTM[22],GRU[12])的步驟函數,其輸出和新狀態分別用xt和st來表示。最后,xt被用來預測當前步驟的符號。
由于yt-1被納入計算中,解碼器學會了捕捉其輸出字符之間的依賴關系。這就像一個隱含的語言模型,用它學到的語言先驗來協助識別。
在推理過程中,我們可以采用貪婪的解碼方案,即采取具有最高softmax得分的符號,或者采用波束搜索的方法,在每一步都保持具有最高累積得分的k個候選者。在實踐中,我們使用k=5的波束搜索。與貪婪解碼相比,波束搜索產生了輕微但持續的準確性改進。
3.2.3 雙向解碼器
盡管一個序列到序列的解碼器能捕捉到輸出的依賴性,但它只捕捉到一個方向,而錯過了另一個方向。例如,以從左到右的順序識別文字的解碼器可能難以決定某些字體中大寫字母 "I "和小寫字母 "l "之間的第一個字母,因為它們在視覺上很難區分,而且解碼器對過去解碼的字母沒有記憶。這樣的單詞可能更容易被按從右到左的順序工作的解碼器識別,因為其余的字母會根據語言的先驗情況暗示第一個字母。
圖8.雙向解碼器。"0.5 "和 "0.8 "是識別分數。
正如這個例子所表明的,在相反方向工作的解碼器有可能是互補的。為了利用兩個方向的依賴性,我們提出了一個雙向解碼器,它由兩個方向相反的解碼器組成。如圖8所示,一個解碼器被訓練成從左到右預測字符,另一個從右到左。在運行兩個解碼器后,會產生兩個識別結果。為了合并這些結果,我們只需挑選識別分數最高的一個,即所有預測符號的對數最高分數之和。
3.3 訓練
該模型在多任務設置下進行端到端的訓練,其目標是
其中 y_1 ,…,y_t ,…,y_T是由一個字符序列表示的真實文本。目標是從左到右的解碼器和從右到左的解碼器損失的平均值,它們的預測分布分別用pltr和prtl表示。
我們模型中所有層的權重都是隨機初始化的,除了定位網絡。由于TPS變換是由定位網絡預測的控制點計算出來的,隨機初始化的定位網絡導致控制點的隨機放置,這將扭曲Ir并導致訓練過程中的不穩定性。為了解決這個問題,我們初始化最后一個全連接層(fc2),使Ir在訓練開始時不被扭曲。具體地說,我們將fc2的權重設置為零,并將其偏差設置為C’與C相同的值。我們發現,這種初始化方案產生了一個更穩定的訓練過程。
4 實驗
我們進行了廣泛的實驗來驗證我們模型的每一部分的有效性,并將其性能與其他最先進的方法進行比較。在本節中,我們首先在第4.1節中明確了實驗設置。然后,我們在第4.2節和第4.3節中進行了一些消融研究,每項研究都針對一個模型部分,以證明其有效性并分析其行為。最后,在第4.4節中,我們在公共數據集上對ASTER進行評估,并將其與其他最先進的方法進行比較。
4.1 實驗設置
4.1.1 數據集
所提出的模型是在兩個合成數據集上訓練的,沒有在其他數據集上進行微調。該模型在5個標準數據集上進行了測試,以評估其一般識別性能。此外,我們在2個不規則文本的特殊數據集上測試該模型,以證明其糾正能力。按照標準,我們用不區分大小寫的單詞準確性來評估識別性能。
Synth90k是[24]中提出的合成文本數據集。該數據集包含900萬張由一組90k常見英語單詞生成的圖像。字詞被呈現在自然圖像上,并帶有隨機的變換和效果。Synth90k中的每張圖片都被注釋了一個真實的單詞。這個數據集中的所有圖像都是用來訓練的。
SynthText是[19]中提出的合成文本數據集。其生成過程與[24]的過程相似。但與[24]不同的是,SynthText是針對文本檢測的。因此,文字被渲染成完整的圖像。我們使用真實的單詞邊界框來裁剪單詞。
IIIT5k-Words(IIIT5k)[44]包含3000張從網上收集的測試圖像。每張圖片都與一個短的、50個詞的詞庫和一個長的、1000個詞的詞庫有關。一個詞庫由基礎真理詞和其他隨機詞組成。
街景文本(SVT)[60]是從谷歌街景中收集的。測試集包含647張裁剪過的文字圖片。SVT中的許多圖像都被噪聲、模糊和低分辨率嚴重破壞。每張圖片都與一個50個詞的詞庫相關聯。
ICDAR 2003(IC03)[42]包含860張過濾后的剪裁詞圖像。按照[60],我們放棄了包含非字母數字字符或少于三個字符的詞。每幅圖像都有一個在[60]中定義的50個詞的詞庫。
ICDAR 2013(IC13)[32]繼承了IC03的大部分圖像,并以新的圖像對其進行擴展。該數據集通過刪除包含非字母數字字符的單詞進行過濾。該數據集包含1015張圖像。沒有提供詞匯表。
ICDAR 2015附帶文本(IC15)是ICDAR 2015魯棒閱讀競賽的挑戰4[31]。這項挑戰的特點是偶然的文本圖像,這些圖像是由一副谷歌眼鏡拍攝的,沒有經過仔細的定位和聚焦。因此,該數據集包含了大量不規則的文本。測試圖像是通過使用地面真實的單詞邊界框來裁剪單詞而獲得的。
SVT-Perspective(SVTP)是在[49]中提出的,用于評估識別透視文字的性能。SVTP中的圖像是從谷歌街景中的側視圖像中挑選出來的。其中許多圖像因非正面視角而嚴重失真。該數據集由639張裁剪過的圖片組成,用于測試,每張圖片都有一個從SVT數據集繼承的50個詞的詞庫。
CUTE80(CUTE)是在[51]中提出的。該數據集專注于彎曲的文本。它包含80張在自然場景中拍攝的高分辨率圖像。CUTE80最初是為檢測任務提出的。我們對注釋的文字進行裁剪,得到288張圖像的測試集。沒有提供詞庫。
4.1.2 文字整頓網絡
在進入整流網絡之前,圖像被調整為64×256大小。我們使用大的輸入尺寸,以便在整流采樣前保留高分辨率。采樣器輸出的圖像大小為32×100,這也是識別網絡的輸入大小。
表1 文本識別網絡的配置。每個區塊是一個殘差網絡區塊。s "代表一個塊中第一個卷積層的跨度。’*'表示動態輸出長度。"Out Size "是卷積層的特征圖大小(高度×寬度)和遞歸層的序列長度。"Att.LSTM "代表注意型LSTM解碼器。兩個解碼器被實例化并并行工作。
定位網絡對輸入圖像進行了降頻處理,達到32×64。它由6個卷積層組成,核大小為3×3,前5層中的每一層后面都有一個2×2的最大集合層。輸出濾波器的數量分別為32、64、128、256、256和256。卷積層之后是兩個全連接層。它們的輸出單元的數量分別為512和2K,其中K是控制點的數量。在整個實驗中,我們將K設置為20。其他的K值也會導致類似的結果。
4.1.3 文本識別網絡
識別網絡的配置列于表1。我們使用一個45層的殘差網絡[20]作為卷積特征提取器。每個殘差單元包括一個1×1卷積,然后是3×3卷積,因為最近的工作[23]表明了這個方案的效率。特征圖在前兩個殘差塊中通過2×2步長卷積進行下采樣。在第四和第五個殘余塊中,步長被改為2×1。2×1的下采樣步長在水平軸上保留了更多的分辨率,以便于區分相鄰的字符。
殘差網絡之后是兩層雙向LSTM(BiLSTM)。每層由一對具有256個隱藏單元的LSTM組成。在進入下一層之前,LSTM的輸出被串聯并線性投影到256維。
解碼器是注意型LSTM。注意單元和隱藏單元的數量都是256。解碼器可識別94個字符類別,包括數字、大寫和小寫字母以及32個ASCII標點符號。當評估協議對大小寫不敏感并且不考慮標點符號時,我們將解碼器的輸出規范化為小寫字母,并刪除所有預測的標點符號。
4.1.4 優化
該模型是從頭開始訓練的。我們采用ADADELTA[69]作為優化器。一個更簡單的SGD優化器的動量也能成功地訓練模型,但準確率略低。該模型由64個例子組成的批次進行訓練,并進行一百萬次迭代。每個批次由32個來自Synth90k的例子和另外32個來自SynthText的例子構成。以這種方式訓練的模型明顯優于僅在Synth90k上訓練的模型(例如[54],[55])。學習率最初設定為1.0,在0.6M和0.8M的步驟中分別衰減為0.1和0.01。盡管ADADELTA的學習率是自適應的,但我們發現經典的學習率計劃對性能是有益的。
4.1.5 實施
我們使用TensorFlow[1]實現所提出的模型。該模型在一塊擁有12GB內存的NVIDIA TITAN Xp顯卡上訓練。訓練速度約為6.5迭代/秒,需要不到2天的時間來達到收斂。當測試批次大小為1時,推理速度為每幅圖像20ms。這個速度可以通過更大的批次大小來提高。
4.2 關于文本整頓的實驗
我們研究了文本整頓網絡的兩個方面。首先,我們從定量和定性兩方面研究文本整頓的效果。第二,對于定位網絡,我們研究其對權重初始化的敏感性。
4.2.1 矯正的效果
為了分析整頓的效果,我們研究了所提模型的兩個變體。第一個變體只包括識別網絡,不進行整流。為了避免其他模型部分的影響,我們還將雙向解碼器改為單方向的。第二個變體是第一個變體加上整頓網絡。這兩個變體都是從頭開始訓練的,使用第4.1節中描述的相同訓練設置。它們的性能是在六個測試數據集上評估的,即IIIT5k、SVT、IC03、IC13、SVTP和CUTE。
表2 有無整頓的識別準確率。
表2列出了這兩個變體的結果。可以看出,在所有的數據集上,有矯正功能的模型都優于無矯正功能的模型,特別是在SVTP(+4.7%)和CUTE(+3.1%)上。由于這兩個數據集都是由不規則的文本組成的,所以整頓顯示了顯著的效果。此外,我們構建了一系列不規則程度遞增的數據集。這是通過將SVTP+CUTE和IIIT5k(所有的例子都被認為是有規律的)以不同的比例混合來實現的。所有的數據集都有933個例子。圖9顯示了整頓效果(有整頓和無整頓之間的準確度差異)與不規則例子的比例。可以看出,整頓效果隨著不規則程度的增加而單調地增加,顯示了對不規則文本的整頓效果。
圖9.整理改進與不規則文本部分的關系
表3 通過[55]和ASTER進行的校正圖像和識別結果。識別錯誤用紅色字符標記。
為了進行定性比較,表4直觀地顯示了CUTE80和SVTPerspective的一些例子的整頓結果。即使沒有對控制點位置的直接監督,整頓網絡也會學習將控制點放在文本的上下邊緣附近。這些點以均勻的間距排列在一條平滑的曲線上,在整頓后的圖像中幾乎沒有失真或人工痕跡。
從表4可以看出,矯正網絡在透視文字上的工作很有效。即使在有嚴重透視變形的圖像上(如 "starbucks "和 “storage”),整頓網絡也能將文字整頓成規則的文字,大大緩解了識別難度。整理網絡還能糾正彎曲的文字。例如,在 “ronaldo”、"optimal "和 "grove "這些詞上,控制點被預測為弧形,而文字被矯正為規則的形狀。雖然矯正后的圖像仍有扭曲,但識別網絡能夠正確識別它們。
另一個有趣的現象是,整改后的文字往往會出現傾斜。這種現象在很多例子中都可以觀察到,比如表4中的 “academy”、“entrance”、"museum "和 “storage”。我們推測其原因是傾斜簡化了學習,因為它導致相鄰的字符有重疊的間隔,因此沿垂直圖像軸引入了依賴性。
最后,我們觀察到一些控制點被置于其圖像邊界之外,例如 "city "和 "lights "中的控制點。與[55]不同的是,我們沒有強制控制點在圖像邊界內,因為這樣做可能會干擾采樣網格并導致圖像失真。從表3可以看出,雖然ASTER的整頓偶爾會失敗,但一般來說,它產生的圖像的失真要比[55]的少得多。這表明,簡單的修改就能使圖像質量得到明顯的改善。
4.2.2 對權重初始化的敏感性
適當的權重初始化對于順利地訓練整頓網絡是必要的。如第3.3節所述,我們用零權重和一定的偏置值來初始化最后一個全連接層。我們將這個初始化方案命名為identity。
為了證明權重初始化的效果,圖10比較了identity和另一種稱為隨機的初始化方案,其中所有模型層都是隨機初始化的。可以看出,identity導致了更快的收斂和更穩定的訓練過程。同時,隨機初始化的模型仍然可以通過更多的訓練迭代來成功訓練,并且最終達到與identity非常接近的精度。我們觀察到,一個隨機初始化的模型一開始會產生垃圾的矯正圖像,但在幾千次的訓練迭代后就會恢復正常。
在[55]中,一些精心設計的權重初始化方案是成功訓練模型的必要條件。而在隨機初始化的情況下,訓練完全失敗。相比之下,本文中的模型對權重初始化的敏感性要低得多。即使在隨機初始化的情況下,它也能成功訓練。
表4 SVT-Perspective和CUTE80的部分結果。對于每兩行,第一行包含輸入圖像(頂部),預測的控制點(可視化為綠色十字),以及矯正后的圖像(底部)。第二行包含識別結果。
4.3 文本識別的實驗
在本節中,我們研究了文本識別網絡的幾個關鍵方面,包括其注意力機制、雙向解碼器以及識別性能與字長的關系。
4.3.1 對注意力的分析
注意力機制在識別網絡中起著核心作用。根據公式5,局部特征被加權組合來識別一個字符。這表明注意力機制進行了隱性的字符檢測。
圖10.不同模型初始化方案下的單詞準確率(左)和訓練損失(右)。
圖11.注意力權重的可視化。
為了理解解碼器的行為,我們提取了注意力權重,即公式5中的αt,i,并在圖11所示的幾個例子上將其可視化。在每幅圖像的上方,一個注意力權重的矩陣被可視化為一個二維地圖。地圖的第t行對應的是第t個解碼步驟的注意力權重。除了非常短的單詞,我們可以觀察到注意力權重和字符之間的清晰排列。這證明了識別網絡所進行的隱性字符檢測。
4.3.2 雙向解碼器
為了評估雙向解碼器的有效性,我們創建了三個模型變體,即L2R,以從左到右的順序識別文本;R2L,以從右到左的順序識別文本;Bidirectional,雙向解碼器。這些變體也是使用第4.1節中描述的相同訓練設置從頭開始訓練的。表5比較了它們的識別準確率。
表5 不同解碼器的識別準確率。L2R和R2L分別代表從左到右和從右到左。
總的來說,L2R和R2L有相似的準確性。L2R在IIIT5k、IC03和SVTP上表現較好,而R2L在其他方面表現較好。這表明,這兩個變體可能有利于不同的數據分布。同時,Bidirectional在所有的數據集上都優于這兩個變體,只有一個例外,Bidirectional等于更好的變體。特別是在SVT上,Bidirectional比其他兩個變體分別多出2.8%和1.6%,驗證了雙向解碼器的有效性。
4.3.3 準確度與字長的關系
識別網絡將固定尺寸的圖像作為輸入。盡管將圖像調整為固定尺寸不可避免地會導致圖像失真,但我們認為它對性能的影響是很小的。主要原因是失真同樣影響到訓練和測試數據。因此,我們的模型被訓練來處理拉長和壓縮的例子。
圖12顯示了識別準確率與單詞長度之間的關系。可以看出,在長度等于或小于11的單詞上,識別準確率相當平均。超過這個長度,準確率就會下降。然而,這部分是由于長的單詞本身就很難在全詞準確性的衡量下預測正確。我們也嘗試過用比例調整和填充來代替固定大小的調整,但在大多數情況下,它的性能更差。
圖12.識別準確率與字長的關系(在IIIT5k上測試)
4.4 與技術現狀的比較
最后,我們將我們的模型的性能與其他最先進的模型進行比較。一些數據集提供了用于約束識別輸出的詞庫。當給定一個詞庫時,我們只需將預測的詞替換為編輯距離指標下最接近的詞庫詞。
表6比較了一些方法的識別準確率。我們的方法在12種方法中取得了9種最佳結果。特別是在IIIT5k和SVT上,我們的方法與之前的最佳結果相比,識別誤差幾乎減半。與[11]和[26]相比,我們的模型只在少數結果上有所不足。然而,需要注意的是:1)[11]使用了額外的字符級注釋,而ASTER沒有;2)[26]是一個受限輸出的識別器。它只在其90k字典中識別,而ASTER是無約束的。考慮到所測試的數據集涵蓋了廣泛的真實世界的場景,并且所有的結果都是由一個模型產生的,很明顯我們的方法在一般情況下工作能力很強。
表6還列出了ASTER的兩個變體,即ASTER-A和ASTER-B。它們與ASTER的區別僅在于ConvNet結構和訓練數據。ASTER-A在所有的數據集和指標上都優于[55],只有在IIIT5k上例外,該數據集只包括普通文本。這進一步驗證了本文所介紹的擴展的有效性。[64],同樣使用VGG,在一些數據集上優于ASTER-A。然而,[64]使用的是具有字符級注釋的私有訓練數據集。
我們已經證明了整頓和雙向的有效性。在整流和雙向解碼的情況下,ASTER在所有測試的數據集上都優于表2中的With Rect.和表5中的Bidirectional這兩種變體。因此,我們可以看到,整流和雙向解碼器所帶來的性能提升是相加的。
5 端對端識別
文本識別器通常與文本檢測器一起使用,以構建一個端到端的識別系統。通常情況下,檢測器首先定位單詞的邊界框。然后,識別器識別被方框裁剪的圖像。識別性能通常受到檢測到的框的質量的影響,因為松散的框會導致不完美的裁剪,這就很難識別。
ASTER對于端到端識別系統的吸引力不僅在于其強大的識別性能,還在于其加強檢測的能力,這有兩方面的原因。首先,ASTER產生的識別分數可以用來過濾檢測框。第二,ASTER可以通過它的矯正網絡來矯正檢測盒。正如我們已經證明的那樣,ASTER傾向于預測沿上下文本邊緣的控制點。從控制點中,我們可以估計出一個新的、有方向性的邊界盒來替代原來的檢測盒。因此,ASTER可以將一個水平的檢測器變成一個定向的檢測器。
圖13.檢測盒整改過程。
圖13說明了檢測盒的整頓過程。假設文字是由一個水平檢測器檢測出來的。給出預測的控制點,我們使用線性最小二乘回歸方法,分別從前半部分和后半部分的點估計兩條直線。對于每條直線,通過控制點投射到直線上的最小和最大X坐標找到兩個端點。這四個端點構建了一個四邊形,這就是整頓后的檢測。同樣地,我們可以根據任務的需要,估計一個軸對齊的矩形或一個定向的矩形。
我們首先評估ASTER的端到端識別性能。我們使用TextBoxes[38]和ASTER構建了一個端到端的識別系統。雖然TextBoxes在撰寫本文時并不是最強的文本檢測器,但我們強調的是,即使沒有強大的文本檢測器,ASTER也能取得優異的端到端準確率。源代碼和模型都是從GitHub倉庫1獲得的。我們在IC15上對原始模型進行了微調,IC15是一個定向的文本檢測數據集。具體來說,我們使用學習率為10-4的SGD優化器對模型進行1500步的微調;批次大小設置為16;其余設置與[38]相同。
表8總結了這些結果。我們的系統在所有指標下都取得了最先進的結果。請注意,與Deep TextSpotter[9]相比,我們的系統有一個較弱的檢測器,因為TextBoxes是水平的,而[9]是定向的。但是,我們的端到端性能仍然比[9]要好很多。
表6 識別結果比較。“50”, “1k”, "Full "是詞庫。"0 "表示沒有詞庫。*本文的會議版本。"90k "和 "ST "分別為Synth90k和SynthText數據集。"ST+"指包括字符級注釋。"Private "指私人訓練數據。
表7 不同系統的檢測準確率。
此外,我們展示了ASTER是如何加強檢測器的。表7比較了原始TextBoxes[9]、由ASTER加強的TextBoxes(沒有整頓)和由ASTER加強的TextBoxes的檢測準確率。在沒有整頓的情況下,ASTER仍然大大加強了TextBoxes,用它的識別分數重新給檢測框打分。矯正帶來了進一步的改善,這來自于更好的重新打分和檢測矯正。
圖14顯示了端到端和探測整頓的結果。對于TextBoxes產生的每一個水平框,ASTER都會生成一個四邊形作為整頓后的檢測結果。四邊形更緊密地束縛了文本,因此提高了檢測精度。
6 結論
表8 端到端結果比較。"端到端 "和 "找詞 "是兩個不同的衡量標準。“強”、"弱 "和 "通用 "表示不同的詞庫。
本文通過一個基于STN框架和TPS變換的顯式矯正機制來解決不規則文本識別問題。由此產生的文本識別器,稱為ASTER,在裁剪后的文本識別和端到端識別任務中顯示出卓越的性能。此外,由于其矯正機制,ASTER在加強文本檢測器方面顯示出額外的優點,甚至能夠對為水平文本設計的檢測器進行定向文本檢測。
在這項工作中,端到端的文本識別是以兩階段的方式解決的,這意味著檢測是在另一個網絡中使用單獨的特征進行的。正如我們所展示的,ASTER可以進行隱性文本檢測。但是這種檢測能力僅限于目標文本附近的一個小范圍。將這一范圍擴大到整個圖像將產生一個單階段、端到端的識別系統,這是一個值得進一步研究的方向。
鳴謝
參考文獻
圖14.IC15上的端到端識別結果。紅色方框是由TextBoxes檢測到的。綠色的多邊形是矯正后的檢測結果。
創作不易,喜歡的話加個關注點個贊,?謝謝謝謝?
總結
以上是生活随笔為你收集整理的论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构与算法基础】AOE网络与关键路
- 下一篇: PythonGUI 使用Tkinter写