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) (英语). 

外部链接