如何使用图像数据而不是字体文件训练tesseract 4?

时间:2017-04-11 17:47:26

标签: ocr tesseract lstm training-data

我试图用图像而不是字体来训练Tesseract 4。

docs中,他们只解释了字体的方法,而不是图像。

我知道它是如何工作的,当我使用Tesseract的早期版本但我没有得到如何使用box / tiff文件在Tesseract 4中使用LSTM进行训练。

我调查tesstrain.sh,用于生成LSTM训练数据,但无法找到任何有用的信息。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

https://github.com/tesseract-ocr/tesstrain上复制tesstrain回购。

您还需要克隆tessdata_best存储库https://github.com/tesseract-ocr/tessdata_best。这是您训练的起点。要获取准确性,需要数十万个训练数据样本,因此使用一个好的起点,您可以使用少得多的数据来微调您的训练(大约数十到数百个样本就足够了)

将训练样本添加到名为./tesstrain/data/my-custom-model-ground-truth的tesstrain存储库中的目录中

您的训练样本应该是图像/文本文件对,它们共享相同的名称但具有不同的扩展名。例如,您应该有一个名为001.png的图像文件,它是文本foobar的图片,而您应该有一个名为001.gt.txt的文本文件,其中文本为foobar

这些文件必须是一行文字。

tesstrain存储库中,运行以下命令:

make training MODEL_NAME=my-custom-model START_MODEL=eng TESSDATA=~/src/tessdata_best

培训完成后,将有一个新文件tesstrain / data / .traineddata。将该文件复制到目录中,Tesseract搜索模型。在我的机器上,它是/ usr / local / share / tessdata/。

然后,您可以运行tesseract并将该模型用作语言。

tesseract -l my-custom-model foo.png -