Оптическое распознавание символов (OCR) – это технология преобразования изображения текста в машиночитаемый текст. Это базовая технология для различных решений по извлечению данных, включая интеллектуальную обработку документов.

Однако OCR недостаточно умен, чтобы определить контекст в документе — он просто отделяет текстовые пиксели от фона и находит шаблон. Это ограничение может привести к неточности захваченных данных, что напрямую повлияет на результат вашей модели извлечения данных.

В этой статье мы обсудим, как работает распознавание текста, метрики для измерения точности распознавания текста, ограничения моделей распознавания текста и способы преодоления ограничений распознавания текста. Для начала обсудим, как работает OCR.

Итак, давайте сразу к делу:-

Как работает распознавание текста?

Модуль OCR или программное обеспечение OCR работают, используя следующие шаги:

Шаг 1 — Получение изображения

OCR использует сканер для обработки физической формы документа. После того как все страницы скопированы, OCR создает черно-белую (двухцветную/однобитную) версию цветного документа или отсканированного документа в градациях серого.

OCR — это, по сути, бинарный процесс: он распознает то, что либо есть, либо нет. Если исходное отсканированное изображение идеально, любой содержащийся в нем черный цвет будет частью символа, который необходимо распознать, а любой белый цвет будет частью фона.

Таким образом, преобразование изображения в черно-белое — это первый этап определения текста, который необходимо обработать.

Шаг 2. Предварительная обработка

Программное обеспечение OCR сначала очищает изображение и удаляет ошибки, чтобы подготовить его к чтению. Вот некоторые из его методов очистки:

  • Слегка скорректируйте перекос или наклон отсканированного документа, чтобы устранить проблемы с выравниванием во время сканирования.
  • Удаление пятен цифрового изображения или сглаживание краев текстовых изображений.
  • Очистка блоков и линий на изображении.
  • Распознавание сценариев для многоязычной технологии OCR

Шаг 3. Распознавание текста

Этот этап обычно включает выбор одного символа, слова или блока текста за раз. Два основных типа процессов, которые OCR использует для идентификации символов, — это распознавание образов и извлечение признаков. Давайте рассмотрим их по очереди:

А) Распознавание образов

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

Распознавание образов

B) Извлечение признаков

Извлечение элементов разбивает или разбивает глифы на элементы, такие как линии, замкнутые контуры, направление линий и пересечения линий. Затем он использует эти функции для поиска наилучшего совпадения или ближайшего соседа среди различных сохраненных глифов. Большинство современных программ оптического распознавания текста Omni font (те, которые распознают печатный текст любым шрифтом) работают путем извлечения признаков, а не распознавания образов. Большинство из них используют искусственный интеллект.

Шаг 4. Постобработка

Программа OCR также анализирует структуру изображения документа. Он делит страницу на элементы, такие как блоки текста, таблицы или изображения. Строки делятся на слова, а затем на символы. После выделения символов программа выполняет распознавание текста. После обработки всех возможных совпадений программа представляет вам распознанный текст. В зависимости от различных факторов, которые мы обсудим позже в этой статье, вывод OCR потенциально может содержать ошибки.

Как очистить этот текст перед передачей его на следующий этап конвейера?

Один из подходов состоит в том, чтобы пропустить текст через средство проверки орфографии, которое идентифицирует орфографические ошибки и предлагает некоторые альтернативы. В более поздних подходах используются архитектуры ИИ для обучения языковых моделей на основе слов/подслов, которые, в свою очередь, используются для исправления вывода текста OCR в зависимости от контекста. Этот шаг повышает точность распознавания текста.

Что такое точность распознавания?

Как мы видели, OCR выполняется в несколько этапов, и каждый из них влияет на уровень точности, достигаемый в конце процесса. Поскольку текст из OCR подается на следующий этап любой построенной на нем модели извлечения данных, важна точность OCR.

Точность OCR определяется как процесс сравнения вывода OCR с исходной версией того же (основного) текста. Допустим, в документе было 100 символов (основная правда). Если выходной текст OCR правильно идентифицировал 99 из них, точность OCR на уровне символов составляет 99%.

Метрики для измерения точности OCR

Когда дело доходит до точности OCR, для оценки надежности OCR используются две объективные метрики: коэффициент ошибок символов (CER) и коэффициент ошибок слов (WER). Давайте посмотрим на это по очереди.

1. Частота ошибок символов (CER)

Вычисление CER основано на концепции расстояния Левенштейна, где мы подсчитываем минимальное количество операций на уровне символов, необходимых для преобразования исходного текста в выходные данные OCR.

Давайте посмотрим на пример:

  • Основная правда текст: 619375128
  • OCR вывод текст: 61g375Z8

Преобразования, необходимые для преобразования вывода OCR в настоящую правду, следующие:

  1. г вместо 9
  2. Отсутствует 1
  3. Z вместо 2

Количество преобразований (T) = 1+1+1 = 3

Количество правильных символов © = 6

CER = T/(T+C) * 100%

= 3/9 *100% = 33.33%

Что такое хорошее значение CER?

Не существует единого эталона для определения хорошего значения CER, так как оно сильно зависит от варианта использования. Различные сценарии и сложность (например, печатное или рукописное, тип контента и т. д.) могут привести к разным характеристикам оптического распознавания символов.

В опубликованной в 2009 году статье, посвященной обзору точности оптического распознавания символов в крупномасштабных программах оцифровки австралийских газет, были приведены следующие контрольные показатели (для печатного текста):

  • Хорошая точность оптического распознавания символов: CER 1–2 % (то есть точность 98–99 %).
  • Средняя точность распознавания: CER 2–10 %
  • Низкая точность оптического распознавания символов: CER > 10 % (то есть точность ниже 90 %).

В сложных случаях, связанных с написанными от руки текстами с очень разнородным и выходящим за рамки словаря содержанием (например, бланки заявлений), значение CER может достигать около 20% можно считать удовлетворительным.

2. Частота ошибок в словах (WER)

Вычисление WER также основано на концепции расстояния Левенштейна, где мы подсчитываем минимальное количество операций на уровне слов, необходимых для преобразования исходного текста в вывод OCR.

WER, как правило, хорошо коррелирует с CER (при условии, что частота ошибок не слишком высока), хотя ожидается, что абсолютное значение WER будет выше, чем значение CER.

Давайте посмотрим на пример:

  • Основная правда текст: Docsumo — компания, занимающаяся ИИ для документов.
  • OCR выходной текст: Docsumo iz документ AI кампания.

Преобразования, необходимые для преобразования вывода OCR в настоящую правду, следующие:

  1. вместо iz
  2. Отсутствует
  3. компания вместо кампания

Количество преобразований (T) = 1+1+1 = 3

Количество правильных слов © = 3

WER = T/(T+C) * 100%

= 3/6 *100% = 50%

Хотя CER и WER удобны, они не являютсянадежными индикаторами производительности моделей OCR. Это связано с тем, что качество и состояние исходных документов (например, разборчивость почерка, разрешение изображения и т. д.) играют не менее (если не более) важную роль, чем сама модель OCR.

Что влияет на точность распознавания и как ее улучшить?

Даже самый лучший механизм OCR не дает хороших результатов, когда качество входного изображения/документа слишком плохое. В этом разделе мы поймем важность качества исходного изображения и методов его улучшения, повышения точности оптического распознавания символов.

Вещи, влияющие на точность распознавания:

1. Качество исходного документа

Если исходный документ:

  • Сморщенные, порванные или иным образом поврежденные,
  • Выцветшие или иным образом состарившиеся,
  • Обесцвеченный,
  • Шумный,
  • Нечеткость (или текст иным образом запутан или искажен),
  • Печать низкоконтрастными или цветными чернилами (фиолетовые, синие и красные обеспечивают низкий контраст, черные чернила обеспечивают самый высокий контраст).
  • Нарисовано нестандартными шрифтами или человеческим почерком, или
  • Напечатаны на определенных типах бумаги, которые снижают четкость и контрастность между фоном и передним планом в результирующем скане.

2. Качество отсканированного изображения

Любое отсканированное изображение такого документа (независимо от качества скана) может привести к дополнительной нагрузке на механизм OCR при распознавании текста на скане. В отсканированном изображении хорошего качества: -

  • Символы должны быть различимы на фоне: четкие границы символов, высокая контрастность.
  • Выравнивание символов/слов: хорошее выравнивание обеспечивает правильную сегментацию символов, слов и строк.
  • Хорошее разрешение изображения и выравнивание
  • Шума должно быть меньше

Вышеупомянутые функции улучшают качество документа с точки зрения оптического распознавания символов.

Давайте теперь углубимся в возможные проблемы, связанные с качеством изображения, и способы их решения.

Как повысить точность распознавания?

Не все обречено, даже если у нас нет качественных документов для начала. Вот несколько шагов, которые можно предпринять для повышения точности извлечения данных OCR:

1. Масштабирование изображения

Масштабирование изображения важно для OCR. Для большинства механизмов распознавания лучше всего подходят изображения с разрешением 200–300 точек на дюйм (точек на дюйм). Если значение DPI ниже 200, это может привести к неточным результатам, а значение выше 600 приведет к излишнему увеличению размера выходного изображения без улучшения качества изображения.

2. Увеличить контраст

Низкая контрастность может привести к ухудшению оптического распознавания символов. Нам нужно увеличить контрастность и плотность перед выполнением извлечения данных. Контрастность и плотность являются жизненно важными факторами, которые необходимо учитывать перед сканированием изображения для оптического распознавания символов, поскольку они обеспечивают большую четкость вывода.

3. Бинаризация изображения

Бинаризация означает преобразование цветного изображения в изображение, состоящее только из черных и белых пикселей (значение черного пикселя = 0 и значение белого пикселя = 255).

Существует несколько алгоритмов преобразования цветного изображения в бинарное изображение, начиная от простого определения порога и заканчивая адаптивным определением порога (разные пороговые значения для разных регионов).

Этот шаг помогает движку хорошо понимать данные, поскольку любые содержащиеся в нем черные пиксели составляют часть символов, которые необходимо распознать, в то время как любой белый пиксель является частью фона. Бинаризация изображения также может помочь уменьшить размер входных данных.

4. Удаление шума

Шум может резко снизить качество получаемой информации. Основная цель этапа удаления шума — сгладить изображение, удалив небольшие точки/пятна, которые имеют более высокую интенсивность, чем остальная часть изображения. Этот процесс также называется шумоподавлением изображения.

5. Исправление перекоса

Перекошенные изображения напрямую влияют на линейную сегментацию механизма OCR, снижая его точность. Отсканированные документы часто становятся перекошенными (изображения выровнены под определенным углом к ​​горизонтали) во время сканирования из-за человеческой небрежности или других ошибок выравнивания.

Исправление перекоса — это процесс, при котором перекос устраняется путем поворота изображения на ту же величину, что и его перекос, но в противоположном направлении. Если изображение перекошено в какую-либо сторону, устраните его перекос, повернув его по часовой стрелке или против часовой стрелки.

Механизм OCR выдает не только текст, но и положение текста в документе. Этот вывод затем используется IDP для извлечения информации о ключе-значении и таблиц. Таким образом, коррекция перекоса является важным шагом, так как в дальнейшем она влияет на точность IDP.

Чем IDP точнее, чем OCR

Существует три основных подхода, которые организации использовали для автоматического извлечения данных из своих документов. Это ручная обработка, распознавание текста и извлечение на основе правил и шаблонов. Они либо используют один, либо комбинацию всех трех.

Трудно обрабатывать документы с помощью существующих инструментов, потому что:

  • Правила и рабочие процессы для каждого типа документа часто необходимо жестко запрограммировать и обновлять с учетом изменений в конкретном формате или при работе с несколькими форматами.
  • Эти документы могут поступать из сторонних источников, поэтому их формат не контролируется нашей организацией и может быть очень разнообразным.

Ни одна из этих трех систем не может справиться с разнообразием и сложностью документов, поступающих из разных источников, и они изо всех сил пытаются обеспечить согласованность в процессе.

Интеллектуальная обработка документов использует модели и алгоритмы искусственного интеллекта для документов, предназначенные для автоматической классификации, извлечения, структуризации и анализа информации из деловых документов, ускоряя автоматизированные рабочие процессы обработки документов.

Ранее задокументированные модели ИИ основывались на использовании либо предварительно обученных моделей CV, либо моделей НЛП, но не учитывали совместную подготовку текстовой информации и информации о макете, что приводило к относительно низкой точности. Наряду с текстовой информацией информация о макете и стиле имеет жизненно важное значение для понимания изображения документа.

Сегодня, благодаря развитию искусственного интеллекта, а точнее комбинированному исследованию компьютерного зрения (CV) и обработки естественного языка (NLP) для извлечения, мы получаем высокоточные современные результаты (SOTA) с помощью IDP.

IDP сочетает модели взаимодействия между текстом и информацией о макете в отсканированных изображениях документов для извлечения информации. Благодаря этому мы можем получить высокоточное извлечение информации.

Это сообщение изначально было опубликовано в Блоге Docsumo.

Docsumo — это платформа интеллектуальной обработки документов (IDP), которая может автоматически собирать, извлекать, проверять и обрабатывать данные из документов любого типа с помощью искусственного интеллекта и машинного обучения. Подробнее о Документы на нашем сайте.