ASTER: An Attentional Scene Text Recognizer
文章目錄
- 總結
- 0.摘要
- 1.介紹
- 1.1主要貢獻
- 2.相關工作
- 2.1文字識別
- 2.2文字矯正 Text Rectification
- 2.32.3 Text Detection and End-to-End Recognition
- 3.模型
- 3.1Rectification Network(糾正網絡)
- 31.1Localization Network
- 3.1.2 Grid Generator
- 3.1.3采樣
- 3.1.4STN和RARE的比較
- 3.2識別網絡
- 3.2.1解碼器:卷積循環網絡
- 3.2.2解碼器:基于注意力的seqtoseq模型
- 3.2.3雙向解碼器
- 3.3 Training
- 4.1實驗設置
- 4.1.1數據集
- 4.1.2 Text Rectification Network
- 4.1.2Text Recognition Network
- 4.1.4優化
- 4.1.5部署
- 4.2矯正實驗
- 4.2.1Effect of Rectification
- 4.2.2 Sensitivity to Weight Initialization
- 4.3 Experiments on Text Recognition
- 4.3.1 Analysis on Attention
- 4.3.2Bidirectional Decoder
- 4.3.3 Accuracy Versus Word Length
- 4.4Comparison to State of the Art
- 5 END-TO-END RECOGNITION
- 6.其他資料
總結
主要解決了不規則,扭曲,變形的文本的識別問題
- 對扭曲圖片進行糾正->識別,網絡包括兩個部分,實現了目前最好的文本識別效果
- 扭曲糾正網絡(STN),實際是對原始圖片進行仿射變換,讓扭曲圖片變得好識別。關鍵在于找到這個仿射變換的方程,仿射變換的方程是通過找原始圖片矯正后圖片的對應點實現的,所以問題的核心變成了預測控制點的位置,也就是原始圖片上某些點在新的圖片上的位置。
- 找位置的過程是無監督的,因為矯正的不好,識別的就不好,所以他們之間有一種隱形的連接關系,最后的loss在表面上只和識別有關系,實際上矯正結果影響識別結果。
- 找位置的參數初始化很重要,隨機的參數找的位置都是隨機的,矯正網絡就無法收斂,所以通過使得全連接層weights = 0,bias = 特殊值,讓一開始找的位置就是原始圖片上對應點的位置,也就是初始化的矯正后的圖片 = 原始圖片,最開始網絡是沒有矯正功能的,
- 矯正網絡最后沒有使用tanh激活函數,輸出任意大小矯正預測值,需要同時對于超出原始圖像范圍的矯正點要進行限制。
- 通過預測矯正圖像上20個控制點的位置,與原始圖像上20個點的位置進行映射 ,STN的基本原理是利用點之間的映射關系進行仿射變換,通過采樣生成矯正后的圖片。
- 整個過程是端到端訓練的,很神奇,效果不錯。
0.摘要
場景文本識別的一個具有挑戰性的方面是處理具有扭曲或不規則布局的文本。特別是,透視文本和彎曲文本在自然場景中很常見,很難識別。本文介紹了一種端到端神經網絡模型ASTER,它由校正網絡和識別網絡組成。校正網絡自適應地將輸入圖像轉換為新的圖像,對其中的文本進行校正。它由一個靈活的Thin-Plate Spline transformation作為核心,該轉換處理各種文本不規則性,并在沒有人工注釋的情況下進行訓練。識別網絡是一個注意序列到序列的模型,它直接從校正后的圖像預測字符序列。整個模型從頭到尾進行訓練,只需要圖像和它們的groundtruth文本。通過大量的實驗,驗證了校正的有效性,并證明了ASTER的最新識別性能。此外,我們還證明了ASTER在端到端識別系統中是一個強大的組件,因為它能夠增強檢測器。
Index Terms—Scene Text Recognition, Thin-Plate Spline, Image Transformation, Sequence-to-Sequence Learning
1.介紹
場景文本識別由于其具有廣泛的應用價值,近年來引起了學術界和業界的廣泛關注。盡管用于文檔文本的光學字符識別(OCR)系統十分成熟,但場景文本識別仍然是一個具有挑戰性的問題。背景、外觀和布局的巨大變化帶來了巨大的挑戰,傳統的OCR方法無法有效地處理這些問題。基于深度學習的識別模型的成功應用推動了場景文本識別技術的發展。其中包括使用卷積神經網絡(CNN)進行字符識別的方法,使用CNNs[24]、[26]對單詞進行分類的方法,以及使用CNN和遞歸神經網絡(RNN)[54]組合進行字符序列識別的方法。盡管這些方法取得了成功,但它們并沒有明確地解決不規則文本的問題,即文本不是水平和正面的,具有曲線布局等。不規則文本的實例經常出現在自然場景中。如圖1所示,典型的情況包括面向對象的文本、透視文本[49]和彎曲文本。在設計時沒有這種不規則性的不變性,以前的方法常常難以識別這種文本實例。
本文介紹了一種用于場景文本識別的ASTER,它是一種具有靈活性的注意力場景文本識別器。ASTER采用顯式糾錯機制處理不規則文本問題。如圖2所示,模型包含兩個部分:整流網絡和識別網絡。給定一個輸入圖像,校正網絡對圖像進行變換以校正其中的文本。
變換叫做TPS The transformation is parameterized Thin-Plate Spline
可以處理各種文本不規則性。
不規則文本舉例
在推理過程中,校正網絡首先從圖像中預測TPS參數,然后將其應用于轉換。基于[28]提出的空間變換網絡(STN)框架,糾偏網絡完全可以通過識別網絡反向傳播的梯度進行訓練,不需要人工標注。
該識別網絡從校正后的圖像中預測出一個字符序列,并將其作為一個注意序列來處理?;赱3]、[13]中提出的注意機制,識別網絡將字符檢測、字符識別和語言建模有效地封裝到一個模型中,實現了準確的認知。在此基礎上,將傳統的單向譯碼器擴展為雙向譯碼器。該雙向解碼器由兩個解碼器組成,解碼器具有相反的解調方向。它合并了兩個解碼器的輸出,利用了兩個方向上的依賴關系。
通過對大量標準數據集的大量實驗,我們證明了ASTER在規則文本和不規則文本上的優越性能。此外,當與文本檢測器一起使用時,ASTER顯示了通過過濾和細化檢測框來增強文本檢測器的能力。特別是,ASTER使水平文本檢測器能夠檢測定向文本。這些優點使得ASTER成為端到端紋理識別系統的強大組件。
1.1主要貢獻
總之,本文的貢獻有三方面。
首先
- 采用顯式糾偏機制解決了不規則文本識別問題,在不添加額外標注的情況下,顯著提高了識別性能。
- 其次,將attentional sequence-tosequence models引入場景文本識別問題,并利用雙向解碼器對其進行了擴展。
- 第三,利用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]對字符進行定位,在這些方法中,局部區域被一個二元或多分類器(每個分類器是一個字母)密集分類,以獲得字符的位置和分數。然后,執行基于圖的推理,從檢測到的字符中找到單詞。
隨著深度神經網絡在各種計算機視覺任務[33]、[50]中的成功應用,許多人開始采用深度神經網絡進行文本識別。一些方法是利用神經網絡[33]、34來定位和識別字符[29],[62],[70]。[62]創建了兩個ocnns分別對字符進行定位和識別。[29]采用了類似的方法,但是只使用了一個CNN來同時執行兩個任務。其他方法整體地識別ext。例如,Jaderberg等人使用一個90k類別的分類器CNN執行文本識別,其中每個類對應一個英語單詞。
文本識別也可以建模為結構學習問題。[25]提出了一種用于無約束文本識別的structuredoutputCNN結構。Su和lu[56]、[57]將文本識別建模為一個序列識別問題,并利用遞歸神經網絡(RNNs)對其進行了研究。緊隨其后的是[21]、[54],其中CNN和RNN被集成到文本識別中。Wang等人利用gated cnn擴展了這一工作。
我們的方法屬于結構化學習的范疇。它基于注意序列到序列的學習模型[3],[13]。該模型從輸入序列中學習預測輸出序列,最初用于機器翻譯和語音識別任務。本文的會議版[55]是第一個與[36]并行在場景文本識別任務中探索這類模型的。這項工作進一步擴展了雙向解碼器的[55]。
2.2文字矯正 Text Rectification
之前對文檔文本圖像[30]、[40]、[41]進行了不規則文本的校正研究。這些工作基于形態學分析或配準技術對文檔圖像進行校正(或壓平),這些技術應用于包含多行文本的圖像。另一方面,場景文本通常以單字的形式進行識別,這些方法不能很好地推廣。
在場景文本方面,在[49]中研究了不規則文本問題,Phan等人提出了一種識別方法drobust來透視文本失真。最近,楊等等。[64]利用輔助字符檢測模型和對齊損失來解決不規則文本問題,有助于精確的字符定位。Bartz等人使用集成的糾錯識別網絡[4]和[5]解決了這個問題。與[64]相比,我們的方法在概念上更簡單,因為它不需要顯式的字符檢測。此外,與[64]和[11]相比,我們的方法不需要額外的字符標注。
2.32.3 Text Detection and End-to-End Recognition
TextBoxes 使用SSD作為文本檢測器
EAST使用FCN作為文本檢測器
一種常見的端到端識別系統,包括一個序列識別器和一個序列識別器。以前的方法如Weinman等[63]和Jaderberg等人的[27]首先生成文本建議,然后用一個獨立的單詞識別模型識別它們。近年來,在端到端神經網絡中集成檢測與識別的方法得到了廣泛的應用。Deep TextSpotter[9]將基于anfcn的檢測器和基于ctc的識別器結合到一個端到端的可訓練框架中。同樣,Li等人將文本建議網絡和注意順序認知網絡整合在一起。雖然本文的重點是文本識別,但是我們展示了ASTER可以幫助實現最先進的端到端性能,即使沒有最強的檢測器。此外,我們還證明了ASTER可以通過整流機制增強探測器。這些特性使得ASTER在端到端識別系統中成為一個很有吸引力的識別器。
3.模型
3.1Rectification Network(糾正網絡)
該校正網絡利用二維變換對輸入圖像進行校正。我們采用Thin-Plate-Spline8作為變換。TPS在圖像變換和匹配中得到了廣泛的應用,如[6]。與其他簡單的2D轉換相比,它更加靈活。仿射投影。TPS對圖像進行非剛性變形,處理各種變形。圖3舉例說明了一些典型的糾正。尤其是TPS既能矯正透視文本,又能矯正彎曲文本,是兩種典型的不規則文本類型。
整流網絡基于Spatial Transformer etwork28。STN的核心思想是將層模型空間變換作為一個可學習的網絡層。圖4描述了整流網絡的結構。該網絡首先通過其localization network預測一組控制點。
然后,從控制點計算TPS變換(一種非線性變化,相當于仿射變化),并將其傳遞到網格發生器和采樣器,生成校正后的圖像Ir。由于控制點是由I來預測的,校正網絡除了輸入圖像外不需要額外的輸入。
31.1Localization Network
我們首先演示TPS如何糾正圖5中的文本。TPS變換是由兩組大小相等的控制點決定的,用k表示。輸出圖像上的控制點沿圖像的上下邊框放置在固定位置,間距相等。因此,當輸入圖像上的控制點沿著上下文本邊緣進行預測時,生成的TPS transformation將輸出具有規則文本的校正圖像。
因此,文本校正的問題歸結為預測輸入圖像上的控制點,我們使用卷積神經網絡對控制點進行預測。
III:輸入圖像 IrI_{r}Ir?糾正后的圖像
假定在輸入圖像上和糾正后的圖像上都有K個控制點,互相對應
控制點的坐標用C′C^{'}C′ 和CCC來表示,目前控制點的數目 K=20
其中C=[c1,c2,c3...ck]∈R2×KC = [c1,c2,c3...c_{k}]\in R^{2\times K}C=[c1,c2,c3...ck?]∈R2×K C′C^{'}C′與C是一樣的
其中C中每一個點的坐標表示為ck=[xk,yk]Tc_{k} = [x_{k},y_{k}]^{T}ck?=[xk?,yk?]T
左上角坐標為(0,0)(0,0)(0,0),右下角為(1,1)(1,1)(1,1)
稍后我們將進一步說明,認證網絡中的所有模塊都是可微的。因此,在訓練過程中,定位網絡完全由反向傳播梯度進行訓練,不需要在控制點上進行人工標注。
3.1.2 Grid Generator
IdI_ze8trgl8bvbqId?是III通過下采樣得到的 , 定位網絡從 IdI_ze8trgl8bvbqId?中回歸采樣點C′C^{'}C′。網絡由幾個卷積層組成,在它們之間插入最大池化層,輸出層為全連接層,輸出尺寸為2K2K2K。網絡輸入會被reshape成2維坐標。
網格生成器計算一個變換并應用于Ir中的每個像素位置,在i上生成一個網格采樣 p ={pi}。
一個二維TPS變換由一個2 (K + 3)矩陣表示:
上面這個公式當中,
給定一個二維的點p,通過線性投影變換,可以找到對應的點p0
其中? = r2 log?為徑向基核,應用于p與控制點ck之間的歐氏距離。通過求解包含K個C與C0對應的線性系統,得到TPS的系數:
3.1.3采樣
在校正網絡輸出端,采樣器生成校正后的圖像:
Ir=V(ρ,I)I_{r} = V(\rho ,I)Ir?=V(ρ,I)
采樣器通過插值p′p^{'}p′的鄰點像素來計算ppp的值。由于p′p^{'}p′可能落在圖像外部,所以在采樣之前會進行值裁剪,以限制圖像邊界內的采樣點。該采樣器是可微的,即它可以將紅外上的梯度反向傳播到IrI_{r}Ir?和 ρ\rhoρ 。這是通過可微圖像采樣方法實現的。更多細節請參考[28]。
3.1.4STN和RARE的比較
與我們之前的工作和原始的STN進行比較,這篇論文主要包含以下兩點改進。
與STN[28]不同,我們使用不同大小的圖像用于定位網絡和采樣網絡。我們對III進行采樣獲取IdI_ze8trgl8bvbqId?,localization net從更小的圖片IdI_ze8trgl8bvbqId?獲取控制點,以減少預測所需的參數數量。同時,采樣器對原始圖像進行操作(或類似地,將原始圖像調整到高分辨率)。由于糾正網絡經常對輸入圖像進行裁剪,在高分辨率圖像上采樣避免了輸出分辨率下降,從而保持了IrI_{r}Ir?的質量。此外,本文還闡述了TPS在STN中的應用。
與[55]不同的是,在最后一個全連接層中,我們沒有使用tanh激活函數來限制C′C^{'}C′的值。在訓練過程中,由于梯度在反向傳播過程中被很好地保留了,因此丟棄非線性激活函數可能會導致更快的收斂。如果沒有tanh,控制點可能會落在圖像邊界之外,所以我們在采樣器中對得到的值進行了裁剪,以確保有效的采樣。實驗結果表明,該方法顯著提高了權值初始化的性能和穩定性。
3.2識別網絡
文本識別網絡直接從校正后的圖像中預測字符序列。
網絡是端到端可訓練的。
訓練時網絡的輸入只有使用圖像及其相應的label。
最近的工作[54]證明了將文本識別建模為序列識別問題的有效性。該模型的核心是連接主義時間分類(CTC)方法[17]。CTC提供了一個不受水平字符位置和間距影響的可微的損失函數,支持端到端可訓練均衡識別。盡管CTC很有效,但它沒有一種機制來對其輸出字符之間的依賴關系建模。因此,[54]依賴于外部語言模型,例如詞典,將語言的先驗融入到識別中。
我們使用雙向解碼器擴展的seqtoseq模型來解決識別問題。由于seqtoseq模型的輸出是由遞歸神經網絡生成的,因此它捕獲了字符依賴關系,從而將語言建模融入識別過程。此外,雙向解碼器可以在兩個方向上捕獲字符依賴關系,從而利用更豐富的上下文并提高性能。圖7描述了單向版本的結構。根據經典的序列到序列模型,我們的模型由編碼器和解碼器組成。它們將在下面的兩節中進行描述。
3.2.1解碼器:卷積循環網絡
豐富和有識別能力的特征是識別網絡的關鍵。理想情況下,一個單詞的字符排列在一條直線上,因此由一個描述從左到右排列的局部圖像區域(或類似地,從右到左)的字符序列很好地表示出來。
如圖7所示,編碼器首先從卷積層上提取特征。特征圖的高度為(hight)1,接下來,通過沿著行軸進行分割,將feature map轉換為一個feature sequence。特征圖的形狀是hconv×wconv×dconvh_{conv}\times w_{conv}\times d_{conv}hconv?×wconv?×dconv?,分別代表了高度,寬度和深度。在分割后,將特征映射轉為wconvw_{conv}wconv?的向量,每一個序列的大小是hconv×dconvh_{conv}\times d_{conv}hconv?×dconv?
卷積神經網絡能夠提取出很強的圖像特征,特別是當它由許多具有殘差連接[20]的卷積層組成時。但是,這些特征仍然受到它們接受域的限制,即它們所捕獲的圖像區域。為了擴大特征上下文,我們在特征序列上采用了多層雙向stm (BLSTM)網絡[18]。BLSTM網絡雙向分析特征序列,捕獲兩個方向的長期依賴關系。輸出相同長度的新特征序列,記為H=[h1,h2....hn]H = [h_{1},h_{2}....h_{n}]H=[h1?,h2?....hn?],其中hconvh_{conv}hconv?。
3.2.2解碼器:基于注意力的seqtoseq模型
序列到序列模型將特征序列轉換為字符序列。它能夠輸入和輸出任意長度的序列。這種模型的出現是由于它的簡單性和強大的sequence modeling以及它捕獲輸出依賴關系的能力。
seqtoseq模型有多種形式,如[3]、[15]、[58]。我們建立我們的解碼器基于注意序列到序列模型[3],[13],因為它有訪問編碼器輸出的每一個解碼步驟,并有一個直觀和解釋的行為,使調試和分析更容易。
注意序列對序列模型是一個單向遞歸網絡。它對T步迭代工作,產生長度為T的符號序列,表示為(y1,...yt)(y_{1},...y_{t})(y1?,...yt?)。
在步驟t,譯碼器預測一個字符或一個停止符號(EOS),根據編碼器的輸出HHH,內部狀態st?1s_{t-1}st?1?,和上一步的預測結果yt?1y_{t-1}yt?1?。在這一步中,解碼器首先計算 attrntion weights,αt∈Rn\alpha_{t} \in R^{n}αt?∈Rn,通過其注意機制公式:
其中,w,W,Vw,W,Vw,W,V是可訓練的權重
注意權值有效地表示編碼器輸出的每一項的重要性。解碼器以權值為系數,將H的列向量線性組合成向量,稱為一glimpse:
αt,i\alpha _{t,i}αt,i?隨著step t的不同而不同,每一個step都是不同的
顧名思義,glimpse描述了h語言編碼的整個上下文的一小部分,它被作為一個輸入到解碼器的循環單元中,這個循環單元產生一個輸出向量和一個新的狀態向量:
3.2.3雙向解碼器
雖然序列到序列解碼器捕獲輸出,但它只捕獲一個方向,而忽略了另一個方向。例如,一個解碼器如果按照從左到右的順序識別文本,可能很難在某些字體中決定大寫的“I”和小寫的“i”之間的第一個字母,因為它們在視覺上很難區分,而且解碼器對過去解碼的字母沒有記憶。這樣的單詞可能更容易被按從左到右順序工作的解碼器識別,因為其余的字母提示第一個字母是基于前面的語言的。
正如這個例子所示,反向工作的解碼器可能是互補的。為了充分利用兩個方向上的依賴關系,我們提出了一種雙向譯碼器,它由兩個方向相反的譯碼器組成。如圖8所示,訓練一個解碼器從左到右預測字符,另一個從右到左預測字符。運行這兩個解碼器后,將產生兩個識別結果。為了合并結果,我們簡單地選擇識別得分最高的符號,即所有預測符號的log-softmax得分之和。
正向編碼器預測一個結果"FLTNESS", 0.5
方向編碼器預測一個結果"SSENTIF", 0.8
所以我們選方向解碼器的結果作為最后的預測結果
3.3 Training
該模型在多任務設置下進行端到端訓練,目標為
其中,y1,...,yt,..yTy_{1},...,y_{t},..y_{T}y1?,...,yt?,..yT?是真實的標簽,
loss是從左到右和從右到左的平均損失,預測分布分別表示為p1tlandprtlp_{1tl} and p_{rtl}p1tl?andprtl?
除了localization network網絡外,模型中各層的權值都是初始化的。由于TPS變換是由定位網絡所指定的控制點計算得到的,一個隨機初始化的定位網絡會產生隨機放置的控制點,這會扭曲Ir,在訓練過程中造成不穩定。為了解決這個問題,我們初始化了最后一個全連接層(fc2),這樣在訓練開始時Ir就不會被扭曲。具體地說,我們將fc2的權值設置為零,并將其偏差進行特殊設置,使得為C′=CC_{'} = CC′?=C。
4.1實驗設置
4.1.1數據集
本模型在兩個合成數據集上進行訓練,不需要對其他數據集進行微調。該模型在5個標準數據集上進行了測試,以評估其總體識別性能。此外,我們在兩個不規則文本的特殊數據集上對模型進行了測試,驗證了模型的校正能力。根據該標準,我們使用不區分大小寫的單詞準確度來評估識別性能。
Synth90k是[24]中提出的合成文本數據集。該數據集包含900萬張由90k個常用英語單詞生成的圖像。文字通過隨機變換和效果呈現在自然圖像上。Synth90k中的每個圖像都用一個ground truth單詞進行注釋。該數據集中的所有圖像都是用于訓練的。
SynthText是[19]中提出的合成文本數據集。生成過程與[24]類似。但與[24]不同,SynthText的目標是文本檢測。因此,文字被渲染成完整的圖像。我們使用ground truth單詞包圍框來裁剪單詞。
IIIT5k- words (IIIT5k)[44]包含從web上收集的3000個測試圖像。每個圖像都與一個短的、50個單詞的詞匯表和一個長的、1000個單詞的詞匯表相關聯。Alexicon由groun dtruth單詞和其他隨機單詞組成。街景文本(SVT)[60]是從google街景中收集的。測試集包含647張croppedwords的圖像。SVT中的許多圖像都被噪聲、模糊和低分辨率嚴重破壞。每個圖像都與一個50個單詞的詞匯表相關聯。
ICDAR 2003 (IC03)[42]包含860張經過過濾的裁剪文字圖像。在[60]之后,我們丟棄包含非字母數字字符或少于三個字符的單詞。每個圖像都有一個在[60]中定義的50個單詞的詞典。
ICDAR 2013 (IC13)[32]繼承了ic03的大部分圖像,并使用新圖像對其進行了擴展。通過刪除包含非字母數字字符的單詞來過濾數據集。數據集包含1015張圖像。沒有提供詞典。
ICDAR 2015附帶文本(IC15)是ICDAR 2015健壯閱讀大賽[31]的挑戰4。這一挑戰的特點是附帶的文本圖像,這是采取了一副谷歌眼鏡沒有仔細定位和聚焦。因此,數據集包含大量的正則文本。測試圖像是通過使用groundtruth單詞包圍框裁剪單詞獲得的。在[49]中提出了一種基于
SVTP (SVTP)的透視圖(perspective - perspective, SVTP),用于評價透視圖文本的識別性能。SVTP中的圖片是從google街景的側視圖中選取的。它們中的許多都被非正面視角嚴重扭曲了。該數據集由639個用于測試的croppedimages組成,每個croppedimages都繼承了來自SVT數據集的50個單詞的詞典。
CUTE80 (CUTE)是在[51]中提出的。數據集集中于彎曲文本。它包含了80張拍攝自然場景的高分辨率圖像。CUTE80最初是用于檢測任務的。我們裁剪帶注釋的單詞并得到288張圖片的測試集。沒有提供詞典(看樣子詞典就是標注的意思)。
4.1.2 Text Rectification Network
在進入整流網絡之前,將圖像大小調整到64x256。為了在校正采樣前保留高分辨率,我們使用了較大的輸入尺寸。采樣器輸出的圖像大小為32x100,這也是識別網絡的輸入大小。本地化網絡(localization network)對采樣到32x64的輸入圖像進行處理。它由6個卷積層組成,內核大小為33。前5層的每一層后面都有一個22個最大池層。輸出過濾器的數目分別為32、64、128、256、256和256。卷積層之后是兩個完全連接的層。它們的輸出單元數分別為512和2K,其中K為控制點數。在整個實驗過程中,我們將k設為20。K的其他值也會導致類似的結果(可以改變K到類似的值)。
4.1.2Text Recognition Network
Table1給出了識別網絡的結構。采用45層殘差網絡[20]作為卷積特征提取器。每個剩余單元由1x 1卷積和3x3卷積組成,最近的工作[23]表明了該方案的有效性。特征映射通過前兩個剩余塊中的2x2步卷積向下采樣。步幅在第四和第五剩余塊改為2x1。2 x1下采樣步幅沿水平軸保留了更多的分辨率,以便區分相鄰字符。
在剩余網絡的后面是兩層雙向全向網絡(BiLSTM)。每一層由一對包含256個隱藏單元的lstms組成。在進入下一層之前,lstm的輸出被連接并線性投影到256維
譯碼器是注意的LSTMs。注意單元和隱藏單元的數量都是256。解碼器可以識別94個字符類,包括數字、大小寫字母和32個ASCII標點符號。
當評估協議對大小寫不敏感且不考慮大小寫時,我們將解碼器輸出規范化為小寫,并刪除所有預測的標點符號。
4.1.4優化
模型從零開始訓練。我們采用adadelta[69]作為優化器。一個更簡單的帶有動量的SGD優化器也將成功地訓練模型,但精度略低。該模型由64個樣本批量訓練,迭代100萬次。每個批處理由來自synth90k的32個示例和來自SynthText的32個示例組成。以這種方式訓練的模型明顯優于僅使用Synth90k訓練的模型(例如[54]、[55])。初始學習速率設置為1.0,在步驟0.6M和0.8 m時分別衰減為0.1和0.01。雖然ADADELTAis的學習率是自適應的,但我們發現經典的學習率計劃有利于性能。
4.1.5部署
我們使用TensorFlow[1]實現了所提出的模型。該模型是訓練在一個單一的NVIDIA泰坦Xp圖形卡與12GB內存。訓練速度約6.5 iteration/s,不到2天達到收斂。當測試批大小為1時,每幅圖像的推理速度為20ms。這種速度可以通過更大的批處理大小來提高。
4.2矯正實驗
本文從兩個方面定量研究了文本校正的效果 定量和定性。研究了其對權值初始化的敏感性。
4.2.1Effect of Rectification
為了分析校正效果,我們研究了模型的兩個變量。第一個變體只由識別網絡組成,不進行校正。為了避免其他模型部件的影響,我們還將雙向譯碼器改為單向譯碼器。第二個變體是第一個加上校正網絡。這兩種變體都是從零開始訓練的,使用的訓練設置與4.1節中描述的相同。它們的性能是在六個測試數據集中評估的,即IIIT5k、SVT、IC03、IC13、SVTP和CUTE。
表2列出了這兩種變體的結果。可以看到,校正后的模型在所有數據集上都優于沒有校正的模型,尤其是在SVTP(+4.7%)和CUTE(+3.1%)上。由于這兩個數據集都由非正則文本組成,因此校正顯示了顯著的效果。此外,我們還構造了一系列具有上升規則級的數據集。這是通過混合SVTP+可愛的和diiit5k(所有的例子都認為是規則的)與不同的比例來實現的。所有數據集都有933個例子。圖9給出了校正改進(有Rect.和沒有Rect.之間的精度差異)與部分不規則示例之間的關系。從圖中可以看出,糾偏效果隨著不規則程度的增加而單調增加,顯示出對不規則文本的糾偏效果。
為了進行定性比較,表4從CUTE80和SVTPerspective對一些示例的糾正結果進行了可視化。即使沒有對控制點位置的直接監控,糾偏網絡也能學會將控制點放在文本上下邊緣附近。這些點在平滑的曲線上對齊,間距均勻,在校正后的圖像中幾乎不會產生失真或偽影。
從表4可以看出,糾偏網絡在透視文本上運行效果良好。即使是在透視失真嚴重的圖像上(如“starbucks”和“storage”),認證網絡也會將單詞糾正為常規單詞,大大降低了識別難度。糾錯網絡也可以糾錯彎曲的文本。例如,在單詞“羅納爾多”、“最佳”和“格魯夫”上,控制點被預測成弧形,文本被糾正成規則形狀。雖然校正后的圖像仍然存在失真,但識別網絡能夠正確識別。另一個有趣的現象是糾錯傾向于扭曲文本。這種現象在表4中的“academy”、“entry”、“museum”、“storage”等很多例子中都有體現。我們推測的原因是,傾斜簡化了學習,因為它導致相鄰字符有重疊的間距,因此在垂直圖像軸上引入了依賴關系。最后,我們觀察到一些控制點被放置在它們的圖像邊界之外,例如“城市”和“燈光”中的控制點。與[55]不同,我們不強迫控制點位于圖像邊框內,因為這樣做可能會干擾采樣網格并導致圖像失真。從表3中可以看出,雖然ASTER的校正偶爾會出現故障,但總的來說它產生的圖像失真程度要比[55]小得多。這表明,簡單的修改可以顯著提高圖像質量。、
4.2.2 Sensitivity to Weight Initialization
正確的權值初始化是訓練認證網絡順利進行的必要條件。如3.3節所述,我們初始化了最后一個全連通層,該層的權值為零,偏差為特定值。我們將此初始化s標識命名為identity。
為了演示權重初始化的效果,圖10將identity與另一個名為random的初始化模式進行了比較,random中所有模型層都是隨機初始化的。
identity穩定且快
同時,一個隨機初始化的模型仍然可以通過更多的訓練迭代成功地訓練,并最終達到非常接近的精度。我們觀察到,一個隨機初始化的模型一開始會生成經過垃圾校正的圖像,但經過數千次訓練后會恢復正常
在[55]中,為了成功地訓練模型,需要一些精心設計的權值初始化方案。而隨機初始化訓練完全失敗。相比之下,本文的模型對8個初始化的靈敏度要低得多。它甚至可以在初始化過程中被成功地訓練。
4.3 Experiments on Text Recognition
在本節中,我們研究了文本認知網絡的幾個關鍵方面,包括它的注意機制、雙向解碼器和每個單詞長度的識別性能。
4.3.1 Analysis on Attention
注意機制在認知網絡中起著核心作用。根據公式5,對局部特征進行加權組合來識別一個字符。這表明注意機制執行隱式特征檢測。
為了了解解碼器的行為,我們提取了注意權值。即將它們可視化到圖11所示的幾個例子中。在每個圖像之上,一個注意權重矩陣在2Dmap中被可視化。映射的第t行對應于第t解碼步驟的注意權重。除了非常短的單詞,我們可以觀察到注意力權重和字符之間的清晰對齊。這說明了該識別網絡的隱含特征檢測。
4.3.2Bidirectional Decoder
為了評估雙向解碼器的有效性,我們提出了三種模型變體,即L2R,它以從左到右的順序識別ext;R2L,它識別文本從右到左的順序;雙向,bidirectionaldecoder。這些變體也使用4.1節中描述的相同訓練設置從零開始進行訓練。表5比較了它們的識別精度。
總的來說,L2R和R2L有相似的準確性。L2R優于IIIT5k、IC03和SVTP,而R2L優于其余部分。這表明這兩種變體可能支持不同的數據分布。與此同時,bidirectionaloutbetter在所有數據集上都優于這兩個變體,只有一個例外,即雙向的變體更好。特別是在SVT上,雙向譯碼器的性能分別比其他兩種譯碼器高出2.8%和1.6%,驗證了雙向譯碼器的有效性。
4.3.3 Accuracy Versus Word Length
識別網絡以固定大小的圖像作為輸入。盡管將圖像調整到固定大小不可避免地會導致圖像失真,但我們認為它對性能的影響很小。主要原因是變形對應變和測試數據的影響是一樣的。因此,我們的模型被訓練來處理拉長和壓縮的例子。
圖12顯示了識別精度與單詞長度之間的關系。從圖中可以看出,對于長度等于或小于11的單詞,其識別精度相當均勻。超過這個長度,精確度就會下降。然而,這在一定程度上是因為,在衡量整個單詞的準確性時,長單詞本來就更難準確預測。我們還嘗試通過比例調整大小和填充來替換固定大小的調整,但是在大多數情況下,這會導致性能下降。
4.4Comparison to State of the Art
最后,我們比較了我們的模型與其他最先進的模型的性能。一些數據集提供了用于約束識別輸出的詞匯。當給定一個詞時,我們只需在編輯距離的度量下,用最近的詞替換預測的詞。
表6比較了多種方法的識別精度。我們的方法在12種方法中取得了9種最好的結果。特別是在IIIT5k和SVT上,我們的方法與以前的方法相比,識別誤差幾乎減半。與[11]和[26]相比,我們的模型只差幾個結果。但是,需要注意的是,1)[11]使用額外的字符級注釋,而ASTER不使用;2)[26]是一個約束輸出識別器。它只能在它的90k字典中識別,而ASTER是無限制的??紤]到測試數據集涵蓋了廣泛的現實場景,并且所有結果都是由一個模型產生的,很明顯,我們的方法在總體上是有效的。表6還列出了ASTER的兩個變體,即astera和ASTER- b。它們僅在對流網絡結構和訓練數據上有所不同。ASTER-A在所有數據集和指標下都優于[55],只有IIIT5k上有一個例外,它只包含常規文本。這進一步驗證了本文引入的擴展的有效性。[64],同樣使用VGG,在某些數據集上性能優于ASTER-A。然而,[64]使用帶有字符級注釋的私有訓練數據集。實驗結果表明,該方法具有良好的糾偏效果和雙向糾偏效果。通過使用整流和雙向解碼器,ASTER在所有測試數據集中都優于表2中的With rect和雙向inTable 5中的兩個變體。由此可見,整流和雙向解碼器帶來的性能增益是相加的。
5 END-TO-END RECOGNITION
文本識別器通常與文本檢測器一起用于構建端到端識別系統。通常,檢測器首先定位單詞邊界框。然后,therecognizer可以識別由框裁剪的圖像。由于松散的箱形邊界導致作物不完全,難以識別,因此識別性能往往受到檢測箱質量的影響。ASTER對端到端識別系統的吸引力不僅在于其魯棒的識別性能,還在于其增強檢測能力的能力。首先,利用ASTER生成的識別分數對檢測盒進行過濾。其次,ASTER可以通過其整流網絡對檢測盒進行整流。如前所述,ASTER傾向于預測沿著上下文本邊緣的控制點。從控制點,我們可以估計一個新的,有方向的包圍框,以取代原來的檢測框。因此,ASTER可以將水平探測器轉換為定向探測器。
6.其他資料
aster論文解讀
https://www.cnblogs.com/lillylin/p/9315180.html
文本檢測 git匯總:
http://www.360doc.com/content/19/0410/01/32196507_827587015.shtml
配置aster實戰
https://blog.csdn.net/xuanbi8560/article/details/81905692
文本檢測論文集合
https://www.cnblogs.com/lillylin/
文本檢測Git集合
https://github.com/luoqingyu/awesome-deep-text-detection-recognition
attention
https://blog.csdn.net/malefactor/article/details/50550211
總結
以上是生活随笔為你收集整理的ASTER: An Attentional Scene Text Recognizer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XSS平台 XSS挑战之旅 解题记录
- 下一篇: 应用matlab仿真几类混沌电路,改进型