Компьютерное зрение

OCR

Оптическое распознавание текста

актуальноТекущий рабочий стандарт

Извлечение текста из изображений и сканов: детекция областей текста и его распознавание.

Ключевые тезисы

  • Классический стек: детектор строк + CRNN с CTC-функцией потерь.
  • Качество измеряют по CER и WER.
  • Document AI-модели (Donut, LayoutLM) читают структуру документа, а не только символы.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Классический стек OCR

Детекция строк, распознавание, постобработка.

  1. Предобработка: выпрямление (deskew), бинаризация, удаление шума.
  2. Детекция текста: DBNet, CRAFT — находят области со строками.
  3. Распознавание: CRNN с CTC-потерями или трансформерный декодер.
  4. Постобработка: словари, регулярные выражения, проверка контрольных сумм.
Ошибка на уровне символов: замены, удаления и вставки, делённые на длину эталона
На практике

CTC решает проблему выравнивания: модель выдаёт последовательность произвольной длины, а функция потерь суммирует по всем возможным выравниваниям с эталоном.

2

Как работает CTC

Распознавание без разметки по символам.

Модель выдаёт распределение по символам для каждого «столбца» изображения. Проблема: мы не знаем, какой столбец какому символу соответствует. CTC вводит пустой символ и суммирует вероятности по всем выравниваниям, дающим нужную строку.

Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков
  • вероятность (или плотность распределения)
  • суммирование по всем перечисленным элементам
  • произведение по всем элементам
  • число π ≈ 3.14159
схлопывает повторы и убирает пустые символы
На практике

Отсюда правило: повторяющиеся буквы («класс») требуют пустого символа между ними, иначе они схлопнутся в одну.

Связанные темы

Мультимодальность