Tesseract

光学字符识别引擎

Tesseract光學字符識別引擎,支持多種操作系統。[1]Tesseract是基於Apache許可證自由軟件[2],自2006 年起由Google贊助開發[3]

2006年,Tesseract被認為是最精準的開源光學字符識別引擎之一。[2][4]

歷史

Tesseract是HP實驗室在1985-1994年開發的專屬軟體,在1996年加入更多改變以移植到Windows,於1998年用C++改寫部分的C原始碼,此後其程式碼都是以C++編譯器進行編譯。在接下來的10年,Tesseract幾乎沒有任何進展,直到2005年,HP及內華達大學拉斯維加斯分校以開源的形式釋出,然後由Google從2006年開始贊助Tesseract的開發作業。 Tesseract第4版增加了以LTSM為基礎的OCR引擎及許多模型,使其支援達116種語言、37種文字(Script)。歷經2年多的開發測試後,Tesseract第5版於2021年釋出。

特色

從字元識別準確度的角度來看,Tesseract在1995年可說是前3大OCR引擎之一,當時它可用於Linux、Windows及Mac OS X作業系統。然而,因為資源有限,它只有在Windows和Ubuntu受到開發人員的嚴格測試。 Tesseract第2版及其更早的版本僅能接受不分欄位的文字TIFF影像檔作為輸入,這些早期版本並沒有分析版面的功能,因此輸入多欄位文字、影像、或方程式,會得到錯亂的結果。Tesseract從第3版開始支援輸出文字排版、hOCR位置資訊及分析頁面排版的功能。使用Leptonica程式庫後,它開始支援一些新的影像格式。 Tesseract初始版本僅能偵測英語文字,V2則增加了6種西方語言(法文、意大利文、德文、西班牙文、巴西葡萄牙文、荷蘭文),第3版更是增加了表意文字(中文、日文)、由右至左語言(阿拉伯文、希伯來文)等許多文字,包含阿拉伯文、保加利亞文、加泰隆尼亞文、中文(簡體及正體)、克羅埃西亞文、捷克文、丹麥文等。2015年7月發行的V3.04又增加了39種語言/文字組合,使支援的語言總數超過100種。 Tesseract適合在後端使用,配合像是OCRopus作為其前端,進行更為複雜的OCR作業,例如版面分析。此外,Tesseract還能經訓練以用於其他語言。然而,如果輸入影像沒有經事先處理以符合Tesseract的需求,Tesseract會輸出品質低落的結果:影像(尤其是螢幕截圖)一定要放大到文字的x-height至少達20個像素、一定要修正角度或歪斜問題才能識別出文字、一定要用高通濾波去除亮度的低頻變化以避免其二元影像處理破壞頁面內容、要手動移除黑邊以免Tesseract誤認為它們是文字。

使用者介面

Tesseract以命令列介面進行操作,雖然沒有GUI,有許多不同的計畫提供GUI給Tesseract,例如OCRFeeder。

風評

Internet Archive的Brewster Kahle在2020年11月讚揚Tesseract:「Tesseract近年來大有進展,之前我們評鑑其準確度時,它不如一些專有OCR軟體,但是現在不同了,這次評鑑顯示它跟專有軟體一樣好,而且因為其新架構,它可以變得更好」

參考資料

  1. ^ Kay, Anthony. Tesseract: an Open-Source Optical Character Recognition Engine. Linux Journal英語Linux Journal. 2007-07-01 [2018-07-24]. (原始內容存檔於2018-07-24) (英語). 
  2. ^ 2.0 2.1 OCR. Canonical Ltd. [2018-07-24]. (原始內容存檔於2019-02-18) (英語). 
  3. ^ Announcing Tesseract OCR頁面存檔備份,存於網際網路檔案館) - Google 官方博客對此的聲明
  4. ^ Willis, Nathan. Google's Tesseract OCR engine is a quantum leap forward. 2006-09-28 [2018-07-24]. (原始內容存檔於2009-02-21) (英語). 

外部連結