Обучить модель тессеракта с помощью jTessBoxEditor

искусственный интеллект

Введение:

О том, как пользоваться тессерактом, мы говорили выше.В этой статье рассказывается о том, как тренировать рукописные числа.После прочтения вы сможете вывести три пары Другие языки, такие как китайский или другие иероглифы или даже символы, проводят собственное обучение, и методы и приемы общие.

Предварительные условия:

1. Установите среду java (поскольку jTessBoxEditor использует java для написания графического инструмента, поэтому ему нужна среда выполнения java, если нет, погуглите сами)
2. Установить тессеракт (адрес загрузки sourceforge)
3. Неточные картинки (тут я написал картинку 12345 от руки, а распознал 1365, дефолтная библиотека анг языка)

следующее:
результат:

tesseract 12345.png stdout
1365

Этапы обучения:

1. Откройте jTessBoxEditor. Введите в командной строке

java -jar jTessBoxEditor

Появится интерактивное окно

2. Выберите Инструменты->Объединить TIFF.

3. Затем выберите изображение, здесь я создал каталог поезда для размещения изображений и следующих различных файлов.
Формат имени файла: [lang].[fontname].exp[num].tif
язык-язык
имя шрифта - шрифт
номер - пользовательский номер

Здесь, поскольку это узнаваемый номер, я беру num.test.exp0.tif.
Это имя будет неоднократно использоваться в последующих шагах.

После завершения инструмент jTessBoxEditor отобразит следующий маркер, а файл num.test.exp0.tif будет сгенерирован в текущем каталоге поезда.
4. Создайте бокс-файл, бокс будет обрамлять каждый распознанный текст.

输入命令:
tesseract num.test.exp0.tif num.test.exp0  --psm 3 batch.nochop makebox

Успешный запуск создаст файл num.test.exp0.box.

5. Далее обучить картинку только сейчас (фактически вручную поменять неправильный результат распознавания на правильный) Откройте jTessBoxEdtor->Box Editor->Open, откройте предыдущий num.test.exp0.tif, здесь будет использоваться num.test.exp0.box в том же каталоге, поэтому его нужно поместить в тот же каталог. Заполните нераспознанные 2 в столбце Char и замените неправильно распознанные 4 на 6. Не забудьте нажать Enter после завершения модификации и сохранить ее.

6. Создайте файл font_properties Вы можете создать пустой файл вручную, а затем заполнить тест 0 0 0 0 0 инструкция:

test 0 0 0 0 0
【语法】:<fontname> <italic> <bold> <fixed> <serif> <fraktur>
【语法】:fontname为字体名称,italic为斜体,bold为黑体字,
fixed为默认字体,serif为衬线字体,fraktur德文黑字体,
1和0代表有和无,精细区分时可使用

Вы также можете использовать команду:

echo test 0 0 0 0 0 > font_properties

Помните, что имя шрифта должно быть таким же, как и в предыдущем тесте в num.test.exp0. 7. Создавайте обучающие файлы

tesseract num.test.exp0.tif num.test.exp0 nobatch box.train

8. Создайте набор символов

unicharset_extractor zwp.test.exp0.box

Успешное выполнение создаст файл unicharset

Здесь следует отметить одну вещь: если вы устанавливаете tesseract без средств обучения, вам будет предложено

zsh: command not found: unicharset_extractor

Вы можете обратиться к другому блогу:zsh: command not found: unicharset_extractor

9. Создайте многосимвольный файл признаков

输入命令:
mftraining -F font_properties -U unicharset -O num.unicharset num.test.exp0.tr

После успешного выполнения будут сгенерированы четыре файла inttemp, pffmtable, shapetable и num.unicharset.

10. Создайте файл функции нормализации символов

cntraining num.test.exp0.tr

После успешного выполнения будет сгенерирован файл normproto.

11. Переименовать файлы

mv normproto num.normproto
mv inttemp num.inttemp
mv pffmtable num.pffmtable
mv shapetable num.shapetable

12. Объединяйте тренировочные файлы

combine_tessdata num.

Будет сгенерирован файл num.traineddata Вы видите здесь улыбку? Правильно, это окончательный обучающий набор, поместите его в каталог tessdata tesseract. Возможно, /usr/local/Cellar/tesseract/4.1.1/share/tessdata или /usr/local/share/tessdata

13. Окончательный результат:

Суммировать:

1. Чтобы завершить этот процесс, вам нужно использовать tesseract с установленным обучающим инструментом.Похоже, что tesseract сейчас не поддерживает параметры установки с обучающими инструментами.Установка сообщит о следующей ошибке (я использую версию tesseract 4.1.1) Ошибка: недопустимая опция: --with-training-tools , так что вам нужно скомпилировать и установить обучающий инструмент самостоятельно, вы можете обратиться кблог
2. На самом деле, большинство команд всего шага можно выполнить с помощью скриптов.Только результаты исправления аннотаций jTessBoxEditor нужно использовать в интерфейсе.Если результаты аннотаций jTessBoxEditor можно превратить в инструмент, остальные команды могут выполняться автоматически после корректировки обучения.