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