【问题标题】:How do I train tesseract 4 with image data instead of a font file?如何使用图像数据而不是字体文件训练 tesseract 4?
【发布时间】:2017-04-11 17:47:25
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ocr tesseract lstm training-data


    【解决方案1】:

    https://github.com/tesseract-ocr/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 repo 中,运行以下命令:

    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 -

    【讨论】:

    • 嘿,谢谢你的回答。一个问题,我的每个字母大约有 200 个 png,所以我应该将文本文件创建为 a_1.gt.txta_2.g.txt 等内容为“a”,图像为a_1.pnga_2.png
    • 文件名可以是任何东西,只有 .gt.txt 文件和 .png 文件名应该相同。 a_1.gt.txt, a_1.png, a_2.gt.txt, a_2.png 是正确的。
    • 感谢您的回答!这是否允许添加新符号?是否有一种工具可以帮助创建这些图像/文本文件 - 例如通过允许将页面作为图像提供,它应该生成线条图像和文本的第一次猜测?
    • 我不知道有什么东西可以将页面变成线条图像。但是,如果您走得那么远,快速查看和清除第一个猜测的提示是一个名为feh 的程序。 feh 可让您同时查看图像和标题,并允许您在 feh 中编辑标题。 github.com/eihli/image-table-ocr/blob/…
    • hocr-extract-images from "hocr-tools" 会将.hocr 文件(由 Tesseract 生成)加上图像转换为一组线条图像/文本对。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多