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

Яндекс OCR

Яндекс OCR — это технология оптического распознавания символов (OCR, Optical Character Recognition), разработанная компанией «Яндекс». Она позволяет автоматически извлекать текстовую информацию из изображений, документов, фотографий и видеокадров, преобразуя её в машиночитаемый цифровой формат (например, строки текста в кодировке UTF-8). Технология использует нейросетевые модели и компьютерное зрение для идентификации символов, слов и структуры текста независимо от шрифта, размера, цвета и качества исходного изображения.

История развития

Работы над собственным решением для распознавания текста начались в «Яндексе» в середине 2010-х годов. Первоначально технология применялась для внутренних нужд — оцифровки архивов, обработки скан-копий документов и улучшения поиска по изображениям в сервисе «Яндекс.Картинки». В 2017 году было запущено мобильное приложение «Яндекс.Переводчик», интегрированное с функцией распознавания текста с камеры. В 2019 году технология была выделена в отдельное облачное решение — Yandex Vision OCR (позднее вошло в состав платформы Yandex Cloud). В 2021 году «Яндекс» представил обновлённую версию нейросети, обученную на синтетических данных и размеченных вручную наборах изображений, что повысило точность распознавания русскоязычных текстов и текстов на языках стран СНГ. В 2023 году алгоритм был адаптирован для работы с рукописным текстом и сложными документами, включая таблицы, бланки и удостоверения личности.

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

Этапы обработки изображения

  1. Предобработка: Изображение нормализуется — устраняются перекосы, повышается контрастность, удаляются шумы и артефакты сжатия. При необходимости выполняется бинаризация (преобразование в чёрно-белый формат).
  2. Сегментация: Нейросеть разбивает изображение на фрагменты, определяя границы текстовых блоков, строк, слов и отдельных символов. Специальные модели детектируют области, содержащие текст (Text Detection).
  3. Распознавание: Сверточная нейронная сеть (CNN) или рекуррентная нейросеть (RNN с памятью LSTM) анализирует каждый сегмент и сопоставляет его с вероятными символами (буквы, цифры, знаки препинания) из обученного словаря. Для повышения точности применяется механизм внимания (Attention Mechanism), учитывающий контекст соседних символов.
  4. Постобработка: Результаты корректируются с помощью языковых моделей — проверяется орфография, исправляются типичные ошибки, восстанавливаются разрывы в словах. Для русского и английского языков используются статистические словари.

Поддерживаемые языки

Яндекс OCR распознаёт тексты на русском, английском, немецком, французском, испанском, итальянском, португальском, турецком, украинском, белорусском, казахском, узбекском, таджикском, азербайджанском, армянском, грузинском, китайском (упрощённое и традиционное письмо), японском, корейском, арабском, хинди и других языках. Общее число поддерживаемых языков превышает 100.

Виды и форматы

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

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

Применение

В сервисах Яндекса

Для бизнеса и разработки

Через облачные API (Yandex Vision OCR) технология доступна для интеграции в сторонние приложения. Основные сценарии:

В мобильных приложениях

Встроенное решение используется в iOS и Android-приложениях «Яндекс» для быстрого копирования текста из фотографий, сохранения визиток и поиска по изображениям.

Сравнение с аналогами

ХарактеристикаЯндекс OCRTesseract OCR (Google)ABBYY FineReaderAmazon Textract
Точность кириллицы94–97%85–92%97–99%88–93%
Распознавание таблицДа (ограниченно)Нет (базовые)ДаДа
Распознавание рукописного текстаДа (экспериментально)НетОграниченноеНет
Скорость обработки (1 страница)0.3–0.8 с0.5–1.5 с1.0–2.0 с0.5–1.0 с
Бесплатное использование (лимит)1000 запросов в месяцПолностью бесплатныйПлатный1000 запросов в месяц
Облачная инфраструктураYandex Cloud (РФ)ABBYY CloudAWS (США)

На русскоязычном сегменте Яндекс OCR уступает по точности ABBYY FineReader при работе с идеально сканированными документами, но опережает по скорости обработки и лучше адаптирован для распознавания неструктурированных изображений с камеры (вывески, упаковки, сфотографированные книги). В отличие от Tesseract, не требует локальной установки и настройки.

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

Точность распознавания варьируется в зависимости от качества исходного изображения:

Ограничения связаны с размером шрифта (менее 10 пикселей), некорректным сопоставлением некоторых экзотических шрифтов (готический, декоративный) и многострочным текстом с нестандартными межстрочными интервалами.

Технические детали реализации

Яндекс OCR построен на архитектуре CRNN (Convolutional Recurrent Neural Network) с механизмом attention-based sequence-to-sequence для выравнивания и декодирования. Нейронная сеть обучена на наборе из 2 миллионов вручную размеченных изображений и 10 миллионов синтетически сгенерированных (складывалась из шрифтов, различных фонов и дефектов). Модели разворачиваются на графических ускорителях (GPU NVIDIA) в вычислительных кластерах Yandex Cloud, что обеспечивает время ответа менее 1 секунды для типовых запросов. Для снижения доли ложных положительных срабатываний (false positive) применяется дополнительный фильтр на основе языковой модели с n-граммами.

Критика

Основные замечания пользователей касаются недостаточно точного распознавания редких иностранных языков (например, иврит, вьетнамский) и рукописного текста с сильным наклоном или росчерками. В коммерческих отзывах также упоминается неполная поддержка сложных таблиц с объединёнными ячейками. В отличие от ABBYY, Яндекс OCR пока не имеет встроенного инструмента для восстановления форматирования исходной страницы — результат выдаётся как плоский текст или набор прямоугольников без сохранения колонок, отступов и стилей. Некоторые разработчики отмечают, что в бесплатной квоте 1000 запросов в месяц недостаточно для пилотирования в крупных организациях.

Источники

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

На главную BFOmetr →