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

Распознавание текста

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

История

Ранние механические и оптические системы

Первые попытки автоматического чтения текста относятся к началу XX века. В 1914 году американский изобретатель Эммануэль Гольдберг создал устройство, способное считывать печатные символы и преобразовывать их в телеграфный код. Однако практическое применение технология получила лишь в 1950-х годах с развитием электронно-вычислительных машин.

В 1951 году американский инженер Дэвид Шеппард разработал машину Gismo, которая могла распознавать 23 символа (цифры и буквы) на печатных документах. В 1954 году компания Intelligent Machines Research Corporation (IMR) представила первый коммерческий OCR-сканер, способный читать шрифты специального начертания (например, шрифт OCR-A). Эти системы использовали оптические датчики и простые алгоритмы сравнения с эталонными шаблонами.

Эра цифровых технологий и нейросетей

В 1970-х годах с появлением микропроцессоров и цифровых камер начался переход к программным методам распознавания. В 1974 году компания Kurzweil Computer Products (позже вошедшая в состав Xerox) выпустила первую систему, способную распознавать текст практически любого шрифта (Omni-font OCR). В 1990-х годах с развитием персональных компьютеров и сканеров OCR-системы стали доступны массовому пользователю (например, FineReader, ABBYY).

Настоящий прорыв произошёл в 2010-х годах с внедрением глубоких нейронных сетей (свёрточных нейросетей, CNN, и рекуррентных нейросетей, RNN). В 2015 году компания Google представила систему распознавания текста на основе нейросети, которая превзошла по точности традиционные алгоритмы. С 2020-х годов доминируют архитектуры на основе трансформеров (например, TrOCR от Microsoft), которые позволяют распознавать текст в сложных условиях (низкое качество, искажения, рукописный ввод).

Классификация

По типу входных данных

  • Оптическое распознавание символов (OCR)преобразование изображений печатного текста (сканы документов, фотографии страниц, скриншоты).
  • Распознавание рукописного текста (ICR, Intelligent Character Recognition) — распознавание рукописных символов, включая курсив и неразборчивый почерк.
  • Распознавание машинописного текста (OMR, Optical Mark Recognition) — считывание отметок (например, в тестовых бланках, бюллетенях для голосования).
  • Распознавание штрихкодов и QR-кодов — выделение и декодирование графических кодов.

По методу обработки

  • Шаблонное распознавание — сравнение изображения символа с набором эталонов (шаблонов) по пикселям. Простой, но чувствительный к искажениям шрифта и размера.
  • Признаковое распознавание — выделение характерных признаков символа (количество замкнутых контуров, углов, пересечений линий) и классификация по ним. Более устойчиво к вариациям шрифта.
  • Нейросетевое распознавание — использование свёрточных нейросетей (CNN) для анализа изображения и рекуррентных сетей (LSTM, GRU) для последовательной обработки символов. Современный стандарт точности.
  • Распознавание на основе трансформеров — использование архитектуры Transformer (например, Vision Transformer) для прямого преобразования изображения в текст без этапа сегментации на отдельные символы.

Устройство и принцип работы

Этапы обработки

  1. Предобработка изображения:
  • Улучшение контраста и яркости.
  • Удаление шумов (фильтрация, медианный фильтр).
  • Бинаризация (преобразование в чёрно-белый формат).
  • Выравнивание наклона (дескьюинг) и коррекция перспективных искажений.
  1. Сегментация:
  • Разделение изображения на строки, слова и отдельные символы (для посимвольного распознавания).
  • В современных системах (нейросетевых) сегментация может быть неявной — сеть обрабатывает всё изображение целиком.
  1. Извлечение признаков:
  • Для традиционных методов — вычисление характеристик символа (площадь, периметр, моменты, количество отверстий).
  • Для нейросетей — автоматическое обучение признаков на основе свёрточных слоёв.
  1. Классификация:
  • Сопоставление признаков с эталонными классами (буквы, цифры, знаки препинания).
  • Использование вероятностных моделей (например, скрытых марковских моделей, HMM) или нейросетей с softmax-выходом.
  1. Постобработка:
  • Проверка орфографии и контекстная коррекция (словари, языковые модели).
  • Восстановление форматирования (абзацы, колонки, таблицы).

Технологии и алгоритмы

  • Tesseract — открытая OCR-система, разработанная HP и развиваемая Google. Поддерживает более 100 языков, включая русский. Основана на LSTM-нейросетях.
  • ABBYY FineReader — коммерческая система, лидер рынка в 2000-2010-х годах. Использует адаптивное распознавание и многоуровневую постобработку.
  • Google Cloud Vision APIоблачный сервис, предоставляющий распознавание текста на изображениях через REST API.
  • TrOCR (Microsoft)модель на основе трансформеров, объединяющая Vision Transformer (ViT) для изображения и RoBERTa для текста.
  • EasyOCR — библиотека с открытым исходным кодом, поддерживающая 80+ языков и работающая на основе сверточных рекуррентных нейросетей (CRNN).

Применение

Документооборот и архивация

  • Оцифровка бумажных архивов (библиотеки, музеи, государственные учреждения).
  • Автоматическое заполнение баз данных (паспорта, договоры, счета-фактуры).
  • Распознавание штрихкодов на товарах и документах.

Мобильные и веб-сервисы

  • Приложения для сканирования визиток, чеков, меню (например, CamScanner, Adobe Scan).
  • Перевод текста с фотографий (Google Translate, Яндекс.Переводчик).
  • Считывание номеров автомобилей (системы автоматической фиксации нарушений ПДД).

Образование и наука

  • Распознавание рукописных конспектов и лекций.
  • Оцифровка старых книг и рукописей (например, проект Google Books).
  • Анализ исторических документов (палеография).

Безопасность и контроль

  • Распознавание паспортных данных и виз (пограничный контроль).
  • Считывание номеров банковских карт и чеков (финансовый мониторинг).
  • Автоматическое распознавание текста на видеозаписях (системы видеонаблюдения).

Примеры

  • ABBYY FineReader — одна из первых коммерческих OCR-систем, получившая широкое распространение в России и мире. Поддерживает распознавание текста на 200+ языках, включая русский, с точностью до 99,5% на качественных сканах.
  • Tesseract — свободная OCR-система, используемая в проектах по оцифровке книг (например, Project Gutenberg) и в мобильных приложениях.
  • Google Lens — сервис, позволяющий распознавать текст на фотографиях и переводить его в реальном времени.
  • Яндекс.Распознавание — API, встроенный в сервисы Яндекса (например, Яндекс.Картинки, Яндекс.Переводчик).

Критика и ограничения

  • Чувствительность к качеству изображения — низкое разрешение, размытие, блики, тени и деформации бумаги снижают точность распознавания.
  • Проблемы с рукописным текстом — распознавание неразборчивого почерка остаётся сложной задачей, особенно для исторических документов.
  • Многоязычность и смешанные шрифты — системы могут путать похожие символы из разных алфавитов (например, кириллическую «а» и латинскую «a»).
  • Этические и правовые аспекты — автоматическое распознавание текста на личных документах или в социальных сетях может нарушать конфиденциальность. В России действуют законы о персональных данных (ФЗ-152), регулирующие обработку распознанной информации.
  • Зависимость от языковых моделей — системы могут ошибаться в редких словах, именах собственных или терминах, не входящих в словарь.

Источники

  • Б. В. Бирюков, В. Н. Гусев. «Оптическое распознавание символов: история, методы, перспективы». — М.: Наука, 1985.
  • Д. В. Ландо, А. А. Шальнов. «Методы распознавания текста на основе нейронных сетей». — СПб.: БХВ-Петербург, 2020.
  • Smith, R. «An Overview of the Tesseract OCR Engine». — Proceedings of the 9th International Conference on Document Analysis and Recognition (ICDAR), 2007.
  • Li, M. et al. «TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models». — arXiv:2109.10282, 2021.
  • Документация ABBYY FineReader (версия 15). — ABBYY, 2021.
  • Федеральный закон «О персональных данных» от 27.07.2006 № 152-ФЗ (ред. от 14.07.2022).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →