(一)CRNN----2015CVPR論文解讀

An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

基於圖像序列識別的端到端可訓練神經網絡及其在場景文本識別中的應用

Abstract

基於圖像的序列識別一直是計算機視覺中長期存在的研究課題。在本文中,我們研究了場景文本識別的問題,這是基於圖像的序列識別中最重要和最具挑戰性的任務之一。提出了一種將特徵提取,序列建模和轉錄整合到統一框架中的新型神經網絡架構。與以前的場景文本識別系統相比,所提出的架構具有四個不同的特性:(1)與大多數現有的組件需要單獨訓練和協調的算法相比,它是端對端訓練的。(2)它自然地處理任意長度的序列,不涉及字符分割或水平尺度歸一化。(3)它不僅限於任何預定義的詞彙,並且在無詞典和基於詞典的場景文本識別任務中都取得了顯著的表現。(4)它產生了一個有效而小得多的模型,這對於現實世界的應用場景更爲實用。在包括IIIT-5K,Street View Text和ICDAR數據集在內的標準基準數據集上的實驗證明了提出的算法比現有技術的更有優勢。此外,提出的算法在基於圖像的音樂配樂識別任務中表現良好,這顯然證實了它的泛化性。

1. Introduction

最近,社區已經看到神經網絡的強大復興,這主要受到深度神經網絡模型,特別是深度卷積神經網絡(DCNN)在各種視覺任務中的巨大成功的推動。然而,最近大多數與深度神經網絡相關的工作主要致力於檢測或分類對象類別[12,25]。在本文中,我們關注計算機視覺中的一個經典問題:基於圖像的序列識別。在現實世界中,穩定的視覺對象,如場景文字,手寫字符和樂譜,往往以序列的形式出現,而不是孤立地出現。與一般的對象識別不同,識別這樣的類序列對象通常需要系統預測一系列對象標籤,而不是單個標籤。因此,可以自然地將這樣的對象的識別作爲序列識別問題。類序列對象的另一個獨特之處在於它們的長度可能會有很大變化。例如,英文單詞可以由2個字符組成,如“OK”,或由15個字符組成,如“congratulations”。因此,最流行的深度模型像DCNN[25,26]不能直接應用於序列預測,因爲DCNN模型通常對具有固定維度的輸入和輸出進行操作,因此不能產生可變長度的標籤序列。

已經針對特定的類似序列的對象(例如場景文本)進行了一些嘗試來解決該問題。例如,[35,8]中的算法首先檢測單個字符,然後用DCNN模型識別這些檢測到的字符,並使用標註的字符圖像進行訓練。這些方法通常需要訓練強字符檢測器,以便從原始單詞圖像中準確地檢測和裁剪每個字符。一些其他方法(如[22])將場景文本識別視爲圖像分類問題,併爲每個英文單詞(總共9萬個詞)分配一個類標籤。結果是一個大的訓練模型中有很多類,這很難泛化到其它類型的類序列對象,如中文文本,音樂配樂等,因爲這種序列的基本組合數目可能大於100萬。總之,目前基於DCNN的系統不能直接用於基於圖像的序列識別。

循環神經網絡(RNN)模型是深度神經網絡家族中的另一個重要分支,主要是設計來處理序列。RNN的優點之一是在訓練和測試中不需要序列目標圖像中每個元素的位置。然而,將輸入目標圖像轉換成圖像特徵序列的預處理步驟通常是必需的。例如,Graves等[16]從手寫文本中提取一系列幾何或圖像特徵,而Su和Lu[33]將字符圖像轉換爲序列HOG特徵。預處理步驟獨立於流程中的後續組件,因此基於RNN的現有系統不能以端到端的方式進行訓練和優化。

一些不是基於神經網絡的傳統場景文本識別方法也爲這一領域帶來了有見地的想法和新穎的表現。例如,Almaza`n等人[5]和Rodriguez-Serrano等人[30]提出將單詞圖像和文本字符串嵌入到公共向量子空間中,並將詞識別轉換爲檢索問題。Yao等人[36]和Gordo等人[14]使用中層特徵進行場景文本識別。雖然在標準基準數據集上取得了有效的性能,但是前面的基於神經網絡的算法[8,22]以及本文提出的方法通常都優於這些方法。

本文的主要貢獻是一種新穎的神經網絡模型,其網絡架構設計專門用於識別圖像中的類序列對象。所提出的神經網絡模型被稱爲卷積循環神經網絡(CRNN),因爲它是DCNN和RNN的組合。對於類序列對象,CRNN與傳統神經網絡模型相比具有一些獨特的優點:1)可以直接從序列標籤(例如單詞)學習,不需要詳細的標註(例如字符);2)直接從圖像數據學習信息表示時具有與DCNN相同的性質,既不需要手工特徵也不需要預處理步驟,包括二值化/分割,組件定位等;3)具有與RNN相同的性質,能夠產生一系列標籤;4)對類序列對象的長度無約束,只需要在訓練階段和測試階段對高度進行歸一化;5)與現有技術相比,它在場景文本(字識別)上獲得更好或更具競爭力的表現[23,8]。6)它比標準DCNN模型包含的參數要少得多,佔用更少的存儲空間。

2. 提出的網絡架構

如圖1所示,CRNN的網絡架構由三部分組成,包括卷積層,循環層和轉錄層,從底向上。
在這裏插入圖片描述
圖1。網絡架構。架構包括三部分:1) 卷積層,從輸入圖像中提取特徵序列;2) 循環層,預測每一幀的標籤分佈;3) 轉錄層,將每一幀的預測變爲最終的標籤序列。

在CRNN的底部,卷積層自動從每個輸入圖像中提取特徵序列。在卷積網絡之上,構建了一個循環網絡,用於對卷積層輸出的特徵序列的每一幀進行預測。採用CRNN頂部的轉錄層將循環層的每幀預測轉化爲標籤序列。雖然CRNN由不同類型的網絡架構(如CNN和RNN)組成,但可以通過一個損失函數進行聯合訓練。

2.1. 特徵序列提取

在CRNN模型中,通過採用標準CNN模型(去除全連接層)中的卷積層和最大池化層來構造卷積層的組件。這樣的組件用於從輸入圖像中提取序列特徵表示。在進入網絡之前,所有的圖像需要縮放到相同的高度。然後從卷積層組件產生的特徵圖中提取特徵向量序列,這些特徵向量序列作爲循環層的輸入。具體地,特徵序列的每一個特徵向量在特徵圖上按列從左到右生成。這意味着第i個特徵向量是所有特徵圖第i列的連接。在我們的設置中每列的寬度固定爲單個像素

由於卷積層,最大池化層和元素激活函數在局部區域上執行,因此它們是平移不變的。因此,特徵圖的每列對應於原始圖像的一個矩形區域(稱爲感受野),並且這些矩形區域與特徵圖上從左到右的相應列具有相同的順序。如圖2所示,特徵序列中的每個向量關聯一個感受野,並且可以被認爲是該區域的圖像描述符。
在這裏插入圖片描述
圖2.感受野。提取的特徵序列中的每一個向量關聯輸入圖像的一個感受野,可認爲是該區域的特徵向量。

魯棒的,豐富的和可訓練的深度卷積特徵已被廣泛應用於各種視覺識別任務[25,12]。一些以前的方法已經使用CNN來學習諸如場景文本之類的類序列對象的魯棒表示[22]。然而,這些方法通常通過CNN提取整個圖像的整體表示,然後收集局部深度特徵來識別類序列對象的每個分量。由於CNN要求將輸入圖像縮放到固定尺寸,以滿足其固定的輸入尺寸,因爲它們的長度變化很大,因此不適合類序列對象。在CRNN中,我們將深度特徵傳遞到序列表示中,以便對類序列對象的長度變化保持不變。

2.2. 序列標註

一個深度雙向循環神經網絡是建立在卷積層的頂部,作爲循環層。循環層預測特徵序列x=x1,...,xTx = x_1,...,x_T中每一幀xtx_t的標籤分佈yty_t。循環層的優點是三重的。首先,RNN具有很強的捕獲序列內上下文信息的能力。對於基於圖像的序列識別使用上下文提示比獨立處理每個符號更穩定且更有幫助。以場景文本識別爲例,寬字符可能需要一些連續的幀來完全描述(參見圖2)。此外,一些模糊的字符在觀察其上下文時更容易區分,例如,通過對比字符高度更容易識別“il”而不是分別識別它們中的每一個。其次,RNN可以將誤差差值反向傳播到其輸入,即卷積層,從而允許我們在統一的網絡中共同訓練循環層和卷積層。第三,RNN能夠從頭到尾對任意長度的序列進行操作。

傳統的RNN單元在其輸入和輸出層之間具有自連接的隱藏層。每次接收到序列中的幀xtx_t時,它將使用非線性函數來更新其內部狀態hth_t,該非線性函數同時接收當前輸入xtx_t和過去狀態ht1h_{t−1}作爲其輸入:ht=g(xt,ht1)h_t = g(x_t, h_{t−1})。那麼預測yty_t是基於hth_t的。以這種方式,過去的上下文{{xt}t<t\lbrace x_{t\prime} \rbrace _{t \prime < t}被捕獲並用於預測。然而,傳統的RNN單元有梯度消失的問題[7],這限制了其可以存儲的上下文範圍,並給訓練過程增加了負擔。長短時記憶[18,11](LSTM)是一種專門設計用於解決這個問題的RNN單元。LSTM(圖3所示)由一個存儲單元和三個多重門組成,即輸入,輸出和遺忘門。在概念上,存儲單元存儲過去的上下文,並且輸入和輸出門允許單元長時間地存儲上下文。同時,單元中的存儲可以被遺忘門清除。LSTM的特殊設計允許它捕獲長距離依賴,這經常發生在基於圖像的序列中

在這裏插入圖片描述
圖3.(a) 基本的LSTM單元的結構。LSTM包括單元模塊和三個門,即輸入門,輸出門和遺忘門。(b)我們論文中使用的深度雙向LSTM結構。合併前向(從左到右)和後向(從右到左)LSTM的結果到雙向LSTM中。在深度雙向LSTM中堆疊多個雙向LSTM結果

LSTM是定向的,它只使用過去的上下文。然而,在基於圖像的序列中,兩個方向的上下文是相互有用且互補的。因此,我們遵循[17],將兩個LSTM,一個向前和一個向後組合到一個雙向LSTM中。此外,可以堆疊多個雙向LSTM,得到如圖3.b所示的深雙向LSTM。深層結構允許比淺層抽象更高層次的抽象,並且在語音識別任務中取得了顯著的性能改進[17]。

在循環層中,誤差在圖3.b所示箭頭的相反方向傳播,即反向傳播時間(BPTT)。在循環層的底部,傳播差異的序列被連接成映射,將特徵映射轉換爲特徵序列的操作進行反轉並反饋到卷積層。實際上,我們創建一個稱爲“Map-to-Sequence”的自定義網絡層,作爲卷積層和循環層之間的橋樑。

2.3. 轉錄

轉錄是將RNN所做的每幀預測轉換成標籤序列的過程。數學上,轉錄是根據每幀預測找到具有最高概率的標籤序列。在實踐中,存在兩種轉錄模式,即無詞典轉錄和基於詞典的轉錄。詞典是一組標籤序列,預測受拼寫檢查字典約束。在無詞典模式中,預測時沒有任何詞典。在基於詞典的模式中,通過選擇具有最高概率的標籤序列進行預測。

2.3.1 標籤序列的概率

我們採用Graves等人[15]提出的聯接時間分類(CTC)層中定義的條件概率。按照每幀預測y=y1,...,yTy=y_1,...,y_T對標籤序列ll定義概率,並忽略ll中每個標籤所在的位置。因此,當我們使用這種概率的負對數似然作爲訓練網絡的目標函數時,我們只需要圖像及其相應的標籤序列,避免了標註單個字符位置的勞動。

條件概率的公式簡要描述如下:輸入是序列y=y1,...,yTy = y_1,...,y_T,其中TT是序列長度。這裏,每個KaTeX parse error: Undefined control sequence: \cal at position 15: y_t \in\Re^{|{\̲c̲a̲l̲ ̲L}'|}是在集合KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲L}' = {\cal L} …上的概率分佈,其中KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲L}包含了任務中的所有標籤(例如,所有英文字符),以及由-表示的“空白”標籤。序列到序列的映射函數KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲B}定義在序列KaTeX parse error: Undefined control sequence: \cal at position 21: …symbol{\pi}\in{\̲c̲a̲l̲ ̲L}'^{T}上,其中TT是長度。KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲B}π\boldsymbol{\pi}映射到l\mathbf{l}上,首先刪除重複的標籤,然後刪除blank。例如,KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲B}將“–hh-e-l-ll-oo–”(-表示blank)映射到“hello”。然後,條件概率被定義爲由KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲B}映射到l\mathbf{l}上的所有π\boldsymbol{\pi}的概率之和:

π\boldsymbol{\pi}的概率定義爲p(πy)=t=1Tyπttp(\boldsymbol{\pi}|\mathbf{y})=\prod_{t=1}{T}y_{\pi_{t}}{t}yπtty_{\pi_{t}}^{t}是時刻tt時有標籤πt\pi_{t}的概率。由於存在指數級數量的求和項,直接計算方程1在計算上是不可行的。然而,使用[15]中描述的前向算法可以有效計算方程1。

2.3.2 無字典轉錄

在這種模式下,將具有方程1中定義的最高概率的序列l\mathbf{l}{*}作爲預測。由於不存在用於精確找到解的可行方法,我們採用[15]中的策略。序列l\mathbf{l}{*}通過KaTeX parse error: Undefined control sequence: \cal at position 23: …{l}^{*}\approx{\̲c̲a̲l̲ ̲B}(\arg\max_{\b…近似發現,即在每個時間戳tt採用最大概率的標籤πt\pi_{t},並將結果序列映射到l\mathbf{l}^{*}

2.3.3 基於詞典的轉錄

在基於字典的模式中,每個測試採樣與詞典KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲D}相關聯。基本上,通過選擇詞典中具有方程1中定義的最高條件概率的序列來識別標籤序列,即KaTeX parse error: Undefined control sequence: \cal at position 40: …{\mathbf{l}\in{\̲c̲a̲l̲ ̲D}}p(\mathbf{l}…。然而,對於大型詞典,例如5萬個詞的Hunspell拼寫檢查詞典[1],對詞典進行詳盡的搜索是非常耗時的,即對詞典中的所有序列計算方程1,並選擇概率最高的一個。爲了解決這個問題,我們觀察到,2.3.2中描述的通過無詞典轉錄預測的標籤序列通常在編輯距離度量下接近於實際結果。這表示我們可以將搜索限制在最近鄰候選目標KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲N}_{\delta}(\ma…,其中δ\delta是最大編輯距離,l\mathbf{l}'是在無詞典模式下從y\mathbf{y}轉錄的序列:

可以使用BK樹數據結構[9]有效地找到候選目標KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲N}_{\delta}(\ma…,這是一種專門適用於離散度量空間的度量樹。BK樹的搜索時間複雜度爲KaTeX parse error: Undefined control sequence: \cal at position 9: O(\log|{\̲c̲a̲l̲ ̲D}|),其中KaTeX parse error: Undefined control sequence: \cal at position 3: |{\̲c̲a̲l̲ ̲D}|是詞典大小。因此,這個方案很容易擴展到非常大的詞典。在我們的方法中,一個詞典離線構造一個BK樹。然後,我們使用樹執行快速在線搜索,通過查找具有小於或等於δ\delta編輯距離來查詢序列。

2.4. 網絡訓練

網絡使用隨機梯度下降(SGD)進行訓練。梯度由反向傳播算法計算。特別地,在轉錄層中,如[15]所述,誤差使用前向算法進行反向傳播。在循環層中,應用隨時間反向傳播(BPTT)來計算誤差。

爲了優化,我們使用ADADELTA[37]自動計算每維的學習率。與傳統的動量[31]方法相比,ADADELTA不需要手動設置學習率。更重要的是,我們發現使用ADADELTA的優化收斂速度比動量方法快。

3. 實驗

爲了評估提出的CRNN模型的有效性,我們在場景文本識別和樂譜識別的標準基準數據集上進行了實驗,這些都是具有挑戰性的視覺任務。數據集和訓練測試的設置見3.1小節,場景文本圖像中CRNN的詳細設置見3.2小節,綜合比較的結果在3.3小節報告。爲了進一步證明CRNN的泛化性,在3.4小節我們在樂譜識別任務上驗證了提出的算法。

3.1. 數據集

對於場景文本識別的所有實驗,我們使用Jaderberg等人[20]發佈的合成數據集(Synth)作爲訓練數據。數據集包含8百萬訓練圖像及其對應的實際單詞。這樣的圖像由合成文本引擎生成並且是非常現實的。我們的網絡在合成數據上進行了一次訓練,並在所有其它現實世界的測試數據集上進行了測試,而沒有在其訓練數據上進行任何微調。即使CRNN模型是在純合成文本數據上訓練,但它在標準文本識別基準數據集的真實圖像上工作良好。
有四個流行的基準數據集用於場景文本識別的性能評估,即ICDAR 2003(IC03),ICDAR 2013(IC13),IIIT 5k-word(IIIT5k)和Street View Text (SVT)。

IC03[27]測試數據集包含251個具有標記文本邊界框的場景圖像。王等人[34],我們忽略包含非字母數字字符或少於三個字符的圖像,並獲得具有860個裁剪的文本圖像的測試集。每張測試圖像與由Wang等人[34]定義的50詞的詞典相關聯。通過組合所有的每張圖像詞彙構建完整的詞典。此外,我們使用由Hunspell拼寫檢查字典[1]中的單詞組成的5萬個詞的詞典。

IC13[24]測試數據集繼承了IC03中的大部分數據。它包含1015個實際的裁剪單詞圖像。
IIIT5k[28]包含從互聯網收集的3000張裁剪的詞測試圖像。每張圖像關聯一個50詞的詞典和一個1000詞的詞典。

SVT[34]測試數據集由從Google街景視圖收集的249張街景圖像組成。從它們中裁剪出了647張詞圖像。每張單詞圖像都有一個由Wang等人[34]定義的50個詞的詞典。

3.2. 實現細節

在實驗中我們使用的網絡配置總結在表1中。卷積層的架構是基於VGG-VeryDeep的架構[32]。爲了使其適用於識別英文文本,對其進行了調整。在第3和第4個最大池化層中,我們採用1×2大小的矩形池化窗口而不是傳統的平方形。這種調整產生寬度較大的特徵圖,因此具有更長的特徵序列。例如,包含10個字符的圖像通常爲大小爲100×32,可以從其生成25幀的特徵序列。這個長度超過了大多數英文單詞的長度。最重要的是,矩形池窗口產生矩形感受野(如圖2所示),這有助於識別一些具有窄形狀的字符,例如i和l。

表1。網絡配置總結。第一行是頂層。k,s,p分別表示核大小,步長和填充大小。
在這裏插入圖片描述
網絡不僅有深度卷積層,而且還有循環層。衆所周知兩者都難以訓練。我們發現批歸一化[19]技術對於訓練這種深度網絡非常有用。分別在第5和第6卷積層之後插入兩個批歸一化層。使用批歸一化層訓練過程大大加快。

我們在Torch7[10]框架內實現了網絡,使用定製實現的LSTM單元(Torch7/CUDA),轉錄層(C++)和BK樹數據結構(C++)。實驗在具有2.50 GHz Intel(R)Xeon E5-2609 CPU,64GB RAM和NVIDIA(R)Tesla™ K40 GPU的工作站上進行。網絡用ADADELTA訓練,將參數ρ設置爲0.9。在訓練期間,所有圖像都被縮放爲100×32,以加快訓練過程。訓練過程大約需要50個小時才能達到收斂。測試圖像縮放的高度爲32。寬度與高度成比例地縮放,但至少爲100像素。平均測試時間爲0.16s/樣本,在IC03上測得的,沒有詞典。近似詞典搜索應用於IC03的50k詞典,參數δ設置爲3。測試每個樣本平均花費0.53s。

3.3. 比較評估

提出的CRNN模型在上述四個公共數據集上獲得的所有識別精度以及最近的最新技術,包括基於深度模型[23,22,21]的方法如表2所示。

表2。四個數據集上識別準確率(%)。在第二行,“50”,“1k”,“50k”和“Full”表示使用的字典,“None”表示識別沒有字典。*[22]嚴格意義上講不是無字典的,因爲它的輸出限制在90K的字典。
在這裏插入圖片描述
在有約束詞典的情況中,我們的方法始終優於大多數最新的方法,並且平均打敗了[22]中提出的最佳文本閱讀器。具體來說,與[22]相比,我們在IIIT5k和SVT上獲得了卓越的性能,僅在IC03上通過“Full”詞典實現了較低性能。請注意,[22]中的模型是在特定字典上訓練的,即每個單詞都與一個類標籤相關聯。與[22]不同,CRNN不限於識別已知字典中的單詞,並且能夠處理隨機字符串(例如電話號碼),句子或其他諸如中文單詞的腳本。 因此,CRNN的結果在所有測試數據集上都具有競爭力。

在無約束詞典的情況下,我們的方法在SVT上仍取得了最佳性能,但在IC03和IC13上仍然落後於一些方法[8,22]。注意,表2的“none”列中的空白表示這種方法不能應用於沒有詞典的識別,或者在無約束的情況下不能報告識別精度。我們的方法只使用具有單詞級標籤的合成文本作爲訓練數據,與PhotoOCR[8]非常不同,後者使用790萬個具有字符級標註的真實單詞圖像進行訓練。[22]中報告的最佳性能是在無約束詞典的情況下,受益於它的大字典,然而,它不是前面提到的嚴格的無約束詞典模型。在這個意義上,我們在無限制詞典表中的結果仍然是有前途的。

爲了進一步瞭解與其它文本識別方法相比,所提出算法的優點,我們提供了在一些特性上的綜合比較,這些特性名稱爲E2E Train,Conv Ftrs,CharGT-Free,Unconstrained和Model Size,如表3所示。

表3。各種方法的對比。比較的屬性包括:1)端到端訓練(E2E Train);2)從圖像中直接學習卷積特徵而不是使用手動設計的特徵(Conv Ftrs);3)訓練期間不需要字符的實際邊界框(CharGT-Free);4)不受限於預定義字典(Unconstrained);5)模型大小(如果使用端到端模型),通過模型參數數量來衡量(Model Size, M表示百萬)。

在這裏插入圖片描述
E2E Train:這一列是爲了顯示某種文字閱讀模型是否可以進行端到端的訓練,無需任何預處理或經過幾個分離的步驟,這表明這種方法對於訓練是優雅且乾淨的。從表3可以看出,只有基於深度神經網絡的模型,包括[22,21]以及CRNN具有這種性質。
Conv Ftrs:這一列用來表明一個方法是否使用從訓練圖像直接學習到的卷積特徵或手動特徵作爲基本的表示。

CharGT-Free:這一列用來表明字符級標註對於訓練模型是否是必要的。由於CRNN的輸入和輸出標籤是序列,因此字符級標註是不必要的。

Unconstrained:這一列用來表明訓練模型是否受限於一個特定的字典,是否不能處理字典之外的單詞或隨機序列。注意儘管最近通過標籤嵌入[5, 14]和增強學習[22]學習到的模型取得了非常有競爭力的性能,但它們受限於一個特定的字典。

Model Size:這一列報告了學習模型的存儲空間。在CRNN中,所有的層有權重共享連接,不需要全連接層。因此,CRNN的參數數量遠小於CNN變體[22,21]所得到的模型,導致與[22,21]相比,模型要小得多。我們的模型有830萬個參數,只有33MB RAM(每個參數使用4字節單精度浮點數),因此可以輕鬆地移植到移動設備上。

表3詳細列出了不同方法之間的差異,充分展示了CRNN與其它競爭方法的優勢。
另外,爲了測試參數δ\delta的影響,我們在方程2中實驗了δ\delta的不同值。在圖4中,我們將識別精度繪製爲δ\delta的函數。更大的δ\delta導致更多的候選目標,從而基於詞典的轉錄更準確。另一方面,由於更長的BK樹搜索時間,以及更大數量的候選序列用於測試,計算成本隨着δ\delta的增大而增加。實際上,我們選擇δ=3\delta=3作爲精度和速度之間的折衷。

在這裏插入圖片描述
圖4。藍線圖:識別準確率作爲δ\delta的函數。紅條:每個樣本的詞典搜索時間。在IC03數據集上使用50k詞典進行的測試。

3.4. 樂譜識別

樂譜通常由排列在五線譜的音符序列組成。識別圖像中的樂譜被稱爲光學音樂識別(OMR)問題。以前的方法通常需要圖像預處理(主要是二值化),五線譜檢測和單個音符識別[29]。我們將OMR作爲序列識別問題,直接用CRNN從圖像中預測音符的序列。爲了簡單起見,我們僅認識音調,忽略所有和絃,並假定所有樂譜具有相同的大調音階(C大調)。

據我們所知,沒有用於評估音調識別算法的公共數據集。爲了準備CRNN所需的訓練數據,我們從[2]中收集了2650張圖像。每個圖像中有一個包含3到20個音符的樂譜片段。我們手動標記所有圖像的真實標籤序列(不是的音調序列)。收集到的圖像通過旋轉,縮放和用噪聲損壞增強到了265k個訓練樣本,並用自然圖像替換它們的背景。對於測試,我們創建了三個數據集:1)“純淨的”,其中包含從[2]收集的260張圖像。實例如圖5.a所示;2)“合成的”,使用“純淨的”創建的,使用了上述的增強策略。它包含200個樣本,其中一些如圖5.b所示;3)“現實世界”,其中包含用手機相機拍攝的音樂書籍中的200張圖像。例子如圖5.c所示。

在這裏插入圖片描述
圖5。(a)從[2]中收集的乾淨的樂譜圖像。(b)合成的樂譜圖像。©用手機相機拍攝的現實世界的樂譜圖像。

由於我們的訓練數據有限,因此我們使用簡化的CRNN配置來減少模型容量。與表1中指定的配置不同,我們移除了第4和第6卷積層,將2層雙向LSTM替換爲2層單向LSTM。網絡對圖像對和對應的標籤序列進行訓練。使用兩種方法來評估識別性能:1)片段準確度,即正確識別的樂譜片段的百分比;2)平均編輯距離,即預測音調序列與真實值之間的平均編輯距離。爲了比較,我們評估了兩種商用OMR引擎,即Capella Scan[3]和PhotoScore[4]。

表4總結了結果。CRNN大大優於兩個商業系統。Capella Scan和PhotoScore系統在乾淨的數據集上表現相當不錯,但是它們的性能在合成和現實世界數據方面顯著下降。主要原因是它們依賴於強大的二值化來檢五線譜和音符,但是由於光線不良,噪音破壞和雜亂的背景,二值化步驟經常會在合成數據和現實數據上失敗。另一方面,CRNN使用對噪聲和扭曲具有魯棒性的卷積特徵。此外,CRNN中的循環層可以利用樂譜中的上下文信息。每個音符不僅自身被識別,而且被附近的音符識別。因此,通過將一些音符與附近的音符進行比較可以識別它們,例如對比他們的垂直位置。

在這裏插入圖片描述

表4。在我們收集的數據集上,CRNN和兩個商業OMR系統對音調識別準確率的對比。通過片段準確率和平均編輯距離(“片段準確率/平均編輯距離”)來評估性能。

結果顯示了CRNN的泛化性,因爲它可以很容易地應用於其它的基於圖像的序列識別問題,需要極少的領域知識。與Capella Scan和PhotoScore相比,我們的基於CRNN的系統仍然是初步的,並且缺少許多功能。但它爲OMR提供了一個新的方案,並且在音高識別方面表現出有前途的能力。

4. 總結

在本文中,我們提出了一種新穎的神經網絡架構,稱爲卷積循環神經網絡(CRNN),其集成了卷積神經網絡(CNN)和循環神經網絡(RNN)的優點。CRNN能夠獲取不同尺寸的輸入圖像,併產生不同長度的預測。它直接在粗粒度的標籤(例如單詞)上運行,在訓練階段不需要詳細標註每一個單獨的元素(例如字符)。此外,由於CRNN放棄了傳統神經網絡中使用的全連接層,因此得到了更加緊湊和高效的模型。所有這些屬性使得CRNN成爲一種基於圖像序列識別的極好方法。

在場景文本識別基準數據集上的實驗表明,與傳統方法以及其它基於CNN和RNN的算法相比,CRNN實現了優異或極具競爭力的性能。這證實了所提出的算法的優點。此外,CRNN在光學音樂識別(OMR)的基準數據集上顯著優於其它的競爭者,這驗證了CRNN的泛化性。

實際上,CRNN是一個通用框架,因此可以應用於其它的涉及圖像序列預測的領域和問題(如漢字識別)。進一步加快CRNN,使其在現實應用中更加實用,是未來值得探索的另一個方向。

致謝
這項工作主要是由中國國家自然科學基金(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. Fernández, F. J. Gomez, and J. Schmidhuber. Connectionist temporal classification: labelling unsegmented 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 recog- nition. 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. Proceed- ings 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章