TRAINING DATA
TRAINING DATA JORNAL  
Авторские статьи

Распознавание текста на изображениях

Распознавание текста на картинках в контексте сбора и разметки данных может происходить с помощью технологии оптического распознавания символов (OCR — Optical Character Recognition). По такому принципу работает ПО для сканеров: снимок печатной или рукописной страницы преобразуется в текст и сохраняется в виде документа в формате PDF, Word и т. д.
OCR распознает текст на изображении и преобразует его в цифровую копию, которую удобно хранить и редактировать.
Представьте, что вы пришли на деловую встречу, где каждый из потенциальных клиентов или партнеров оставил вам визитку. Что проще? Загрузить каждую карту в модель машинного обучения, которая автоматически распознает текст и внесет его в базу данных с разнесением по соответствующим графам (Ф. И. О., адресу, дате рождения и т. д.)? Или вводить информацию вручную? Ответ очевиден.

Для решения таких задач используются две отрасли ИИ:
  • Компьютерное зрение (CV) — обучает модель видеть и интерпретировать окружающий мир так же, как человек.
  • Обработка естественного языка (NLP) — дает возможность считывать контекст, понимать человеческую речь, правильно расставлять знаки препинания при транскрипции.
Этапы распознавания текста на рисунках и фотографиях:
  1. Подготовка изображения. Чтобы повысить видимость и читаемость, нужно настроить контрастность, убрать шумы и выровнять рисунок.
  2. Сегментация текста. Если на изображении присутствует другая информация, кроме нужных данных, разметчики выделяют нужные области.
  3. Распознавание символов. После сегментации алгоритмы OCR применяются к каждому символу или блоку текста. Может происходить автоматически или с ручной доработкой.
  4. Коррекция ошибок и проверка качества. После распознавания текста необходимо проверить его качество и исправить ошибки. Обычно проходит в два этапа: автоматически с помощью словарей и статистических моделей, а также вручную.
  5. Перевод в читаемый формат. Конечный результат сохраняется в файле нужного формата для дальнейшего анализа и обработки информации.

Где используется?

По мере развития ИИ и машинного обучения технология распознавания текста на изображениях приобретает все большую популярность. Как это работает? Вот реальный пример: компания Unipark использует ее на платных парковках для контроля за въездом и выездом автомобилей. Когда транспортное средство приближается к шлагбауму, камера делает снимок номерного знака, добавляет его в центральную базу данных компании, и шлагбаум автоматически открывается.
Когда владелец хочет уехать, он подходит к автомату по продаже билетов и выбирает свой номерной знак из списка. Стоимость рассчитывается автоматически, сразу после оплаты программа управления шлагбаумом получает сигнал о разрешении выезда для данного автомобиля. У шлагбаума номерной знак снова сканируется, проверяется по списку оплаты, и, если все хорошо, шлагбаум открывается. Никаких чеков, никаких контролеров. Все происходит внутри программного обеспечения.
Кроме того, распознавание текста на изображениях применяется во многих других сферах:
  • медицине — для сбора информации с медицинских форм, результатов лабораторных исследований, снимков с медицинского оборудования;
  • финансах — считывание текста с банковских документов, счетов, чеков, выписок;
  • транспортной сфере — распознавание номерных знаков, названий улиц, грузовых накладных;
  • розничной торговле — текст с этикеток, ценников, чеков, рекламных объявлений;
  • архивах и библиотеках — восстановление и оцифровка рукописей, архивных документов, книг;
  • социологии — оцифровка анкет, опросов и пр.;
  • интернет-маркетинге — распознавание и сбор информации со страниц сайтов, баннеров, карточек товара, скриншотов переписки.

Как обучить модель машинного обучения распознаванию текста?

Первый этап — сбор и подготовка данных. Вам нужен большой датасет изображений с текстом, соответствующих конкретной задаче. После сбора картинок их нужно стандартизировать, улучшить качество и убрать шумы.
Далее на изображениях размечаются области с текстом, прописываются ключевые признаки в метках. Данные датасета делятся на три выборки: обучение, валидация, тестирование.
Следующим шагом является определение архитектуры модели. Для распознавания текста на изображении можно применять сверточные нейронные сети (CNN), которые хорошо работают с картинками. Можно использовать предварительно обученные модели, такие как VGG, ResNet или Inception, и добавить слои для работы с текстом. Также популярным выбором является сочетание CNN и RNN для работы с последовательными данными.
Что нужно учитывать при обучении:
  • Плотность. На печатной странице текст плотный. На фотографии улицы с одним дорожным знаком — разреженный. Модель должна распознавать оба варианта.
  • Структура. На странице книги текст идет строгими строчками и абзацами, в естественной среде может быть везде, под разными углами наклона, разного размера.
  • Шрифт. Печатные шрифты распознать легко, рукописные часто сложно понять даже человеку.
  • Артефакты. На идеально отсканированной странице их почти нет, а как насчет снимков на улице, в движении?

Какие технологии применяются?

Методы глубокого обучения дают отличные результаты при распознавании текста благодаря их способности автоматически извлекать важные функции из необработанных данных. Так, сверточные нейронные сети (CNN) можно использовать для идентификации и сегментации текстовых областей в изображениях. Рекуррентные нейронные сети (RNN) обрабатывают текст как последовательность символов или токенов, их можно комбинировать с языковыми моделями для повышения точности распознавания за счет включения лингвистических знаний и контекста.
Сочетание этих двух архитектур в таких моделях, как CRNN (сверточная рекуррентная нейронная сеть), дает лучший результат при обработке изображений с текстом.
Методики