Проект UTMIST Джастина Трана, Фернандо Асада, Киары Чонг, Армаана Лалани и Ишана Нарулы.

Введение

Распознавание рукописного текста — давно изучаемая проблема машинного обучения, при этом одним из самых известных наборов данных является MNIST [1] для рукописных цифр. Хотя распознавание отдельных цифр является решаемой проблемой, ученые ищут способы одновременного распознавания всего корпуса текста, поскольку это упрощает оцифровку документов. Мы представляем решение этой проблемы распознавания рукописного текста (HTR) вместе с обзором текущих достижений в этой области.

Мотивация и цель

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

Проект направлен на разработку алгоритма, который может читать корпус текста, сегментируя его на строки и применяя реализацию HTR на основе преобразователя [2]. Этот метод был разработан и опубликован в прошлом году, и было показано, что он превосходит современные модели того времени, особенно реализации CRNN, такие как у Shdiel et al. [1].

Связанных с работой

HTR — это подзадача оптического распознавания символов (OCR) — преобразование печатного или рукописного текста из изображений в машинно-кодированный текст. Системы OCR делятся на два модуля: модуль обнаружения и модуль распознавания. Модуль обнаружения предназначен для локализации блоков текста на изображении с помощью модели обнаружения объектов, а модуль распознавания предназначен для понимания и расшифровки обнаруженного текста.

Как правило, распознавание текста достигается за счет комбинированной архитектуры CNN и RNN, где CNN используются для понимания изображений, а RNN — для генерации текста. Однако в более поздних исследованиях использование архитектуры Transformer показало значительные улучшения в моделях распознавания текста. Это привело к развитию гибридных архитектур, где CNN по-прежнему служат основой модели.

Чтобы еще больше улучшить распознавание текста, в недавних исследованиях изучалась способность Transformers заменять эти магистрали CNN. Это привело к разработке моделей с более высокой точностью, таких как TrOCR, комплексная архитектура на основе Transformer, которая включает в себя как предварительно обученные преобразователи изображений, так и текстовые преобразователи.

Набор данных

Мы использовали набор данных IAM [3] для обучения и тестирования нашей модели. Он включает 13 353 изображения строк рукописного текста, которые используются в качестве входных данных для нашего алгоритма HTR (также предоставляются уровни неподвижных изображений, слов и документов). Для данного документа также предоставляются ограничивающие рамки для них, которые использовались для обучения шагу сегментации нашей модели. Данные находятся в свободном доступе.

Структура сети (сегментация)

Алгоритм, используемый для выполнения сегментации слов, основан на статье «Методы масштабирования пространства для сегментации слов в рукописных документах» [5]. Сначала мы попытались выполнить эту задачу с помощью архитектуры ResNet, но проблемы с обучением вынудили нас перейти к альтернативному методу. Алгоритм, предложенный в статье, рассматривает поведение капель в масштабном пространстве на изображениях, содержащих линии. Основная концепция этого алгоритма заключается в использовании фильтров Гаусса для создания масштабного пространства изображения, что включает в себя разработку семейства сигналов, в которых постепенно удаляются детали.

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

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

Структура сети (классификация)

Архитектура, которую мы использовали, была основана на статье «TrOCR: Оптическое распознавание символов на основе трансформатора с предварительно обученными моделями» Li et al. [2]. Мы внедрили архитектуру для классификации после этапа сегментации. Он состоит из кодера и декодера, которые описаны ниже.

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

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

Обучение

Поскольку сегментация была выполнена без машинного обучения, необходимо было обучить только классификационную сеть. Строки входных предложений сначала были изменены до разрешения 384x384, чтобы их можно было разделить на фрагменты 16x16. Мы разделили набор данных IAM на 90% обучающих данных и 10% проверочных данных. Для тестового набора подмножество из 5 полностраничных рукописных документов было передано модели, начиная с алгоритма сегментации, а выходные данные классификационной сети оценивались с использованием расстояния Левенштейна [4], деленного на длину метки истинности. . Эта метрика будет называться ошибкой символа. Конвейер тестирования начинается с алгоритма сегментации, чтобы модель оценивалась полностью.

Сеть была обучена с использованием кросс-энтропийной потери и оптимизатора Адама со скоростью обучения 0,00001 и снижением веса 0,0001. Расписание обратного квадратного корня используется в качестве планировщика скорости обучения. Начальная скорость обучения при прогреве составляет 1e-8 с 500 обновлениями прогрева. Конечными гиперпараметрами являются количество эпох и размер пакета, которые установлены на 50 и 2 соответственно. Из-за финансовых ограничений мы не смогли провести поиск гиперпараметров.

Полученные результаты

В целом, наш проект смог достаточно хорошо предсказать текст тестовых документов. Тестовые документы были прочитаны со средней ошибкой символов 0,17. Для сравнения, при попытке использовать подход CRNN ошибка символа составила 1,16. Для справки, если бы модель выдавала слово «Hyundai», когда на этикетке было «Honda», ошибка символа была бы 0,6. Во время обучения классификации окончательная средняя кросс-энтропийная потеря обучения составила 0,118, а окончательная средняя потеря проверки — 0,386.

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

Заключение

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

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

Рекомендации

[1] Дэн, Л. (2012). База данных mnist рукописных цифровых изображений для исследований в области машинного обучения. Журнал обработки сигналов IEEE, 29 (6), 141–142.

[2] Ли, Минхао и Лв, Тэнчао и Цуй, Лей и Лу, Ицзюань и Флоренсио, Диней и Чжан, Ча и Ли, Чжоуцзюнь и Вэй, Фуру. (2021). TrOCR: Оптическое распознавание символов на основе трансформатора с предварительно обученными моделями.

[3] У. Марти и Х. Бунке. База данных IAM: база данных английских предложений для автономного распознавания рукописного ввода. Междунар. Журнал анализа и распознавания документов, том 5, страницы 39–46, 2002 г.

[4] Гускенс, Шарлотта и Херинга, Уилберт. (2004). Перцептивная оценка измерений расстояния диалекта Левенштейна с использованием данных норвежского диалекта. Языковые вариации и изменения. 16. 189–207. 10.1017/S0954394504163023.

[5] Манматха, Р. и Шримал, Н., nd. Техника пространства состояний для сегментации слов в рукописных документах. Массачусетский университет.