Извлечение текста из изображений никогда не было таким простым, как сегодня, благодаря технологии оптического распознавания символов (OCR). Но что такое OCR? И как работает OCR?
Извлечение текста из изображений никогда не было таким простым, как сегодня, благодаря технологии оптического распознавания символов (OCR)
OCR позволяет нам делать всевозможные полезные вещи, такие как поиск изображений с помощью текстовых запросов, воспроизведение документов без их ручного набора и даже преобразование рукописного текста в цифровой
Но что такое оптическое распознавание символов? Как оно работает на самом деле? Это может показаться вам черной магией, но к концу этой статьи вы будете иметь твердое представление о том, как компьютеры могут распознавать буквы и слова
Как работает оптическое распознавание символов
Чтобы понять, как текст извлекается из изображения, мы должны сначала понять, что такое изображения и как они хранятся на компьютерах
Пиксель – это одна точка определенного цвета. Изображение image – это, по сути, набор пикселей. Чем больше пикселей в изображении, тем выше его разрешение. Компьютер не знает, что изображение указателя на самом деле является указателем – он просто знает, что первый пиксель такого-то цвета, следующий пиксель такого-то цвета, и отображает все пиксели, чтобы вы их увидели
Это означает, что текст и не-текст ничем не отличаются для компьютера, и именно поэтому оптическое распознавание символов так сложно. Учитывая это, вот как это работает
Шаг 1: предварительная обработка изображения
Перед извлечением текста изображение необходимо обработать определенными способами, чтобы облегчить извлечение и повысить вероятность успеха. Это называется предварительной обработкой, и различные программные решения используют различные комбинации методов
К наиболее распространенным методам предварительной обработки относятся:
Бинаризация
Каждый отдельный пиксель изображения преобразуется в черный или белый цвет. Цель состоит в том, чтобы четко определить, какие пиксели принадлежат тексту, а какие – фону, что ускоряет процесс распознавания
Deskew
Поскольку документы редко сканируются с идеальным выравниванием, символы могут оказаться наклонными или даже перевернутыми. Цель состоит в том, чтобы определить горизонтальные линии текста и затем повернуть изображение так, чтобы эти линии были действительно горизонтальными
Despeckle
Независимо от того, было ли изображение бинаризовано или нет, на нем может присутствовать шум, который может помешать идентификации символов.Despeckling избавляется от этого шума и пытается сгладить изображение
Удаление линий
Определяет все линии и пометки, которые, вероятно, не являются символами, а затем удаляет их, чтобы не запутаться в процессе распознавания. Это особенно важно при сканировании документов с таблицами и полями
Зонирование
Разделяет изображение на отдельные фрагменты текста, например, для идентификации колонок в многоколоночных документах
Кредит изображения: WayneRay/Wikimedia
Шаг 2: Обработка изображения
Прежде всего, процесс OCR пытается определить базовую линию для каждой строки текста на изображении (или, если оно было зонировано в процессе предварительной обработки, то обрабатывается каждая зона по очереди). Каждая идентифицированная строка символов обрабатывается по очереди
Для каждой строки символов программное обеспечение OCR определяет расстояние между символами путем поиска вертикальных линий нетекстовых пикселей (которые должны быть очевидны при правильной бинаризации). Каждый фрагмент пикселей между этими нетекстовыми линиями помечается как ‘маркер’, представляющий один символ. Следовательно, этот шаг называется токенизацией
После того как все потенциальные символы на изображении определены, программа OCR может использовать два различных метода для определения того, какими символами эти символы являются на самом деле:
Распознавание образов
Каждая лексема сравнивается пиксель в пиксель с целым набором известных глифов – включая цифры, пунктуацию и другие специальные символы – и выбирается наиболее близкое совпадение. Эта техника также известна как матричное соответствие
Здесь есть несколько недостатков. Во-первых, маркеры и глифы должны быть одинакового размера, иначе ни один из них не совпадет. Во-вторых, маркеры должны быть набраны тем же шрифтом, что и глифы, что исключает почерк. Но если шрифт жетона известен, распознавание образов может быть быстрым и точным
Извлечение признаков
Каждый маркер сравнивается с различными правилами, которые описывают, каким символом он может быть. Например, две вертикальные линии одинаковой высоты, соединенные одной горизонтальной линией, скорее всего, являются заглавной буквой H
Эта техника полезна тем, что она не ограничена определенными шрифтами или размерами. Она также может быть более тонкой в распознавании тонких различий между заглавной I, строчной L и цифрой 1. Недостаток? Программирование правил намного сложнее, чем простое сравнение пикселей в токене с пикселями в глифе
Шаг 3: Постобработка изображения
После того, как все сопоставления маркеров завершены, программа OCR может просто закончить работу и представить вам результаты. Но обычно требуется еще немного подправить изображение, чтобы убедиться, что вы не будете закатывать глаза от тарабарщины
Лексическое ограничение
Все слова сравниваются с лексиконом утвержденных слов, и те, которые не совпадают, заменяются наиболее подходящим словом. Одним из примеров лексикона является словарь. Это может помочь исправить слова с ошибочными символами, например, ‘thorn’ вместо ‘th0rn’
Оптимизации для конкретных приложений
Когда OCR используется в нишевых условиях, например, для медицинских или юридических документов, может использоваться особый вид OCR, специально разработанный для этих условий. В этих случаях программа OCR может искать математические уравнения, отраслевые термины и т.д
Естественный язык
Эта передовая технология корректирует предложения с помощью языковой модели, которая описывает вероятность того, что за определенными словами последуют другие слова. Это похоже на технологию, которая предсказывает, какое слово вы хотите набрать следующим на клавиатуре мобильного телефона
При хорошей работе это может привести к тому, что текст будет замечательно читаться
Рекомендуемые средства оптического распознавания символов
Теперь, когда вы знаете, как работает OCR, вам должно быть легко понять, что не все инструменты OCR одинаковы. Точность ваших результатов будет в значительной степени зависеть от того, насколько хорошо программное обеспечение реализует различные методы OCR, рассмотренные в этой статье
Мы настоятельно рекомендуем OneNote для этих целей, и это лишь одна из причин, почему он превосходит Evernote для ведения заметок. Если вы готовы заплатить за премиум-решение, рассмотрите OmniPage. Смотрите наше сравнение OneNote и OmniPage.OmniPage для OCR. Для работы с мобильными документами вам стоит обратить внимание на эти приложения OCR для устройств Android
Как вы используете OCR? Есть ли у вас любимые инструменты OCR, о которых мы не упомянули? Дайте нам знать в комментариях ниже!
Комментировать