Tesseract OCR 中的字符集管理是指系统如何处理、存储和识别使用的字符(unicharacters)集合。这包括从训练数据创建字符集、管理字符属性、高效的字符编码以及在训练和识别过程中使用这些字符集。
有关 LSTM 训练过程本身的信息,请参阅LSTM 训练。
字符集管理主要围绕 UNICHARSET 类进行,该类维护一组具有其属性的字符。系统支持字符映射、标准化、压缩,并提供从训练数据提取字符集的工具。
来源
UNICHARSET 类是 Tesseract 字符集管理的基础。它代表一组 Unicode 字符/连字及其属性。
UNICHARSET 类提供了以下关键功能
UNICHAR_ID)来源
unicharset_extractor 工具从 box 文件或文本文件中创建 UNICHARSET 文件。此过程包括
提取器支持三种标准化模式
| 模式 | 值 | 描述 | 推荐用于 |
|---|---|---|---|
| 合并字素 | 1 | 合并字素簇 | 拉丁文、简单脚本 |
| 拆分字素 | 2 | 拆分字素簇 | 印度语、高棉语、缅甸语 |
| 纯 Unicode | 3 | 不经修改地使用 Unicode 字符 | 阿拉伯语、希伯来语、泰语、藏语 |
来源
Tesseract 使用 UnicharCompress 类为 Unicode 字符提供更有效的编码,特别是对于 CJK(中文、日文、韩文)和印度语系。
Tesseract 使用多种策略来压缩字符编码
来源
Box 文件是字符集创建的基础输入。它们包含字符的边界框及其 Unicode 表示。
Box 文件格式如下
<UTF-8 char> <left> <bottom> <right> <top> <page>
例如
a 123 456 140 480 0
这表示字符 'a',在页面 0 上,坐标为 (left=123, bottom=456, right=140, top=480)。
来源
LSTM 训练系统使用字符集来映射文本和网络的输出。
UnicharCompress 进行更高效的编码来源
在重新训练模型或更改字符集时,Tesseract 提供映射功能以在不同字符集之间进行转换。
来源
Tesseract 通过 ScrollView 类提供用于调试和可视化字符集的工具。
来源
字符集管理是 Tesseract OCR 系统的一个关键组成部分,它连接了自然语言文本和机器学习模型。 UNICHARSET 类以及 UnicharCompress 等支持类,为处理不同脚本和语言的 Unicode 字符提供了一个全面的框架。
理解这些组件对于训练有效的 OCR 模型、将 Tesseract 扩展到新语言以及调试识别问题至关重要。