Training Tesseract – tesstrain.sh - kana112233/tesseract GitHub Wiki

tesstrain.sh是一个脚本,可以自动调用相应的程序来创建语言的新培训. 它使用各种程序进行培训,因此您需要在使用之前使用“make training”构建它们.

此页面详细介绍了用于培训3.0x分支的版本. 并非所有文件都是LSTM培训所必需的.

有关4.0 LSTM培训的使用,请参阅https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00

#示例用法

$ ./tesstrain.sh --lang kan --langdata_dir /path/to/mylangdata --tessdata_dir /path/to/mytessdata

这是tesstrain.sh最常见的用法. 请参阅tesstrain.sh顶部的注释,了解它接受的所有参数的描述.

随Ubuntu一起提供的tesstrain.sh副本稍作修改,以自动获得一些默认参数

填写,因为许多目录位置是标准化的. 文档位于标准位置.

/usr/share/doc/tesseract/README.debian

修改节省了一些打字. 这是日语培训的一个例子.

git clone https://github.com/tesseract-ocr/langdata.git 
apt-get install fonts-noto-cjk fonts-japanese-mincho.ttf fonts-takao-gothic fonts-vlgothic
tesstrain.sh --lang jpn --langdata_dir langdata

#Langdata

tesstrain.sh需要在培训过程中使用某些文件. 这些通常存储在'langdata'目录中. Tesseract正式支持的语言的langdata都存储在langdata存储库中,但您当然可以将langdata存储在任何您想要的位置.

##必填文件

至少需要在langdata目录中提供以下文件(请注意[lang]是语言代码,例如'kan'或'eng'):

  • [lang]/[lang] .training_text(或者可以在命令行中使用--training_text/path/to/textfile指定)

##可选文件

这些文件可以选择在您的langdata目录中,并由tesstrain.sh用于提高培训质量:

  • [lang]/[lang] .wordlist(或者可以在命令行中使用--wordlist/path/to/wordlist指定)  
  • [lang]/[lang] .word.bigrams  
  • [lang]/[lang] .numbers  
  • [lang]/[lang] .punc  
  • [lang]/[lang] .config  
  • [lang]/[lang] .unicharambigs  
  • [lang]/[lang] .training_text.bigram_freqs  
  • [lang]/[lang] .training_text.unigram_freqs

##一般文件

这些是可以影响多种语言的通用文件,但如果需要可以编辑(注意[脚本]是脚本名称,例如'希腊语'或'希伯来语'或'梵文'.一个脚本可用于多种语言,例如 .印地语,梵语,马拉地语,尼泊尔语等的梵文剧本:):

  • [脚本] .x高度  
  • [脚本] .unicharset  
  • font_properties

Nick White的xheight工具可用于查找不同字体的xheight.要克隆它并构建xheights工具,请执行以下操作:

$ git clone http://ancientgreekocr.org/grctraining.git
$ cd grctraining
$ make tools/xheight

要了解它如何用于希腊培训,请执行以下操作:

$ make langdata/Greek.xheights

#Langdata文件

training_text

训练文本是一个文本文件,用于训练Tesseract语言. 它应包含每个字符的几个样本,并尽可能接近实际的文本样本.

词汇表

单词列表是一个文本文件,其中包含一个单词列表,每行一个,按降低频率排序(因此最常见的单词是第一个).

training_text.bigram_freqs

这是一个文本文件,其中包含一个bigrams列表(这里表示两个字符)以及它们在training_text中彼此相邻的频率,每行一个bigram.

training_text.unigram_freqs

这是一个文本文件,其中包含unigrams(字符)列表以及它们在training_text中彼此相邻的频率,每行一个unigram.

word.bigrams

这是一个文本文件,其中包含由空格分隔的双字节列表(此处表示两个单词),每行一个,按照它们彼此相邻的频率排序(最常见于顶部).

numbers,punc,config,unicharambigs

这些文件都直接组合到最终培训中. 有关其功能及其使用方法的详细信息,请参阅TrainingTesseract页面.

#special- specific.sh`中的#选项

您可以选择设置一些培训选项,以及通过编辑training/language-specific.sh脚本来设置培训语言的默认选项(例如要使用的字体).

要为您的语言设置选项,请查看language-specific.sh的结尾,其中变量是根据语言代码(set_lang_specific_parameters()函数)设置的.

##字体

您可以将字体设置为tesstrain.sh的参数(作为--fontlist'字体1''字体2')或通过指定language-specific.sh中的字体.

##其他选项

对于其他可以设置的变量,最好只读取set_lang_specific_parameters()函数来查看它们的作用,然后使用tesstrain_utils.sh来查看它们的确切使用方式.

#stsstrain_utils.sh

请注意,tesstrain.sh所做的大部分工作实际上是从[training/tesstrain_utils.sh]导入的(https://github.com/tesseract-ocr/tesseract/blob/master/training/tesstrain_utils.sh )文件,所以如果你对它正在做什么感到好奇,或者想要改变它的行为,那就看看吧.