Объяснение технологий

Как работает преобразование изображения в текст (оптическое распознавание символов)

Как работает преобразование изображения в текст (оптическое распознавание символов)

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

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

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

Как работает оптическое распознавание символов

Чтобы понять, как текст извлекается из изображения, мы сначала должны понять, что такое изображения и как они хранятся на компьютерах.

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

Это означает, что текст и нетекст ничем не отличаются от компьютера, и поэтому оптическое распознавание символов так сложно. Имея это в виду, вот как это работает.

Шаг 1: Предварительная обработка изображения

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

Более распространенные методы предварительной обработки включают в себя:

бинаризации
Каждый пиксель изображения преобразуется в черный или белый. Цель состоит в том, чтобы выяснить, какие пиксели принадлежат тексту, а какие — фону, что ускоряет фактический процесс распознавания.

Бинаризация для оптического распознавания символов

Deskew
Поскольку документы редко сканируются с идеальным выравниванием, символы могут оказаться наклонными или даже перевернутыми. Цель здесь — определить горизонтальные строки текста, а затем повернуть изображение так, чтобы эти строки были на самом деле горизонтальными.

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

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

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

Зонирование для оптического распознавания символов
Изображение предоставлено: WayneRay / Wikimedia

Шаг 2: Обработка изображения

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

Для каждой строки символов программное обеспечение OCR определяет интервал между символами путем поиска вертикальных линий нетекстовых пикселей (что должно быть очевидно при правильной бинаризации). Каждый кусок пикселей между этими нетекстовыми строками помечается как «токен», который представляет один символ. Следовательно, этот шаг называется токенизацией .

Обработка изображений для оптического распознавания символов

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

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

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

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

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

Шаг 3: Постобработка изображения

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

Лексическое ограничение
Все слова сравниваются с лексиконом утвержденных слов, а любые слова, которые не совпадают, заменяются на наиболее подходящие слова. Словарь является одним из примеров лексикона. Это может помочь исправить слова с ошибочными символами, такими как «шип» вместо «th0rn».

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

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

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

Рекомендуемые инструменты оптического распознавания символов

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

Для этого мы настоятельно рекомендуем OneNote, и это лишь одна из причин, по которой Evernote превосходит Evernote по какое приложение для заметок подходит Если вы готовы платить за премиум-решение, рассмотрите OmniPage. Посмотрите наше сравнение OneNote и OmniPage для OCR Сравнение Для мобильных документов этими приложениями OCR для устройств Android.

Как вы используете OCR? Есть какие-нибудь любимые инструменты OCR, о которых мы не упоминали? Дайте нам знать в комментариях ниже!

Похожие посты
Объяснение технологий

Как работает жесткий диск? [Технология объяснила]

Объяснение технологий

Что такое программное обеспечение с открытым исходным кодом? [MakeUseOf Объясняет]

Объяснение технологий

Разрешения графического дисплея - что означают цифры? [MakeUseOf Объясняет]

Объяснение технологий

Как переформатировать внешний жесткий диск, не теряя на нем все