Публикация научных статей.
Вход на сайт
E-mail:
Пароль:
Запомнить
Регистрация/
Забыли пароль?

Научные направления

Поделиться:
Статья опубликована в №117 (май) 2023
Разделы: Информационные технологии
Размещена 16.05.2023. Последняя правка: 15.05.2023.
Просмотров - 918

КОМПЛЕКСНЫЙ АЛГОРИТМ РАСПОЗНАВАНИЯ РУКОПИСНОГО ТЕКСТА

Галич Антон Станиславович

ФГБОУ ВО «МИРЭА - Российский технологический университет»

Студент

Огарок Андрей Леонтиевич, кандидат технических наук, доцент кафедры «Информационных процессов и систем», ФГБОУ ВО «МИРЭА - Российский технологический университет»


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


Abstract:
This article investigates the problem of analysis and recognition of handwritten text. The developed complex text recognition algorithm is based on the selection of individual words in the text and the recognition of individual characters in them using neural networks. Character recognition results are summarized by applying a post-processing algorithm that determines the most reliable variants of the recognized word. The paper proposes solutions for each of the stages of the algorithm and auxiliary tasks. The tasks of image preprocessing, word boundaries detection and post-processing tasks are solved.


Ключевые слова:
распознавание рукописного текста; анализ рукописного текста; компьютерное зрение; нейронные сети; машинное обучение

Keywords:
handwriting recognition and analysis; computer vision; neural networks; machine learning


УДК 004.912

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

Автоматизация связана с полным или частичным исключением человека из определенного этапа информационного обмена путем применения технических средств. Проблемой построения автоматизированных систем является реализация сложных интеллектуальных функций, которые традиционно выполняются исключительно человеком и слабо подлежат алгоритмизации при отсутствии жестких ограничений на входные данные. Эти функции, как правило, связаны с обработкой сложно-структурированных входных данных и получением из них информации нетривиальным образом. К таким функциям можно отнести задачу распознавания образов, когда для растрового изображения определяются его неочевидные свойства, такие как: нахождение на изображении людей, животных и объектов иного рода, причем пространство входных данных достаточно разнообразно и слабо ограничено.

В работе рассматривается одна из задач распознавания образов – задача распознавания рукописного текста. Она возникает при автоматизации процессов передачи информации, которая представлена в форме написанного от руки текста.

Задача может применяться в таких областях как:

- внутренний документооборот на предприятии – распознавание определенных полей документов;

- почта – распознавание заполненных полей на конвертах;

- распознавание ответов экзаменуемого в рамках какого-либо экзамена;

- распознавание конспектов, рукописных записей и заметок;

- распознавание исторических документов.

Сущность задачи распознавания заключается в том, что для изображения, содержащего рукописный текст, выводится текст, который на нем изображен. Под текстом понимается последовательность символов языка (представляемых в компьютере как последовательность кодов символов), под рукописным текстом следует понимать графическое изображение текста, нанесенное на поверхность человеком.

Выделяют два класса задач распознавания текста:

- Онлайн-распознавание: в такой постановке известна траектория движения кончика средства ввода (например, ручки) по поверхности, на которую наносится изображение. Задача распознавания рукописного текста в такой постановке на данный момент решена и не представляет особенного интереса;

- Оффлайн-распознавание: входные данные представляют собой растровое изображение с рукописным текстом.

Проблема области для класса таких задач состоит в том, что даже при значительных ограничениях на входные данные (размер, требования к качеству изображения, требования к написанию – отсутствие помарок, ограничения в написании букв и диакритики) их пространство очень разнообразно: существует бесконечное множество почерков, и, как следствие, шрифтов. Язык так же является бесконечным, а число слов в языке, хоть и конечно, но очень велико, при этом у каждого слова могут существовать различные формы (у существительных – различные падежные формы для каждого числа). Иными словами, входными данными может быть разнообразный текст, написанный специфическим образом (почерком).

Актуальность исследования обусловлена тем, что на сегодняшний день одной из нерешенных задач в области компьютерного зрения и искусственного интеллекта является задача распознавания рукописного текста. Различные решения данной задачи или применимы в узких областях и не претендуют на общность, или показывают недостаточное качество распознавания.

Целью работы является повышение качества оффлайн распознавания рукописного текста.

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

Научная новизна данной работы заключается в использовании комплексного подхода к разработке алгоритма оффлайн-распознавания рукописного текста, учитывающего наиболее эффективные способы обработки данных.

1. Общая архитектура системы распознавания текста

Предлагаемый алгоритм распознавания рукописного текста можно разделить на следующие этапы обработки данных.

1. Предобработка изображения. Этап включает в себя приведение исходно­ го изображения с рукописным текстом к одноканальному, полутоновому представлению (в градациях серого), его фильтрацию и последующую бинаризацию.

2. Выделение на изображении границ строк, для каждой строки – выделение границ отдельных слов и знаков пунктуации.

3. Для каждого изображения слова происходит распознавание отдельных символов. На данном этапе необходимо выделить наиболее достоверные варианты расположения символов в слове и их классы (для каждой области символа определить, какой символ находится в области). Предполагаемые области выделенных символов могут пересекаться. Для каждого найденного символа так же следует вывести численный коэффициент, характеризующий достоверность данной зоны и класса, число в диапазоне [0, 1].

4. Для каждого слова выполнить постобработку результатов распознавания символов: определить, каким образом можно соединить между собой распознанные символы в слова, и выбрать наиболее достоверные варианты.

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

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

1) привести изображение к представлению в градациях серого;

2) выполнить фильтрацию для удаления или минимизации шумов;

3) выполнить бинаризацию, т.е. для каждого пикселя определить, относится ли он к фону или к фрагменту текста.

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

Распознавание символов состоит в том, что для каждого бинарного изображения слова (т.е. исходного изображения, обрезанного по границам анализируемого слова) формируется множество вариантов распознанных символов следующего вида: {< 𝑐, 𝑐𝑎𝑒 >}. Каждый из вариантов представляет собой пару, которая определяет:

- позицию символа 𝑐 = (_𝑒𝑓, _𝑔ℎ);

- принадлежность символа к одному из классов символов (т.е. в алфавите символов): 𝑐𝑎𝑒 = (𝑐1, ..., 𝑐). Величина 𝑐 характеризует достоверность отнесения символа к классу.

Постобработка результатов распознавания символов предполагает, что для каждого слова для полученного множества {< 𝑐, 𝑐𝑎𝑒 >} определяются наиболее достоверных вариантов распознанного слова: выводится упорядоченный список вариантов слов и числовые характеристики их достоверности.

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

Таким образом, выбранный метод позволяет определить на изображении слова избыточное число вариантов расположения рукописных символов и их классов, а затем сопоставить результаты распознавания между собой. Такой подход является более гибким, чем предложенные в известных работах [1 – 5], и является в большей степени масштабируемым, поскольку предполагает гибкую постобработку после распознавания отдельных символов.

2. Предобработка изображения

На вход алгоритма поступает цветное изображение с рукописным текстом. Для минимизации объема обрабатываемых данных и исключения избыточности изображения, его необходимо привести его к полутоновому представлению в градациях серого (при 8-битном кодировании), затем выполнить его фильтрацию и бинаризацию.

Фильтрация изображения

Фильтры обработки изображений применяются для наложения различных эффектов, повышения качества изображений путём устранения ложных данных или улучшения характеристик [1]. Тип используемого фильтра зависит от задачи. При выборе необходимо ориентироваться не только на вид зашумлённости, если задача заключается в восстановлении изображения, но и на само изображение. В ряде случаев возможно существенно уменьшить помехи, вносимые камерой, оптической системой.

В работе предлагается рассмотреть возможность применения двух различных фильтров: фильтр Гаусса и медианный фильтр.

Бинаризация

Операция бинаризации изображения состоит в приведении его к бинарному (двухуровневому) виду. Бинарное изображение – разновидность цифровых растровых изображений, когда каждый пиксель может представлять только один из двух цветов.

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

Существуют различные методы бинаризации [2], которые можно условно разделить на две группы: глобальные (пороговые) и локальные (адаптивные).

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

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

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

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

Выводы из анализа алгоритмов предобработки

Рассмотренные алгоритмы предобработки могут применяться в различных комбинациях: к полутоновому изображению применить бинаризацию и последующую фильтрацию, или выполнить бинаризацию, затем фильтрацию, затем снова бинаризацию (при использовании различных параметров бинаризации и различных фильтров).

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

3. Сегментация слов на изображении

После того, как входное изображение было предобработано, необходимо выделить границы отдельных слов на нем.

Предлагается рассмотреть три подхода к выделению границ, основанные на применении двух алгоритмов:

- алгоритм грубого поиска;

- алгоритм точного поиска.

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

1) найти границы слов алгоритмом грубого поиска;

2) найти границы слов алгоритмом точного поиска;

3) сравнить результаты поиска различными алгоритмами, сформировать общий результат поиска.

Гибридный алгоритм сегментации

Гибридный алгоритм сегментации может быть основан на сопоставлении результатов работы грубого и точного поиска.

Пусть 𝑅, 𝑅𝑎 – результаты соответственно алгоритмов грубого и точного поиска, каждый результат представляет собой множество найденных прямоугольников на изображении, соответствующих оболочкам вокруг слов. Каждый прямоугольник определяется левой верхней (1, 1) и правой нижней (2, 2) точкой: (1, 1; 2, 2) ∈ 𝑅. Пусть 𝑅𝑒𝑐(1, 1; 2, 2) – отображение пары точек в пространство прямоугольников (1, 1) – левая верхняя точка, (2, 2) – правая нижняя. Пусть аналогичное множество 𝑅 – результат выполнения гибридного алгоритма.



Определим метрику 𝑁 𝑒𝑎(𝐷1, 𝐷2) на пространстве прямоугольников:

где 𝑎𝑒𝑎(𝐷) – площадь прямоугольника 𝐷.

Тогда найдем все пары 𝐷1 ∈ 𝑅, 𝐷2 ∈ 𝑅𝑎, для которых 𝑁𝑒𝑎(𝐷1, 𝐷2) ≥ 𝑒𝑎, 𝑒𝑎 –  некоторый порог, т.е. выполним сопоставление:

1) найдем все 𝐷 ∈ 𝑅𝑎, для которых также 𝑁𝑒𝑎(𝐷1, 𝐷) ≥ 𝑒𝑎.

Объединим найденное множество компонент 𝐷 между собой и с 𝐷2, объединение обозначим как 𝐷2;

2) если больше невозможно найти 𝐷, удовлетворяющие критерию п.1), то поместить 𝐷2 в 𝑅, поскольку оболочка, вычисляемая вокруг компоненты связности, которая получена алгоритмом точного поиска, является наиболее точной оценкой расположения слова. После этого добавим в 𝑅 все 𝐷 ∈ 𝑅𝑎 | 𝐷 не пересекается ни с одним из 𝐷 ∈ 𝑅 – все области, которые не были обнаружены алгоритмом грубого поиска.

Отметим, что данный алгоритм может быть модифицирован, и на последнем шаге можно усложнить условие добавления дополнительных 𝐷 так, чтобы не добавлялись неотфильтрованные шумы, помарки и т.п.

Выводы из анализа алгоритмов сегментации слов

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

4. Распознавание символов

После того, как были выделены границы отдельных слов, необходимо выполнить их распознавание. Для каждой найденной области необходимо вывести один или несколько вариантов слова, которое в ней находится.[3]

В работе предлагается использовать алгоритм, основанный на нейронных сетях, который осуществляет поиск расположения отдельных символов и определяет их класс. Результаты работы этого алгоритма могут быть использованы на последующих этапах для формирования вариантов распознанных слов.

Пусть в алфавите распознаваемого языка содержатся символы. Алгоритм получает на вход бинарное изображение отдельного слова и должен вывести множество вариантов распознанных символов 𝑅𝑒𝑐 = {< 𝑐, 𝑐𝑎𝑒 >}, где 𝑐 = (_𝑒𝑓,_𝑔ℎ) ∈ N2 – левая и правая границы найденной зоны, в которой находится символ, 𝑐𝑎𝑒 = (𝑐1, ..., 𝑐) ∈ R – вещественных чисел, каждое из которых характеризует степень достоверности принадлежности символа в зоне 𝑐 к каждому из классов.

Данная задача является частным случаем задачи детекции на изображении и отличается от классической постановки тем, что местоположение искомых объектов (символов) определяется лишь по горизонтали.

Для решения данной задачи предлагается использовать нейронную сеть, вывод которой – избыточное множество < 𝑐, 𝑐𝑎𝑒 >. Из указанных пар можно выбрать те, в которых max(𝑐𝑎𝑒) ≥ 𝑒𝑐, где 𝑒𝑐 – некоторый порог.

Пары, удовлетворяющие этому условию, соответствуют распознанным моделью символам и приводятся к распознанному слову на этапе постобработки. Для создания алгоритма, решающего задачу детекции, необходимо решить следующие подзадачи:

1) Сформировать обучающую выборку [5];

2) Преобразовать обучающую выборку для того, чтобы ее можно было подавать на вход модели;

3) Определить функцию ошибки;

4) Построить и обучить модель.

Выводы из предложенных алгоритмов распознавания символов

Алгоритм автоматической разметки слабо размеченной выборки исходит из гипотезы о том, что каждое рукописное слово написано одним почерком, с определенным соотношением ширины различных символов, например, если почерки предполагают «растягивание» слов, то растянутыми оказываются все символы слова в одинаковой степени.

Нейронная сеть порождает избыточное число вариантов распознанных символов, которые обрабатываются на этапе распознавания слов [1 – 5].

5. Распознавание слов

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

Для того, чтобы получить распознанное слово, необходимо обработать результаты распознавания символов, которые предполагают распознавание избыточного числа вариантов расположения или классов символов. На рис. 1 приведен пример фрагментов результата распознавания символов, когда для слова «лишишь» найдено множество альтернативных вариантов найденных символов.


Рис.1. Примеры различных распознанных символов для слова «лишишь»

Алгоритм постобработки обеспечивает объединение множества различных вариантов распознанных символов в единое слово.

Заключение и выводы:

Разработанный комплексный алгоритм может быть применен при распознавании рукописного текста. Специфика предметной области текста может быть отражена при определении слабо размеченной обучающей выборки и при настройке численных параметров алгоритмов.

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

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

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

Подход с разделением алгоритма распознавания слова на алгоритм распознавания символов и алгоритм постобработки позволяет породить избыточное число вариантов распознанных символов, и на этапе постобработки получить наиболее точный результат распознавания слова. Алгоритм постобработки является масштабируемым, он может быть дополнен языковой моделью, которая оценивает тот или иной вариант распознавания слова на основе вероятности его встречаемости в языке (подмножестве языка) в данном контексте.

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

Библиографический список:

1. Бутенко В.В. Особенности применения фильтров обработки изображений перед поиском объектов на изображениях // Технические науки: теория и практика : материалы III Междунар. науч. конф. (г. Чита, апрель 2016 г.). 2016. - С. 1 - 3.
2. Исрафилов Х.С. Исследование методов бинаризации изображений // Вестник науки и образования. 2017. Т. 2, 6 (30). - С. 43 - 50.
3. You Only Look Once: Unified, Real-Time Object Detection / J. Redmon, etc. 2016. - С. 779 - 788. - DOI: 10.1109/CVPR.2016.91.
4. Redmon J., Farhadi A. YOLO9000: Better, Faster, Stronger. Conference: 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). - https://www.researchgate.net/publication/320967941_YOLO9000_Better_Faster_Stronger.
5. Handwritten Kazakh and Russian (HKR) database for text recognition / D. Nurseitov [и др.] // Multimedia Tools and Applications. 2021. - С. 1 - 23.




Рецензии:

16.05.2023, 16:38 Огарок Андрей Леонтиевич
Рецензия: Статья "КОМПЛЕКСНЫЙ АЛГОРИТМ РАСПОЗНАВАНИЯ РУКОПИСНОГО ТЕКСТА" посвящена решению актуальной научной задачи, имеющей большую практическую значимость. Существующие алгоритмы ориентированы на распознавание машинописного текста, который имеет меньшую вариативность представления данных. Распознавание рукописного текста связано с необходимостью комплексного учета множества факторов: особенностей подчерка, артефактов написания текста и чисел, наличия исправлений и зачеркиваний, вариативность освещения изображения и т.п. В статье рассмотрены аспекты предварительной обработки изображения и адаптивного распознавания рукописного текста, а также представлен алгоритм, обеспечивающий комплексный учет рассмотренных факторов. Полученные результаты целесообразно апробировать на основе разработки программного обеспечения и оценки полноты и точности распознавания рукописного текста. Статья рекомендована к публикации в сборнике науных статей.



Комментарии пользователей:

Оставить комментарий


 
 

Вверх