Добавление поддержки шрифтов Blackletter в Tesseract OCR Engine - PullRequest
3 голосов
/ 28 января 2012

Я работаю над тем, чтобы заставить шрифта Линкольна работать в Тессеракте, и я получаю ужасные результаты, даже после прохождения дико сложного учебного процесса .

Вот чтошрифт выглядит так, да, это немного сложно:

Lincoln sample

Я тщательно сделал тренировочное изображение, а затем использовал его для создания файла коробки. Тренировочный образ здесь (25MB!) .Изображение с разрешением 300 точек на дюйм и репрезентативными символами, красиво разнесенными по вертикали и горизонтали.

Я сделал коробочный файл для тренировочного образа, и он работал правильно.Я проверил, что это правильно, используя редактор файлов коробок .

Я взял этот файл коробок / tif и использовал его для создания обучающих данных.Я сделал то же самое с 30 или около того другими образцами изображений / шрифтами , предоставленными Tesseract.

Я создал файл unicharset.

Я создал файл font_properties.На сайте нет указаний о том, когда следует использовать фрактур.Итак, я попробовал это и так (фрактур для Линкольна):

eng.lincoln.box 0 0 0 0 1

И так (фрактур выключен):

eng.lincoln.box 0 0 0 0 0

И наконец, я попробовал этос и без словарных файлов.Когда я использовал файлы словарей, они представляли собой карту слов из моей поисковой системы Sphinx, и в них было около 15 000 общих слов и около 20 000 необычных.

Во всех случаях, когда я пытаюсь распознать первые пару строк этот файл (3МБ) , качество ужасное.Вместо того чтобы получать:

United States Court of Appeals 
for the Federal Circuit

Я получаю:

OniteiJ %tates C0urt of QppeaIs
for the jfeI1eraICircuit

Почему?

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Я думаю, вам понадобится намного больше образцов (букв) и улучшенных обучающих изображений (чистый фон, оттенки серого, 300 DPI и т. Д.).И попробуйте сначала тренироваться только с одним шрифтом (например, Линкольном).Вы можете использовать инструмент jTessBoxEditor для создания образов тренировок и редактирования файлов блоков.

Как только вы освоите процесс обучения, вы сможете добавить другие шрифты в свое обучение.Вы можете проверить успешность результирующих языковых данных, используя их при выполнении OCR для самого обучающего изображения - скорость распознавания должна быть высокой.

Имена шрифтов в font_properties должны быть такими:

Линкольн 0 0 0 0 1

1 голос
/ 29 января 2012

Я не эксперт по Tesseract, но я оценил почти все доступные механизмы распознавания, и мои комментарии основаны на моем опыте, накопленном за годы анализа ошибок распознавания.

Просто интересно, почему ваше изображение имеет пятнышки на заднем плане, а не чисто белый фон. Я не знаю, как работает Tesseract или учебный инструмент, но фон может вызывать некоторые проблемы.

Простое чтение страницы с образцом затруднительно и требует большой концентрации. Такие символы, как F и I, очень похожи, как U и N. Тессеракт, как и многие механизмы распознавания, будет использовать много разных методов для распознавания символа, и между этими символами нет большой разницы в терминах штрихов и кривых. используется в шрифте.

Эти символы, особенно заглавные, могут привести к путанице во многих различных алгоритмах сопоставления только потому, что они сильно отличаются от стандартных символов латинского / римского типа. Это проявляется в ваших результатах, т.е. Все заглавные буквы имеют ошибку распознавания.

...