tesseract 4 为什么我的训练数据没有编译

tesseract 4 Why isn't my training data compiling

我正在尝试训练 Tesseract 4 以从图像中识别一些电子电路图符号,例如电阻器、电容器等,但似乎没有关于训练 tesseract 的直接指南,官方文档似乎更侧重于字体而不是图像数据。

上的回复似乎是我迄今为止发现的最有用的东西,但是当按照以下步骤操作时,我收到错误消息:

到目前为止我做了什么:

注意:我知道我需要比这更多的数据,这只是一个让一切正常工作并成功制作 .traineddata 文件的测试。

当我 运行 命令“make training MODEL_NAME=testModel_1”时,我在控制台中得到以下信息:

@CKVM1:~/Downloads/tesstrain$ make training MODEL_NAME=testModel_1
find: ‘data/testModel_1-ground-truth’: No such file or directory
find: ‘data/testModel_1-ground-truth’: No such file or directory
Error: missing ground truth for training
Makefile:175: recipe for target 'data/testModel_1/list.train' failed
make: *** [data/testModel_1/list.train] Error 1

我认为问题在于,在 post 中,我将说明链接到“START_MODEL”参数,据我所知,它使用您将其设置为起始语言的任何语言指出改进训练时间,但由于我使用的是自定义符号而不是实际字母,所以我看不出这对我有什么好处。然而,问题似乎是,它希望在训练开始之前就已经存在一个(更通用的?)地面实况文件,我不确定如何解决

关于如何解决这个问题有什么想法吗?

确保您的训练数据位于“tesstrain/data/testModel_1-ground-truth”。

您可以在 https://github.com/tesseract-ocr/tesstrain/blob/0d972f86f4aaf88fde77e3445ff607e68866c882/Makefile#L200

查看“make training”在做什么

您会看到它正在寻找“GROUND_TRUTH_DIR”中的内容。

$(ALL_GT): $(shell find $(GROUND_TRUTH_DIR) -name '*.gt.txt')
    @mkdir -p $(OUTPUT_DIR)
    find $(GROUND_TRUTH_DIR) -name '*.gt.txt' | xargs paste -s > "$@"

GROUND_TRUTH_DIR 默认是 ´GROUND_TRUTH_DIR := $(OUTPUT_DIR)-ground-truth´

如果我们继续跟踪环境变量的路径...

# Name of the model to be built. Default: $(MODEL_NAME)
MODEL_NAME = foo

# Data directory for output files, proto model, start model, etc. Default: $(DATA_DIR)
DATA_DIR = data

# Output directory for generated files. Default: $(OUTPUT_DIR)
OUTPUT_DIR = $(DATA_DIR)/$(MODEL_NAME)

根据您的错误消息输出,您的环境变量似乎没有更改为默认值,这很好。一切都应该工作。培训程序似乎只是在抱怨您在 ´tesstrain-data-testModel_1-ground-truth´ 没有文件夹,这是必需的。