基于圖像序列識別的端到端可訓練神經網絡及其在場景文本識別中的應用(An End-to-End Trainable Neural Network for Image-based Sequence ...

譯者按:

場景文字檢測這一問題在15~20年前就出現了相關的研究工作,它與傳統的文本文字檢測的重要區別是需要將照片或視頻中的文字識別出來。

其主要分為兩個步驟:

對照片中存在文字的區域進行定位(Text Detection),即找到單詞或文本行(word/linelevel)的邊界框(bounding box);

然后對定位后的文字進行識別(Text Recognition)。

將這兩個步驟合在一起就能得到文字的端到端檢測(End-to-end Recognition)。通常來說,實現文字端到端的檢測是最重要的任務,也是我們的終極目標。

傳統的文字檢測方法大多是基于字符的,即先對字符進行檢測,然后將字符進行關聯組合,可以將其視為Bottom-Up的方法。

但是對于人來說,即使某些場景中的字符非常模糊無法看清,但是依然可以根據周圍的場景來確定這些是字符。所以我的觀點是對全局信息(global information)的學習會對這個任務提供很大的幫助。

場景文字檢測的發展歷程與絕大多數的計算機視覺任務相似,首先是基于傳統的手工設計特征(Handcraft Features),包括基于連通區域的方法,以及基于HOG的檢測框描述方法。在2014年左右出現了基于深度學習的方法。在中文的OCR領域,經典作品不多,這篇論文是華科白翔教授的經典作品,白翔在自然場景文本檢測與識別領域成果頗豐。

整體流程:

CNN+biLSTM+CTC

優勢:

(1)???可以端到端訓練

(2)???不需要進行字符分割和水平縮放操作,只需要垂直方向縮放到固定長度既可,同時可以識別任意長度的序列

(3)???可以訓練基于詞典的模型和不基于詞典的任意模型


摘要

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

1. 引言

最近,社區已經看到神經網絡的強大復興,這主要受到深度神經網絡模型,特別是深度卷積神經網絡(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。感受野。提取的特征序列中的每一個向量關聯輸入圖像的一個感受野,可認為是該區域的特征向量。

2.2. 序列標注

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

傳統的RNN單元在其輸入和輸出層之間具有自連接的隱藏層。每次接收到序列中的幀xtxt時,它將使用非線性函數來更新其內部狀態htht,該非線性函數同時接收當前輸入xtxt和過去狀態ht?1ht?1作為其輸入:ht=g(xt,ht?1)ht=g(xt,ht?1)。那么預測ytyt是基于htht的。以這種方式,過去的上下文{{xt′}t′<t{xt′}t′


圖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=y1,…,yT對標簽序列ll定義概率,并忽略ll中每個標簽所在的位置。因此,當我們使用這種概率的負對數似然作為訓練網絡的目標函數時,我們只需要圖像及其相應的標簽序列,避免了標注單個字符位置的勞動。

條件概率的公式簡要描述如下:輸入是序列y=y1,…,yTy=y1,…,yT,其中TT是序列長度。這里,每個yt∈R|L′|yt∈?|L′|是在集合L′=L∪L′=L∪上的概率分布,其中LL包含了任務中的所有標簽(例如,所有英文字符),以及由-表示的“空白”標簽。序列到序列的映射函數BB定義在序列π∈L′Tπ∈L′T上,其中TT是長度。BB將ππ映射到ll上,首先刪除重復的標簽,然后刪除blank。例如,BB將“–hh-e-l-ll-oo–”(-表示blank)映射到“hello”。然后,條件概率被定義為由BB映射到ll上的所有ππ的概率之和:

ππ的概率定義為p(π|y)=∏Tt=1ytπtp(π|y)=∏t=1Tyπtt,ytπtyπtt是時刻tt時有標簽πtπt的概率。由于存在指數級數量的求和項,直接計算方程1在計算上是不可行的。然而,使用[15]中描述的前向算法可以有效計算方程1。

2.3.2 無字典轉錄

在這種模式下,將具有方程1中定義的最高概率的序列l?l?作為預測。由于不存在用于精確找到解的可行方法,我們采用[15]中的策略。序列l?l?通過l?≈B(argmaxπp(π|y))l?≈B(arg?maxπp(π|y))近似發現,即在每個時間戳tt采用最大概率的標簽πtπt,并將結果序列映射到l?l?。

2.3.3 基于詞典的轉錄

在基于字典的模式中,每個測試采樣與詞典DD相關聯。基本上,通過選擇詞典中具有方程1中定義的最高條件概率的序列來識別標簽序列,即l?=argmaxl∈Dp(l|y)l?=arg?maxl∈Dp(l|y)。然而,對于大型詞典,例如5萬個詞的Hunspell拼寫檢查詞典[1],對詞典進行詳盡的搜索是非常耗時的,即對詞典中的所有序列計算方程1,并選擇概率最高的一個。為了解決這個問題,我們觀察到,2.3.2中描述的通過無詞典轉錄預測的標簽序列通常在編輯距離度量下接近于實際結果。這表示我們可以將搜索限制在最近鄰候選目標Nδ(l′)Nδ(l′),其中δδ是最大編輯距離,l′l′是在無詞典模式下從yy轉錄的序列:

l?=argmaxl∈Nδ(l′)p(l|y).(2)(2)l?=arg?maxl∈Nδ(l′)p(l|y).

可以使用BK樹數據結構[9]有效地找到候選目標Nδ(l′)Nδ(l′),這是一種專門適用于離散度量空間的度量樹。BK樹的搜索時間復雜度為O(log|D|)O(log?|D|),其中|D||D|是詞典大小。因此,這個方案很容易擴展到非常大的詞典。在我們的方法中,一個詞典離線構造一個BK樹。然后,我們使用樹執行快速在線搜索,通過查找具有小于或等于δδ編輯距離來查詢序列。

2.4. 網絡訓練

X={Ii,li}iX={Ii,li}i表示訓練集,IiIi是訓練圖像,lili是真實的標簽序列。目標是最小化真實條件概率的負對數似然:

O=?∑Ii,li∈Xlogp(li|yi),(3)(3)O=?∑Ii,li∈Xlog?p(li|yi),

yiyi是循環層和卷積層從IiIi生成的序列。目標函數直接從圖像和它的真實標簽序列計算代價值。因此,網絡可以在成對的圖像和序列上進行端對端訓練,去除了在訓練圖像中手動標記所有單獨組件的過程。

網絡使用隨機梯度下降(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(TM) 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與其它競爭方法的優勢。

另外,為了測試參數δδ的影響,我們在方程2中實驗了δδ的不同值。在圖4中,我們將識別精度繪制為δδ的函數。更大的δδ導致更多的候選目標,從而基于詞典的轉錄更準確。另一方面,由于更長的BK樹搜索時間,以及更大數量的候選序列用于測試,計算成本隨著δδ的增大而增加。實際上,我們選擇δ=3δ=3作為精度和速度之間的折衷。


圖4。藍線圖:識別準確率作為δδ的函數。紅條:每個樣本的詞典搜索時間。在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)合成的樂譜圖像。(c)用手機相機拍攝的現實世界的樂譜圖像。

由于我們的訓練數據有限,因此我們使用簡化的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. 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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容