文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書
翻譯論文匯總:https://github.com/SnailTyan/deep-learning-papers-translation
An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
摘要
基于圖像的序列識別一直是計算機視覺中長期存在的研究課題。在本文中,我們研究了場景文本識別的問題,這是基于圖像的序列識別中最重要和最具挑戰(zhàn)性的任務之一。提出了一種將特征提取,序列建模和轉(zhuǎn)錄整合到統(tǒng)一框架中的新型神經(jīng)網(wǎng)絡架構。與以前的場景文本識別系統(tǒng)相比,所提出的架構具有四個不同的特性:(1)與大多數(shù)現(xiàn)有的組件需要單獨訓練和協(xié)調(diào)的算法相比,它是端對端訓練的。(2)它自然地處理任意長度的序列,不涉及字符分割或水平尺度歸一化。(3)它不僅限于任何預定義的詞匯,并且在無詞典和基于詞典的場景文本識別任務中都取得了顯著的表現(xiàn)。(4)它產(chǎn)生了一個有效而小得多的模型,這對于現(xiàn)實世界的應用場景更為實用。在包括IIIT-5K,Street View Text和ICDAR數(shù)據(jù)集在內(nèi)的標準基準數(shù)據(jù)集上的實驗證明了提出的算法比現(xiàn)有技術的更有優(yōu)勢。此外,提出的算法在基于圖像的音樂得分識別任務中表現(xiàn)良好,這顯然證實了它的泛化性。
1. 引言
最近,社區(qū)已經(jīng)看到神經(jīng)網(wǎng)絡的強大復興,這主要受到深度神經(jīng)網(wǎng)絡模型,特別是深度卷積神經(jīng)網(wǎng)絡(DCNN)在各種視覺任務中的巨大成功的推動。然而,最近大多數(shù)與深度神經(jīng)網(wǎng)絡相關的工作主要致力于檢測或分類對象類別[12,25]。在本文中,我們關注計算機視覺中的一個經(jīng)典問題:基于圖像的序列識別。在現(xiàn)實世界中,穩(wěn)定的視覺對象,如場景文字,手寫字符和樂譜,往往以序列的形式出現(xiàn),而不是孤立地出現(xiàn)。與一般的對象識別不同,識別這樣的類序列對象通常需要系統(tǒng)預測一系列對象標簽,而不是單個標簽。因此,可以自然地將這樣的對象的識別作為序列識別問題。類序列對象的另一個獨特之處在于它們的長度可能會有很大變化。例如,英文單詞可以由2個字符組成,如“OK”,或由15個字符組成,如“congratulations”。因此,最流行的深度模型像DCNN[25,26]不能直接應用于序列預測,因為DCNN模型通常對具有固定維度的輸入和輸出進行操作,因此不能產(chǎn)生可變長度的標簽序列。
已經(jīng)針對特定的類似序列的對象(例如場景文本)進行了一些嘗試來解決該問題。例如,[35,8]中的算法首先檢測單個字符,然后用DCNN模型識別這些檢測到的字符,并使用標注的字符圖像進行訓練。這些方法通常需要訓練強字符檢測器,以便從原始單詞圖像中準確地檢測和裁剪每個字符。一些其他方法(如[22])將場景文本識別視為圖像分類問題,并為每個英文單詞(總共9萬個詞)分配一個類標簽。結果是一個大的訓練模型中有很多類,這很難泛化到其它類型的類序列對象,如中文文本,音樂配樂等,因為這種序列的基本組合數(shù)目可能大于100萬。總之,目前基于DCNN的系統(tǒng)不能直接用于基于圖像的序列識別。
循環(huán)神經(jīng)網(wǎng)絡(RNN)模型是深度神經(jīng)網(wǎng)絡家族中的另一個重要分支,主要是設計來處理序列。RNN的優(yōu)點之一是在訓練和測試中不需要序列目標圖像中每個元素的位置。然而,將輸入目標圖像轉(zhuǎn)換成圖像特征序列的預處理步驟通常是必需的。例如,Graves等[16]從手寫文本中提取一系列幾何或圖像特征,而Su和Lu[33]將字符圖像轉(zhuǎn)換為序列HOG特征。預處理步驟獨立于流程中的后續(xù)組件,因此基于RNN的現(xiàn)有系統(tǒng)不能以端到端的方式進行訓練和優(yōu)化。
一些不是基于神經(jīng)網(wǎng)絡的傳統(tǒng)場景文本識別方法也為這一領域帶來了有見地的想法和新穎的表現(xiàn)。例如,Almaza`n等人[5]和Rodriguez-Serrano等人[30]提出將單詞圖像和文本字符串嵌入到公共向量子空間中,并將詞識別轉(zhuǎn)換為檢索問題。Yao等人[36]和Gordo等人[14]使用中層特征進行場景文本識別。雖然在標準基準數(shù)據(jù)集上取得了有效的性能,但是前面的基于神經(jīng)網(wǎng)絡的算法[8,22]以及本文提出的方法通常都優(yōu)于這些方法。
本文的主要貢獻是一種新穎的神經(jīng)網(wǎng)絡模型,其網(wǎng)絡架構設計專門用于識別圖像中的類序列對象。所提出的神經(jīng)網(wǎng)絡模型被稱為卷積循環(huán)神經(jīng)網(wǎng)絡(CRNN),因為它是DCNN和RNN的組合。對于類序列對象,CRNN與傳統(tǒng)神經(jīng)網(wǎng)絡模型相比具有一些獨特的優(yōu)點:1)可以直接從序列標簽(例如單詞)學習,不需要詳細的標注(例如字符);2)直接從圖像數(shù)據(jù)學習信息表示時具有與DCNN相同的性質(zhì),既不需要手工特征也不需要預處理步驟,包括二值化/分割,組件定位等;3)具有與RNN相同的性質(zhì),能夠產(chǎn)生一系列標簽;4)對類序列對象的長度無約束,只需要在訓練階段和測試階段對高度進行歸一化;5)與現(xiàn)有技術相比,它在場景文本(字識別)上獲得更好或更具競爭力的表現(xiàn)[23,8]。6)它比標準DCNN模型包含的參數(shù)要少得多,占用更少的存儲空間。
2. 提出的網(wǎng)絡架構
如圖1所示,CRNN的網(wǎng)絡架構由三部分組成,包括卷積層,循環(huán)層和轉(zhuǎn)錄層,從底向上。
圖1。網(wǎng)絡架構。架構包括三部分:1) 卷積層,從輸入圖像中提取特征序列;2) 循環(huán)層,預測每一幀的標簽分布;3) 轉(zhuǎn)錄層,將每一幀的預測變?yōu)樽罱K的標簽序列。
在CRNN的底部,卷積層自動從每個輸入圖像中提取特征序列。在卷積網(wǎng)絡之上,構建了一個循環(huán)網(wǎng)絡,用于對卷積層輸出的特征序列的每一幀進行預測。采用CRNN頂部的轉(zhuǎn)錄層將循環(huán)層的每幀預測轉(zhuǎn)化為標簽序列。雖然CRNN由不同類型的網(wǎng)絡架構(如CNN和RNN)組成,但可以通過一個損失函數(shù)進行聯(lián)合訓練。
2.1. 特征序列提取
在CRNN模型中,通過采用標準CNN模型(去除全連接層)中的卷積層和最大池化層來構造卷積層的組件。這樣的組件用于從輸入圖像中提取序列特征表示。在進入網(wǎng)絡之前,所有的圖像需要縮放到相同的高度。然后從卷積層組件產(chǎn)生的特征圖中提取特征向量序列,這些特征向量序列作為循環(huán)層的輸入。具體地,特征序列的每一個特征向量在特征圖上按列從左到右生成。這意味著第i個特征向量是所有特征圖第i列的連接。在我們的設置中每列的寬度固定為單個像素。
由于卷積層,最大池化層和元素激活函數(shù)在局部區(qū)域上執(zhí)行,因此它們是平移不變的。因此,特征圖的每列對應于原始圖像的一個矩形區(qū)域(稱為感受野),并且這些矩形區(qū)域與特征圖上從左到右的相應列具有相同的順序。如圖2所示,特征序列中的每個向量關聯(lián)一個感受野,并且可以被認為是該區(qū)域的圖像描述符。
圖2。感受野。提取的特征序列中的每一個向量關聯(lián)輸入圖像的一個感受野,可認為是該區(qū)域的特征向量。
2.2. 序列標注
一個深度雙向循環(huán)神經(jīng)網(wǎng)絡是建立在卷積層的頂部,作為循環(huán)層。循環(huán)層預測特征序列$x = x_1,...,x_T$中每一幀$x_t$的標簽分布$y_t$。循環(huán)層的優(yōu)點是三重的。首先,RNN具有很強的捕獲序列內(nèi)上下文信息的能力。對于基于圖像的序列識別使用上下文提示比獨立處理每個符號更穩(wěn)定且更有幫助。以場景文本識別為例,寬字符可能需要一些連續(xù)的幀來完全描述(參見圖2)。此外,一些模糊的字符在觀察其上下文時更容易區(qū)分,例如,通過對比字符高度更容易識別“il”而不是分別識別它們中的每一個。其次,RNN可以將誤差差值反向傳播到其輸入,即卷積層,從而允許我們在統(tǒng)一的網(wǎng)絡中共同訓練循環(huán)層和卷積層。第三,RNN能夠從頭到尾對任意長度的序列進行操作。
傳統(tǒng)的RNN單元在其輸入和輸出層之間具有自連接的隱藏層。每次接收到序列中的幀$x_t$時,它將使用非線性函數(shù)來更新其內(nèi)部狀態(tài)$h_t$,該非線性函數(shù)同時接收當前輸入$x_t$和過去狀態(tài)$h_{t?1}$作為其輸入:$h_t = g(x_t, h_{t?1})$。那么預測$y_t$是基于$h_t$的。以這種方式,過去的上下文{$\lbrace x_{t\prime} \rbrace _{t \prime < t}$被捕獲并用于預測。然而,傳統(tǒng)的RNN單元有梯度消失的問題[7],這限制了其可以存儲的上下文范圍,并給訓練過程增加了負擔。長短時記憶[18,11](LSTM)是一種專門設計用于解決這個問題的RNN單元。LSTM(圖3所示)由一個存儲單元和三個多重門組成,即輸入,輸出和遺忘門。在概念上,存儲單元存儲過去的上下文,并且輸入和輸出門允許單元長時間地存儲上下文。同時,單元中的存儲可以被遺忘門清除。LSTM的特殊設計允許它捕獲長距離依賴,這經(jīng)常發(fā)生在基于圖像的序列中。
圖3。(a) 基本的LSTM單元的結構。LSTM包括單元模塊和三個門,即輸入門,輸出門和遺忘門。(b)我們論文中使用的深度雙向LSTM結構。合并前向(從左到右)和后向(從右到左)LSTM的結果到雙向LSTM中。在深度雙向LSTM中堆疊多個雙向LSTM結果。
LSTM是定向的,它只使用過去的上下文。然而,在基于圖像的序列中,兩個方向的上下文是相互有用且互補的。因此,我們遵循[17],將兩個LSTM,一個向前和一個向后組合到一個雙向LSTM中。此外,可以堆疊多個雙向LSTM,得到如圖3.b所示的深雙向LSTM。深層結構允許比淺層抽象更高層次的抽象,并且在語音識別任務中取得了顯著的性能改進[17]。
在循環(huán)層中,誤差在圖3.b所示箭頭的相反方向傳播,即反向傳播時間(BPTT)。在循環(huán)層的底部,傳播差異的序列被連接成映射,將特征映射轉(zhuǎn)換為特征序列的操作進行反轉(zhuǎn)并反饋到卷積層。實際上,我們創(chuàng)建一個稱為“Map-to-Sequence”的自定義網(wǎng)絡層,作為卷積層和循環(huán)層之間的橋梁。
2.3. 轉(zhuǎn)錄
轉(zhuǎn)錄是將RNN所做的每幀預測轉(zhuǎn)換成標簽序列的過程。數(shù)學上,轉(zhuǎn)錄是根據(jù)每幀預測找到具有最高概率的標簽序列。在實踐中,存在兩種轉(zhuǎn)錄模式,即無詞典轉(zhuǎn)錄和基于詞典的轉(zhuǎn)錄。詞典是一組標簽序列,預測受拼寫檢查字典約束。在無詞典模式中,預測時沒有任何詞典。在基于詞典的模式中,通過選擇具有最高概率的標簽序列進行預測。
2.3.1 標簽序列的概率
我們采用Graves等人[15]提出的聯(lián)接時間分類(CTC)層中定義的條件概率。按照每幀預測$y=y_1,...,y_T$對標簽序列$l$定義概率,并忽略$l$中每個標簽所在的位置。因此,當我們使用這種概率的負對數(shù)似然作為訓練網(wǎng)絡的目標函數(shù)時,我們只需要圖像及其相應的標簽序列,避免了標注單個字符位置的勞動。
條件概率的公式簡要描述如下:輸入是序列$y = y_1,...,y_T$,其中$T$是序列長度。這里,每個$y_t \in\Re^{|{\cal L}'|}$是在集合${\cal L}' = {\cal L} \cup$上的概率分布,其中${\cal L}$包含了任務中的所有標簽(例如,所有英文字符),以及由-
表示的“空白”標簽。序列到序列的映射函數(shù)${\cal B}$定義在序列$\boldsymbol{\pi}\in{\cal L}'^{T}$上,其中$T$是長度。${\cal B}$將$\boldsymbol{\pi}$映射到$\mathbf{l}$上,首先刪除重復的標簽,然后刪除blank
。例如,${\cal B}$將“--hh-e-l-ll-oo--”(-
表示blank
)映射到“hello”。然后,條件概率被定義為由${\cal B}$映射到$\mathbf{l}$上的所有$\boldsymbol{\pi}$的概率之和:
$$
\begin{equation}
p(\mathbf{l}|\mathbf{y})=\sum_{\boldsymbol{\pi}:{\cal B}(\boldsymbol{\pi})=\mathbf{l}}p(\boldsymbol{\pi}|\mathbf{y}),\tag{1}
\end{equation}
$$
$\boldsymbol{\pi}$的概率定義為$p(\boldsymbol{\pi}|\mathbf{y})=\prod_{t=1}{T}y_{\pi_{t}}{t}$,$y_{\pi_{t}}^{t}$是時刻$t$時有標簽$\pi_{t}$的概率。由于存在指數(shù)級數(shù)量的求和項,直接計算方程1在計算上是不可行的。然而,使用[15]中描述的前向算法可以有效計算方程1。
2.3.2 無字典轉(zhuǎn)錄
在這種模式下,將具有方程1中定義的最高概率的序列$\mathbf{l}{*}$作為預測。由于不存在用于精確找到解的可行方法,我們采用[15]中的策略。序列$\mathbf{l}{*}$通過$\mathbf{l}^{*}\approx{\cal B}(\arg\max_{\boldsymbol{\pi}}p(\boldsymbol{\pi}|\mathbf{y}))$近似發(fā)現(xiàn),即在每個時間戳$t$采用最大概率的標簽$\pi_{t}$,并將結果序列映射到$\mathbf{l}^{*}$。
2.3.3 基于詞典的轉(zhuǎn)錄
在基于字典的模式中,每個測試采樣與詞典${\cal D}$相關聯(lián)。基本上,通過選擇詞典中具有方程1中定義的最高條件概率的序列來識別標簽序列,即$\mathbf{l}^{*}=\arg\max_{\mathbf{l}\in{\cal D}}p(\mathbf{l}|\mathbf{y})$。然而,對于大型詞典,例如5萬個詞的Hunspell拼寫檢查詞典[1],對詞典進行詳盡的搜索是非常耗時的,即對詞典中的所有序列計算方程1,并選擇概率最高的一個。為了解決這個問題,我們觀察到,2.3.2中描述的通過無詞典轉(zhuǎn)錄預測的標簽序列通常在編輯距離度量下接近于實際結果。這表示我們可以將搜索限制在最近鄰候選目標${\cal N}_{\delta}(\mathbf{l}')$,其中$\delta$是最大編輯距離,$\mathbf{l}'$是在無詞典模式下從$\mathbf{y}$轉(zhuǎn)錄的序列:
$$
\begin{equation}
\mathbf{l}^{*}=\arg\max_{\mathbf{l}\in{\cal N}_{\delta}(\mathbf{l}')}p(\mathbf{l}|\mathbf{y}).\tag{2}
\end{equation}
$$
可以使用BK樹數(shù)據(jù)結構[9]有效地找到候選目標${\cal N}_{\delta}(\mathbf{l}')$,這是一種專門適用于離散度量空間的度量樹。BK樹的搜索時間復雜度為$O(\log|{\cal D}|)$,其中$|{\cal D}|$是詞典大小。因此,這個方案很容易擴展到非常大的詞典。在我們的方法中,一個詞典離線構造一個BK樹。然后,我們使用樹執(zhí)行快速在線搜索,通過查找具有小于或等于$\delta$編輯距離來查詢序列。
2.4. 網(wǎng)絡訓練
${\cal X}= \lbrace I_i,\mathbf{l}_i \rbrace _i $表示訓練集,$I_{i}$是訓練圖像,$\mathbf{l}_{i}$是真實的標簽序列。目標是最小化真實條件概率的負對數(shù)似然:
$$
\begin{equation}
{\cal O}=-\sum_{I_{i},\mathbf{l}_{i}\in{\cal X}}\log p(\mathbf{l}_{i}|\mathbf{y}_{i}),\tag{3}
\end{equation}
$$
$\mathbf{y}_{i}$是循環(huán)層和卷積層從$I_{i}$生成的序列。目標函數(shù)直接從圖像和它的真實標簽序列計算代價值。因此,網(wǎng)絡可以在成對的圖像和序列上進行端對端訓練,去除了在訓練圖像中手動標記所有單獨組件的過程。
網(wǎng)絡使用隨機梯度下降(SGD)進行訓練。梯度由反向傳播算法計算。特別地,在轉(zhuǎn)錄層中,如[15]所述,誤差使用前向算法進行反向傳播。在循環(huán)層中,應用隨時間反向傳播(BPTT)來計算誤差。
為了優(yōu)化,我們使用ADADELTA[37]自動計算每維的學習率。與傳統(tǒng)的動量[31]方法相比,ADADELTA不需要手動設置學習率。更重要的是,我們發(fā)現(xiàn)使用ADADELTA的優(yōu)化收斂速度比動量方法快。
3. 實驗
為了評估提出的CRNN模型的有效性,我們在場景文本識別和樂譜識別的標準基準數(shù)據(jù)集上進行了實驗,這些都是具有挑戰(zhàn)性的視覺任務。數(shù)據(jù)集和訓練測試的設置見3.1小節(jié),場景文本圖像中CRNN的詳細設置見3.2小節(jié),綜合比較的結果在3.3小節(jié)報告。為了進一步證明CRNN的泛化性,在3.4小節(jié)我們在樂譜識別任務上驗證了提出的算法。
3.1. 數(shù)據(jù)集
對于場景文本識別的所有實驗,我們使用Jaderberg等人[20]發(fā)布的合成數(shù)據(jù)集(Synth)作為訓練數(shù)據(jù)。數(shù)據(jù)集包含8百萬訓練圖像及其對應的實際單詞。這樣的圖像由合成文本引擎生成并且是非常現(xiàn)實的。我們的網(wǎng)絡在合成數(shù)據(jù)上進行了一次訓練,并在所有其它現(xiàn)實世界的測試數(shù)據(jù)集上進行了測試,而沒有在其訓練數(shù)據(jù)上進行任何微調(diào)。即使CRNN模型是在純合成文本數(shù)據(jù)上訓練,但它在標準文本識別基準數(shù)據(jù)集的真實圖像上工作良好。
有四個流行的基準數(shù)據(jù)集用于場景文本識別的性能評估,即ICDAR 2003(IC03),ICDAR 2013(IC13),IIIT 5k-word(IIIT5k)和Street View Text (SVT)。
IC03[27]測試數(shù)據(jù)集包含251個具有標記文本邊界框的場景圖像。王等人[34],我們忽略包含非字母數(shù)字字符或少于三個字符的圖像,并獲得具有860個裁剪的文本圖像的測試集。每張測試圖像與由Wang等人[34]定義的50詞的詞典相關聯(lián)。通過組合所有的每張圖像詞匯構建完整的詞典。此外,我們使用由Hunspell拼寫檢查字典[1]中的單詞組成的5萬個詞的詞典。
IC13[24]測試數(shù)據(jù)集繼承了IC03中的大部分數(shù)據(jù)。它包含1015個實際的裁剪單詞圖像。
IIIT5k[28]包含從互聯(lián)網(wǎng)收集的3000張裁剪的詞測試圖像。每張圖像關聯(lián)一個50詞的詞典和一個1000詞的詞典。
SVT[34]測試數(shù)據(jù)集由從Google街景視圖收集的249張街景圖像組成。從它們中裁剪出了647張詞圖像。每張單詞圖像都有一個由Wang等人[34]定義的50個詞的詞典。
3.2. 實現(xiàn)細節(jié)
在實驗中我們使用的網(wǎng)絡配置總結在表1中。卷積層的架構是基于VGG-VeryDeep的架構[32]。為了使其適用于識別英文文本,對其進行了調(diào)整。在第3和第4個最大池化層中,我們采用1×2大小的矩形池化窗口而不是傳統(tǒng)的平方形。這種調(diào)整產(chǎn)生寬度較大的特征圖,因此具有更長的特征序列。例如,包含10個字符的圖像通常為大小為100×32,可以從其生成25幀的特征序列。這個長度超過了大多數(shù)英文單詞的長度。最重要的是,矩形池窗口產(chǎn)生矩形感受野(如圖2所示),這有助于識別一些具有窄形狀的字符,例如i
和l
。
表1。網(wǎng)絡配置總結。第一行是頂層。k
,s
,p
分別表示核大小,步長和填充大小。
網(wǎng)絡不僅有深度卷積層,而且還有循環(huán)層。眾所周知兩者都難以訓練。我們發(fā)現(xiàn)批歸一化[19]技術對于訓練這種深度網(wǎng)絡非常有用。分別在第5和第6卷積層之后插入兩個批歸一化層。使用批歸一化層訓練過程大大加快。
我們在Torch7[10]框架內(nèi)實現(xiàn)了網(wǎng)絡,使用定制實現(xiàn)的LSTM單元(Torch7/CUDA),轉(zhuǎn)錄層(C++)和BK樹數(shù)據(jù)結構(C++)。實驗在具有2.50 GHz Intel(R)Xeon E5-2609 CPU,64GB RAM和NVIDIA(R)Tesla(TM) K40 GPU的工作站上進行。網(wǎng)絡用ADADELTA訓練,將參數(shù)ρ設置為0.9。在訓練期間,所有圖像都被縮放為100×32,以加快訓練過程。訓練過程大約需要50個小時才能達到收斂。測試圖像縮放的高度為32。寬度與高度成比例地縮放,但至少為100像素。平均測試時間為0.16s/樣本,在IC03上測得的,沒有詞典。近似詞典搜索應用于IC03的50k詞典,參數(shù)δ設置為3。測試每個樣本平均花費0.53s。
3.3. 比較評估
提出的CRNN模型在上述四個公共數(shù)據(jù)集上獲得的所有識別精度以及最近的最新技術,包括基于深度模型[23,22,21]的方法如表2所示。
表2。四個數(shù)據(jù)集上識別準確率(%)。在第二行,“50”,“1k”,“50k”和“Full”表示使用的字典,“None”表示識別沒有字典。*[22]嚴格意義上講不是無字典的,因為它的輸出限制在90K的字典。
在有約束詞典的情況中,我們的方法始終優(yōu)于大多數(shù)最新的方法,并且平均打敗了[22]中提出的最佳文本閱讀器。具體來說,與[22]相比,我們在IIIT5k和SVT上獲得了卓越的性能,僅在IC03上通過“Full”詞典實現(xiàn)了較低性能。請注意,[22]中的模型是在特定字典上訓練的,即每個單詞都與一個類標簽相關聯(lián)。與[22]不同,CRNN不限于識別已知字典中的單詞,并且能夠處理隨機字符串(例如電話號碼),句子或其他諸如中文單詞的腳本。 因此,CRNN的結果在所有測試數(shù)據(jù)集上都具有競爭力。
在無約束詞典的情況下,我們的方法在SVT上仍取得了最佳性能,但在IC03和IC13上仍然落后于一些方法[8,22]。注意,表2的“none”列中的空白表示這種方法不能應用于沒有詞典的識別,或者在無約束的情況下不能報告識別精度。我們的方法只使用具有單詞級標簽的合成文本作為訓練數(shù)據(jù),與PhotoOCR[8]非常不同,后者使用790萬個具有字符級標注的真實單詞圖像進行訓練。[22]中報告的最佳性能是在無約束詞典的情況下,受益于它的大字典,然而,它不是前面提到的嚴格的無約束詞典模型。在這個意義上,我們在無限制詞典表中的結果仍然是有前途的。
為了進一步了解與其它文本識別方法相比,所提出算法的優(yōu)點,我們提供了在一些特性上的綜合比較,這些特性名稱為E2E Train,Conv Ftrs,CharGT-Free,Unconstrained和Model Size,如表3所示。
表3。各種方法的對比。比較的屬性包括:1)端到端訓練(E2E Train);2)從圖像中直接學習卷積特征而不是使用手動設計的特征(Conv Ftrs);3)訓練期間不需要字符的實際邊界框(CharGT-Free);4)不受限于預定義字典(Unconstrained);5)模型大小(如果使用端到端模型),通過模型參數(shù)數(shù)量來衡量(Model Size, M表示百萬)。
E2E Train:這一列是為了顯示某種文字閱讀模型是否可以進行端到端的訓練,無需任何預處理或經(jīng)過幾個分離的步驟,這表明這種方法對于訓練是優(yōu)雅且干凈的。從表3可以看出,只有基于深度神經(jīng)網(wǎng)絡的模型,包括[22,21]以及CRNN具有這種性質(zhì)。
Conv Ftrs:這一列表明一個方法是否使用從訓練圖像直接學習到的卷積特征或手動特征作為基本的表示。
CharGT-Free:這一列用來表明字符級標注對于訓練模型是否是必要的。由于CRNN的輸入和輸出標簽是序列,因此字符級標注是不必要的。
Unconstrained:這一列用來表明訓練模型是否受限于一個特定的字典,是否不能處理字典之外的單詞或隨機序列。注意盡管最近通過標簽嵌入[5, 14]和增強學習[22]學習到的模型取得了非常有競爭力的性能,但它們受限于一個特定的字典。
Model Size:這一列報告了學習模型的存儲空間。在CRNN中,所有的層有權重共享連接,不需要全連接層。因此,CRNN的參數(shù)數(shù)量遠小于CNN變體[22,21]所得到的模型,導致與[22,21]相比,模型要小得多。我們的模型有830萬個參數(shù),只有33MB RAM(每個參數(shù)使用4字節(jié)單精度浮點數(shù)),因此可以輕松地移植到移動設備上。
表3詳細列出了不同方法之間的差異,充分展示了CRNN與其它競爭方法的優(yōu)勢。
另外,為了測試參數(shù)$\delta$的影響,我們在方程2中實驗了$\delta$的不同值。在圖4中,我們將識別精度繪制為$\delta$的函數(shù)。更大的$\delta$導致更多的候選目標,從而基于詞典的轉(zhuǎn)錄更準確。另一方面,由于更長的BK樹搜索時間,以及更大數(shù)量的候選序列用于測試,計算成本隨著$\delta$的增大而增加。實際上,我們選擇$\delta=3$作為精度和速度之間的折衷。
圖4。藍線圖:識別準確率作為$\delta$的函數(shù)。紅條:每個樣本的詞典搜索時間。在IC03數(shù)據(jù)集上使用50k詞典進行的測試。
3.4. 樂譜識別
樂譜通常由排列在五線譜的音符序列組成。識別圖像中的樂譜被稱為光學音樂識別(OMR)問題。以前的方法通常需要圖像預處理(主要是二值化),五線譜檢測和單個音符識別[29]。我們將OMR作為序列識別問題,直接用CRNN從圖像中預測音符的序列。為了簡單起見,我們僅認識音調(diào),忽略所有和弦,并假定所有樂譜具有相同的大調(diào)音階(C大調(diào))。
據(jù)我們所知,沒有用于評估音調(diào)識別算法的公共數(shù)據(jù)集。為了準備CRNN所需的訓練數(shù)據(jù),我們從[2]中收集了2650張圖像。每個圖像中有一個包含3到20個音符的樂譜片段。我們手動標記所有圖像的真實標簽序列(不是的音調(diào)序列)。收集到的圖像通過旋轉(zhuǎn),縮放和用噪聲損壞增強到了265k個訓練樣本,并用自然圖像替換它們的背景。對于測試,我們創(chuàng)建了三個數(shù)據(jù)集:1)“純凈的”,其中包含從[2]收集的260張圖像。實例如圖5.a所示;2)“合成的”,使用“純凈的”創(chuàng)建的,使用了上述的增強策略。它包含200個樣本,其中一些如圖5.b所示;3)“現(xiàn)實世界”,其中包含用手機相機拍攝的音樂書籍中的200張圖像。例子如圖5.c所示。
圖5。(a)從[2]中收集的干凈的樂譜圖像。(b)合成的樂譜圖像。(c)用手機相機拍攝的現(xiàn)實世界的樂譜圖像。
由于我們的訓練數(shù)據(jù)有限,因此我們使用簡化的CRNN配置來減少模型容量。與表1中指定的配置不同,我們移除了第4和第6卷積層,將2層雙向LSTM替換為2層單向LSTM。網(wǎng)絡對圖像對和對應的標簽序列進行訓練。使用兩種方法來評估識別性能:1)片段準確度,即正確識別的樂譜片段的百分比;2)平均編輯距離,即預測音調(diào)序列與真實值之間的平均編輯距離。為了比較,我們評估了兩種商用OMR引擎,即Capella Scan[3]和PhotoScore[4]。
表4總結了結果。CRNN大大優(yōu)于兩個商業(yè)系統(tǒng)。Capella Scan和PhotoScore系統(tǒng)在干凈的數(shù)據(jù)集上表現(xiàn)相當不錯,但是它們的性能在合成和現(xiàn)實世界數(shù)據(jù)方面顯著下降。主要原因是它們依賴于強大的二值化來檢五線譜和音符,但是由于光線不良,噪音破壞和雜亂的背景,二值化步驟經(jīng)常會在合成數(shù)據(jù)和現(xiàn)實數(shù)據(jù)上失敗。另一方面,CRNN使用對噪聲和扭曲具有魯棒性的卷積特征。此外,CRNN中的循環(huán)層可以利用樂譜中的上下文信息。每個音符不僅自身被識別,而且被附近的音符識別。因此,通過將一些音符與附近的音符進行比較可以識別它們,例如對比他們的垂直位置。
表4。在我們收集的數(shù)據(jù)集上,CRNN和兩個商業(yè)OMR系統(tǒng)對音調(diào)識別準確率的對比。通過片段準確率和平均編輯距離(“片段準確率/平均編輯距離”)來評估性能。
結果顯示了CRNN的泛化性,因為它可以很容易地應用于其它的基于圖像的序列識別問題,需要極少的領域知識。與Capella Scan和PhotoScore相比,我們的基于CRNN的系統(tǒng)仍然是初步的,并且缺少許多功能。但它為OMR提供了一個新的方案,并且在音高識別方面表現(xiàn)出有前途的能力。
4. 總結
在本文中,我們提出了一種新穎的神經(jīng)網(wǎng)絡架構,稱為卷積循環(huán)神經(jīng)網(wǎng)絡(CRNN),其集成了卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)的優(yōu)點。CRNN能夠獲取不同尺寸的輸入圖像,并產(chǎn)生不同長度的預測。它直接在粗粒度的標簽(例如單詞)上運行,在訓練階段不需要詳細標注每一個單獨的元素(例如字符)。此外,由于CRNN放棄了傳統(tǒng)神經(jīng)網(wǎng)絡中使用的全連接層,因此得到了更加緊湊和高效的模型。所有這些屬性使得CRNN成為一種基于圖像序列識別的極好方法。
在場景文本識別基準數(shù)據(jù)集上的實驗表明,與傳統(tǒng)方法以及其它基于CNN和RNN的算法相比,CRNN實現(xiàn)了優(yōu)異或極具競爭力的性能。這證實了所提出的算法的優(yōu)點。此外,CRNN在光學音樂識別(OMR)的基準數(shù)據(jù)集上顯著優(yōu)于其它的競爭者,這驗證了CRNN的泛化性。
實際上,CRNN是一個通用框架,因此可以應用于其它的涉及圖像序列預測的領域和問題(如漢字識別)。進一步加快CRNN,使其在現(xiàn)實應用中更加實用,是未來值得探索的另一個方向。
致謝
這項工作主要是由中國國家自然科學基金(NSFC)支持 (No. 61222308)。
References
[1] http://hunspell.sourceforge.net/. 4, 5
[2] https://musescore.com/sheetmusic. 7, 8
[3] http://www.capella.de/us/index.cfm/products/capella-scan/info-capella-scan/. 8
[4] http://www.sibelius.com/products/photoscore/ultimate.html. 8
[5] J. Almaza ?n, A. Gordo, A. Forne ?s, and E. Valveny. Word spotting and recognition with embedded attributes. PAMI, 36(12):2552–2566, 2014. 2, 6, 7
[6] O. Alsharif and J. Pineau. End-to-end text recognition with hybrid HMM maxout models. ICLR, 2014. 6, 7
[7] Y. Bengio, P. Y. Simard, and P. Frasconi. Learning long-term dependencies with gradient descent is difficult. NN, 5(2):157–166, 1994. 3
[8] A. Bissacco, M. Cummins, Y. Netzer, and H. Neven. Photoocr: Reading text in uncontrolled conditions. In ICCV, 2013. 1, 2, 6, 7
[9] W. A. Burkhard and R. M. Keller. Some approaches to best-match file searching. Commun. ACM, 16(4):230–236, 1973.4
[10] R. Collobert, K. Kavukcuoglu, and C. Farabet. Torch7: A matlab-like environment for machine learning. In BigLearn, NIPS Workshop, 2011. 6
[11] F. A. Gers, N. N. Schraudolph, and J. Schmidhuber. Learning precise timing with LSTM recurrent networks. JMLR, 3:115–143, 2002. 3
[12] R. B. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. 1, 3
[13] V. Goel, A. Mishra, K. Alahari, and C. V. Jawahar. Whole is greater than sum of parts: Recognizing scene text words. In ICDAR, 2013. 6, 7
[14] A. Gordo. Supervised mid-level features for word image representation. In CVPR, 2015. 2, 6, 7
[15] A. Graves, S. Ferna ?ndez, F. J. Gomez, and J. Schmidhuber. Connectionist temporal classification: labelling unseg- mented sequence data with recurrent neural networks. In ICML, 2006. 4, 5
[16] A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, and J. Schmidhuber. A novel connectionist system for unconstrained handwriting recognition. PAMI, 31(5):855–868, 2009. 2
[17] A. Graves, A. Mohamed, and G. E. Hinton. Speech recognition with deep recurrent neural networks. In ICASSP, 2013. 3
[18] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation, 9(8):1735–1780, 1997. 3
[19] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015. 6
[20] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman. Synthetic data and artificial neural networks for natural scene text recognition. NIPS Deep Learning Workshop, 2014. 5
[21] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman. Deep structured output learning for unconstrained text recognition. In ICLR, 2015. 6, 7
[22] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman. Reading text in the wild with convolutional neural networks. IJCV (Accepted), 2015. 1, 2, 3, 6, 7
[23] M. Jaderberg, A. Vedaldi, and A. Zisserman. Deep features for text spotting. In ECCV, 2014. 2, 6, 7
[24] D. Karatzas, F. Shafait, S. Uchida, M. Iwamura, L. G. i Bigorda, S. R. Mestre, J. Mas, D. F. Mota, J. Almaza ?n, and L. de las Heras. ICDAR 2013 robust reading competition. In ICDAR, 2013. 5
[25] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012. 1, 3
[26] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998. 1
[27] S. M. Lucas, A. Panaretos, L. Sosa, A. Tang, S. Wong, R. Young, K. Ashida, H. Nagai, M. Okamoto, H. Yamamoto, H. Miyao, J. Zhu, W. Ou, C. Wolf, J. Jolion, L. Todoran, M. Worring, and X. Lin. ICDAR 2003 robust reading competitions: entries, results, and future directions. IJDAR, 7(2-3):105–122, 2005. 5
[28] A. Mishra, K. Alahari, and C. V. Jawahar. Scene text recognition using higher order language priors. In BMVC, 2012. 5, 6, 7
[29] A. Rebelo, I. Fujinaga, F. Paszkiewicz, A. R. S. Marc ?al, C. Guedes, and J. S. Cardoso. Optical music recognition: state-of-the-art and open issues. IJMIR, 1(3):173–190, 2012. 7
[30] J. A. Rodr ??guez-Serrano, A. Gordo, and F. Perronnin. Label embedding: A frugal baseline for text recognition. IJCV, 113(3):193–207, 2015. 2, 6, 7
[31] D. E. Rumelhart, G. E. Hinton, and R. J. Williams. Neurocomputing: Foundations of research. chapter Learning Representations by Back-propagating Errors, pages 696–699. MIT Press, 1988. 5
[32] K. Simonyan and A. Zisserman. Very deep convolu- tional networks for large-scale image recognition. CoRR, abs/1409.1556, 2014. 5
[33] B. Su and S. Lu. Accurate scene text recognition based on recurrent neural network. In ACCV, 2014. 2, 6, 7
[34] K. Wang, B. Babenko, and S. Belongie. End-to-end scene text recognition. In ICCV, 2011. 5, 6, 7
[35] T. Wang, D. J. Wu, A. Coates, and A. Y. Ng. End-to-end text recognition with convolutional neural networks. In ICPR, 2012. 1, 6, 7
[36] C. Yao, X. Bai, B. Shi, and W. Liu. Strokelets: A learned multi-scale representation for scene text recognition. In CVPR, 2014. 2, 6, 7
[37] M. D. Zeiler. ADADELTA: anadaptive learning rate method. CoRR, abs/1212.5701, 2012. 5