1. 程式人生 > >OCR----你不得不知的Tesseract六大重要核心

OCR----你不得不知的Tesseract六大重要核心

Abstract


整理了很多OCR的資料,這篇主要是對Tesseract重要的知識進行總結羅列。本次總結,基於2007年Smith所寫的Paper—-《An Overview of the Tesseract OCR Engine》,所以算是論文導讀吧。PS:Smith是一個專注OCR領域30年的男人~~太可怕了!

這篇文章的重點是在文字行的查詢,特徵/分類的方法,以及自適應分類器。此外,文章中介紹了Tesseract發展歷史,我就略過了,只談技術相關。


1. Architecture


先談Page Layout Analysis技術,它在OCR領域是個很重要的部分,因為算是文字識別的準備工作。但是,早期的Tesseract沒有這項技術,因為HP實驗室開發了獨立的Page Layout Analysis technology。所以在後期的Tesseract就加入了這項技術。

沒記錯,就是Tesseract 3.x系列,但是工作沒有完成。Smith是基於製表位探測技術做的頁面分析。據Smith說下面在做頁面中table的檢測,我猜快做完了吧….

這篇論文裡的(舊)Tesseract假設:其資料來源是已定義的可選多邊形文字域的二進位制圖片。

Tesseract therefore assumes that its input is a binary image with optional polygonal text regions defined.

再談處理過程。分兩步:
(1)connected component analysis,然後得到Blobs.
(2)從Blobs中得到文字行,然後得到固定比例的(fixed pitch)或者成比例的(proportional)文字。

最後談識別過程。分兩步:
(1)通過一個一個地識別單詞訓練自適應分類器(adaptive classifier),classifer將得到更高的機率能正確識別單詞。
(2)識別整個頁面。


2. Line and Word Finding


概括來說,先找文字行(lines),再找基線(baseline),然後將單詞(word)切割成字元(character)。

細細來講三點:

  • 找文字行所用的演算法參見:《A Simple and Efficient Skew Detection Algorithm via Text Row Accumulation》,written by Ray Smith。
  • baseline使用的二次樣條曲線(quadratic spline),參考資料:《Optical Character Recognition: An Illustrated Guide to the Frontier》,written by S.V. Rice。
  • 通過固定間距檢測(fixed pitch detection),把單詞切成字元。對於沒有固定間隔的文字,即成比例單詞(proportional word),採用計算baseline和mean line之間的空隙垂直範圍。


致歉


這篇博文在我的草稿箱放了太久,不公佈出來就是浪費。但是,目前的內容非常對不起文章標題。按照題目,我還會寫:

  • 3 Word Recognition
  • 4 Static Character Classifier
  • 5 Linguistic Analysis
  • 6 Adaptive Classifier

如果這篇博文反響還不錯,我將繼續下去。Sorry~Everyone~


結語


我還健康的活著,有問題歡迎交流!這裡在大牛面前,班門弄斧,實在不好意思哈~歡迎指正!

有問題可以在我的微信公眾號“谷震平的專欄”提出,當天答覆。歡迎,掃描下方二維碼,回覆“Tesseract”,即可得到《An Overview of the Tesseract OCR Engine》(我個人進行了註釋、翻譯)的閱讀連結。

谷震平的專欄