An overview of the tesseract ocr engine论文阅读

An overview of the tesseract ocr engine论文阅读

  • Reference
  • 正文
    • 引言 动机和历史
    • 架构
    • 文本行和文本定位
    • 单词识别
    • 静态字符分类
    • 语言分析
    • 适应性分类
  • 个人总结

Reference

R. Smith, “An Overview of the Tesseract OCR Engine,” Ninth International Conference on Document Analysis and Recognition (ICDAR 2007), Parana, 2007, pp. 629-633.

正文

引言 动机和历史

Tesseract是一个开源的OCR引擎,在1984年至1994年期间在惠普开发。

架构

An overview of the tesseract ocr engine论文阅读_第1张图片
0)输入:二进制图像,有着给定的多边形文本区域
1)连通组分分析,检测出字符区域区域(轮廓外形),以及子轮廓。计算很昂贵,但是通过检查嵌套的数量以及子孙轮廓的数量,检查反向文本就和在黑白文本上检测一样简单。
2)Blob被组织成文本行,并分析线条和区域的固定间距或比例文本。根据字符间距的种类,文本行被分为不同的单词。固定间距文本立即被字符单元切碎。比例文本使用有限空间和模糊空间分解成单词。
3)识别,采用自适应分类器。第一遍识别,对每个单词进行分析。先分析且满足条件的单词也作为训练样本,所以后面的字符( 比如页尾)识别更准确:此时,页首的字符识别比较不准确,所以tesseract会再次对识别不太好的字符识别是其精度得到提高。故会进行两遍识别。
4)解决模糊空间,检查x-height的替代假设以定位小文本

文本行和文本定位

  1. 文本行定位
    文本行查找算法是用于识别倾斜的页面而不需要做逆计算,从而减少图像损失。核心方法为斑点滤波和线构建。
    假设页面布局分析已经提供了大致均匀文本大小的文本区域,则简单百分比高度过滤器可以去除掉首字下沉和垂直字符。过滤掉小于中位高度的一部分斑点可去除污点、符号和噪音。通过x作标将过滤后的斑点分配到文本行,采用最小二乘法拟合文本线。最后一步是将至少水平重叠一半的斑点合并,并将变音标记与正确的基础合并在一起,并正确地关联某些损坏字符的部分。
  2. 基线拟合
    基本线采用了平方样条方法,用最小二乘法拟合密度最高的区域。
  3. 固定间距文本探测和分割
    检测到固定间距文本时,tesseract按间距将单词切割成字符,并且在这些单词上禁用切割器和关联器。
  4. 比例文本定位
    “11.9%”的十位和单位之间的差距与一般空间的尺寸相似,并且肯定大于“erated”和“junk”之间的空白区域。 'of’和’financial’的边框之间没有横向差距。
    在这里插入图片描述

Tesseract通过测量基线和平均线之间有限垂直范围内的间隙来解决大部分这些问题。空格被设为模糊空间的阈值,最终决定在单词识别之后进行。

单词识别

该部分处理的对象主要为非固定间距文本。

  1. 分割连接字符
    当从一个完整的单词识别出来的结果不太满意时,tesseract通过字符级别的分割blob来改善结果。多边形轮廓的一些凹的顶点是作为候选的分割点,以及相反方向的凹点或者线段。在这里插入图片描述
  2. 连接破损字符
    当潜在的分割点已用完,还是不能满足要求,文字识别不好时,就用到了联合器(associator)。Associator会尝试最优先搜索(A*搜索),把分割的blob最大可能的联合成候选字符。
    缺点:全分割-连接方法并不是最有效的,最坏情况下可能会丢失重要的分割。
    优点:分割-连接方法可以简化数据结构,保持完整的分割图。

静态字符分类

  1. 特征
    早期版本使用了拓扑特征,后来发现对于现实生活中的图像不稳健。中间想法使用多边形近似的部分作为特征,但这对受损字符不稳健。突破性的解决方案是未知中的特征不需要与训练数据中的特征相同。匹配大型原型的小特征,如果大部分特征都匹配,只有少部分特征不匹配,也可以认为受损字符是与原型匹配的。
    从未知中提取的特征是三维的(x,y位置,角度),并且原型特征是4维(x,y,位置,角度,长度)。
  2. 分类
    分类分两步进行。第一步创建一个位置字符可能匹配的候选集。候选集由最多特征匹配的类生成。第二步就是计算上一步的候选集中原型与该未知的特征的的最好结合距离。
  3. 训练:不使用损坏字符

语言分析

tesseract有少量的语言分析。在单词识别模块识别一个新单词时,语言模块在以下类别中选取最佳可用词串:顶级频繁词,顶级词典词,顶级数字词,顶级顶级单词词 ,顶部小写字母(带有可选的初始上限),顶级分类器选择字。距离得分谁最少就选用谁。
每一个字符分类会生成两个数字,一个数字是负的标准化距离,该值越大代表越好;另一个值是rating,等于原型的标准距离乘以未知字符的整个轮廓长度。

适应性分类

由于静态分类器必须善于推广到任何类型的字体,因此其区分不同字符之间或字符与非字符之间的能力被削弱。静态分类和适配性分类的区别是,适配性分类采用各向同性的baseline/x-height 标准化处理,而静态分类采用形心式标准化处理。

个人总结

优点:
1)不同寻常的特征选择方式
2)分割-连接方法可以简化数据结构,保持完整的分割图
缺点:
1)使用多边形近似而不是粗略轮廓。
2)全分割-连接方法并不是最有效的,最坏情况下可能会丢失重要的分割

你可能感兴趣的:(OCR,article,计算机视觉,人工智能)