Открыть сервисСервис

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

Распознавание текста на изображениях (OCR, от англ. Optical Character Recognition — оптическое распознавание символов) — технология автоматического преобразования текста, зафиксированного на фотографии или другом растровом изображении, в машиночитаемый формат. Метод относится к области компьютерного зрения и обработки изображений; применяется для оцифровки документов, анализа фотографий, автоматической индексации архивов и перевода текста с изображений.

Принцип работы

Классический конвейер OCR состоит из нескольких последовательных этапов:

  1. Предобработка. Изображение приводится к стандартному виду: устраняются шумы, выравнивается перспектива, нормализуется яркость и контраст, бинаризуется (переводится в чёрно-белый вид).
  2. Выделение текстовых зон. Алгоритм определяет области, где находится текст, отделяя его от фона, иллюстраций и других элементов.
  3. Сегментация. Текст разбивается на отдельные строки, слова и символы.
  4. Распознавание символов. Каждый фрагмент сопоставляется с эталонными образцами шрифтов.
  5. Постобработка. Результат корректируется с использованием словарей и языковых моделей — исправляются опечатки, восстанавливаются пропущенные символы.

История

Первые системы распознавания текста создавались в 1950-х годах для чтения почтовых индексов. В СССР разработкой OCR занимались в Институте точной механики и вычислительной техники АН СССР; в 1970-е годы были созданы системы для автоматического распознавания машинописных и печатных текстов.

В 1990-е годы появились коммерческие системы, в частности ABBYY FineReader (российская разработка, основана в 1989 году), распознающие сканы документов с высокой точностью. С переходом на нейросетевые методы в 2010-е годы качество распознавания рукописного текста и фотографий документов существенно выросло.

Методы распознавания

Статистические и шаблонные

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

Нейросетевые

Современные OCR-системы построены на свёрточных нейронных сетях и рекуррентных архитектурах (LSTM, CTC-декодирование). Ключевые направления:

  • CRNN — комбинация свёрточных и рекуррентных слоёв для последовательного распознавания строк.
  • Attention-модели — механизм внимания позволяет сети «смотреть» на нужные участки изображения.
  • Трансформеры — архитектура, основанная на механизме self-attention, показывает высокую точность на сложных сценах (многоязычные документы, вывески, рукописи).

Крупнейшие открытые системы: Tesseract (разработка Google, поддерживает сотни языков, включая русский), PaddleOCR (от Baidu), EasyOCR, а также облачные сервисы Google Vision, Yandex Cloud Vision, ABBYY Cloud OCR.

Типы задач

ЗадачаОписание
Печатный текстРаспознавание книг, документов, сканов — наиболее простая задача
Рукописный текстРаспознавание рукописи, включая каллиграфию и скоропись
Текст на сцене (Scene Text Recognition)Текст на фотографиях улиц, вывесках, транспорте
Исторические документыСтаропечатные шрифты, пожелтевшая бумага, повреждения
Многоязычный текстСмешение языков на одном изображении

Применение

  • Оцифровка архивов и библиотек. Массовое сканирование книг и перевод их в поискable-формат.
  • Банковские и юридические сервисы. Автоматическое чтение паспортов, счетов, договоров.
  • Автомобильные номера. Системы автоматической фиксации нарушений ПДД (в России работают комплексы «Платон», «Черепаха» и камеры фотофиксации).
  • Переводчики. Приложения вроде Google Translate и «Яндекс.Переводчик» распознают текст на фото и переводят его в реальном времени.
  • Медицина. Расшифровка рукописных назначений врачей.
  • Помощь незрячим. Приложения, описывающие текст на фотографии голосом.

Точность и ограничения

Точность современных систем на чётких печатных документах превышает 99 %. На фотографиях сцены показатель ниже — от 60 до 90 % в зависимости от освещения, угла съёмки, качества шрифта и языка. Хуже всего распознаются рукописи, старые шрифты, текст на наклонных поверхностях и мелкий шрифт. Русский язык поддерживается большинством систем, однако специфика кириллицы (например, буквы «ъ», «ь», «ы») требует отдельных моделей.

См. также

  • Компьютерное зрение
  • Бинаризация изображения
  • Сегментация изображения
  • Нейронная сеть

Источники

  • Tesseract OCR Documentation
  • ABBYY FineReader — официальный сайт
  • Гончаров А. В. «Распознавание изображений»
  • Сборник трудов конференции ICDAR (International Conference on Document Analysis and Recognition)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru