李新煒 殷韶坤

摘要
在本論文中使用了深度學習的DenseNet網絡及CTC進行了深度學習,用來實現漢字印刷體OCR的功能,同時與傳統OCR開源軟件Tesseract進行了性能對比,證明了深度學習的效果好,速度快的優勢,但又暴露了深度學習需要的較多數據進行訓練的缺點。
【關鍵詞】深度學習 DenseNet TensorflowTesseract
1引言
本文會通過在印刷體文字OCR領域對兩種技術進行一些對比,驗證、討論深度學習對比傳統機器學習有什么優點,深度學習未來是否會完全取代其他的人工智能算法。
2算法介紹
2.1機器學習與深度學習
機器學習是經由各種算法用大量的數據來“訓練”讓機器實現人工智能的一種方式。利用算法來解析現實中的數據做出預測和做出判斷后再從中學習并不斷完善的過程。這與傳統的使用固定編碼來解決特定任務的軟件程序是不同的。
深度學習是機器學習的其中一種技術,其訓練深度神經網絡也會用到有、無監督的方法。但由于近年來該領域發展迅猛,一些獨有的學習手段相繼被提出,因此越來越多的人將其單獨看作一種學習的方法。
2.2 DenseNet
DenseNet是一種具有密集連接的CNN。DenseNet有以下長處:首先如要在ImageNer分類數據集上達到類似的準確率,DenseNer網絡結構比ResNet節省了一半的參數量。其次只需要ResNet算法計算量的50%左右,DenseNet算法就可以達到與ResNet相當的精度。最后該算法有較強的抗過擬合能力,密集連接具備正則化效果,極大的降低了對訓練集數量較少的任務的過擬合量。
2.3 Tesseract與Tensorflow
Tesseract是一個開源光學字符識別引擎,它是基于Apache許可證的自由軟件,支持多種的操作系統。由于其Tesseract4.0版本應用了基于深度學習的算法,因此在這里使用的是之前的版本用來做對比試驗。Tensorflow屬于第二代人工智能學習系統,由谷歌公司研發。它可用于語音識別或圖像識別等多項機器學習和深度學習領域,在本文中主要通過使用Tensorflow來進行深度學習訓練用來對比識別效果。
3算法實現
3.1數據集的準備
首先選擇基于TensorFlow通過DenseNet和CTC進行文字識別的訓練,其中數據利用了中文語料庫,使用模糊、拉伸、灰度、字體等轉變方式隨機生成了大量圖片。圖片分辨率統一為280x32,共約364萬張圖片,按照99:1劃分成訓練集和驗證集,每個樣本固定10個字符,字符隨機截取自語料庫中的句子。
3.2基于TensorFlow對算法的實現
3.2.1通過CTPN進行文本檢測
用卷積神經網絡VGG16取前五層得到一個多層矩形陣列的特征圖,在這個特征圖的每層里都取一個3*3的窗口特征量,并且讓這個窗口特征量滑動。向一個雙向的LSTM神經網絡輸入得到的特征量,得到一個結果為寬度x256長度的輸出,然后配合長度為512的全連接層開始輸出。然后能得到一個密集預測的文本結果,并用一個標準的非極大值抑制算法來處理該結果。最后將大量的文本段利用基于圖的文本行構造算法組合成文本行。
3.2.2通過DenseNet和CTC進行文字識別
DenseNet網絡選用Relu作為激活函數,使用了3個Dense Block層進行演算,各個Dense Block之間通過Transition結構連接在一起組成的DenseNet網絡,配合CTC loss進行訓練并得出最終的數據模型。該算法的數據經由DenseBlock層處理后,進行卷積操作然后傳送給Transition結構進行參數整合規范,通過池化減少參數后傳送給下層的Dense Block結構,從而達到較高的精度。
4與傳統的OCR軟件Tesseract效果進行對比
4.1使用兩種方法對數據集識別效果對比
隨機抽取1000張測試集圖片,分別進行識別測試。測試結果如表1所示。
4.2準確率接近情況下的資源消耗對比
對Tesseract訓練識別天貓工商執照圖片,使用498張原圖,通過人工標注后進行訓練的方式,訓練后準確率達到96.8%,此時使用深度學習方式識別此類圖片準確率下降至97.1%,準確率相近。
5結論
顯然通過深度學習訓練后的模型識別效果要遠好于Tesseract的效果,但是并不能說明“深度學習最終會淘汰其他傳統機器學習算法”。目前深度學習在計算機視覺和自然語言處理領域的應用已經遠超過傳統機器學習的方法。雖然深度學習方法在機器學習領域非常熱門,但通過本文的比較測試可以發現深度學習目前還存在兩個問題。首先,深度學習需要大量的數據進行訓練,才能表現出它的優勢,面對小樣本的問題,深度學習方法的效果就會差強人意,而傳統的機器學習方法就可以處理;其次,在個別領域只需要采用傳統的機器學習方法,便可以較好的解決問題,無需使用復雜的深度學習方法。
參考文獻
[1] Graves A, Gomez F. Connectionisttemporal classification: labellingunsegmented sequence data withrecurrent neural networks[C].International Conference on MachineLearning.ACM,2006.
[2]降小龍,基于語義結構和視覺焦點的場景目標識別[D].中北大學,2016.
[3]吳杰.基于卷積神經網絡的行為識別研究[D].電子科技大學,2015.