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

Обновлено: 07.07.2024

Буквально вчера прошла 61-я студенческая научная конференция в Южном Федеральном Университете в городе Таганроге, на которой я представлял доклад по методам распознавания текста на графических изображениях. И хотелось бы поделиться этим с еще большим количеством слушателей и читателей. Кому интересно почитать про велосипеды студента-новичка в этой области, прошу под кат.
Картинки и кусочки кода присутствуют.

Немного теории

Тема распознавания текста попадает под раздел распознавания образов. И для начала коротко о самом распознавании образов.
Распознавание образов или теория распознавания образов это раздел информатики и смежных дисциплин, развивающий основы и методы классификации и идентификации предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков. Данное определение нам дает Wikipedia.

  • Изучение способностей к распознаванию, которыми обладают живые существа, объяснение и моделирование их;
  • Развитие теории и методов построения устройств, предназначенных для решения отдельных задач в прикладных целях.

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

  • Сравнение с заранее подготовленным шаблоном;
  • Распознавание с использованием критериев, распознаваемого объекта;
  • Распознавание при помощи самообучающихся алгоритмов, в том числе при помощи нейронных сетей.

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

Фильтрация и обработка


Так как этап обнаружения был опущен и вставлен этап предобработки то изображение в большинстве своем выглядит следующим образом.



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


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

Сегментация


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


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

Далее наступает сам процесс распознавания. Для пользователя имеется два выбора, при помощи метрик и при помощи нейронной сети.

Распознавание
Рассмотрим первый случай — распознавание при помощи метрик.

Метрика – некоторое условное значение функции, определяющее положение объекта в пространстве. Таким образом, если два объекта расположены близко друг от друга, то есть похожи (например, две буквы А написанные разным шрифтом), то метрики для таких объектов будут совпадать или быть предельно похожими. Для распознавания в этом режиме была выбрана метрика Хэмминга.

Метрика Хэмминга – метрика которая показывает, как сильно объекты не похожи между собой.

Данную метрику часто используют при кодировании информации и передаче данных. Например, после сеанса передачи на выходе имеется следующая последовательность бит (1001001), также нам известно, что должна прийти другая последовательность бит (1000101). Мы вычисляем метрику путем сравнения частей последовательности с соответствующими местами из другой последовательности. Таким образом метрика Хэмминга в нашем случае равна 2. Так как объекты отличаются в двух позициях. 2- это степень непохожести, чем больше, тем хуже в нашем случае.
Следовательно, чтобы определить какая буква изображена нужно найти ее метрику со всеми готовыми шаблонами. И тот шаблон, чья метрика окажется наиболее близкой к 0 будет ответом.

Тогда было принято решение придумать новые метрики, позволяющие разграничить некоторое множество букв в отдельный класс. В частности, были реализованы метрики (Отражения горизонтального и вертикального, преобладания веса горизонтального и вертикального).

Второй способ распознавания – при помощи нейронной сети.

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

Существуют также множества разновидностей этих моделей. В своей работе я использовал однослойную сеть Кохонена.
Принцип работы нейронной сети таков, что поучив на входной слой нейронов новое изображение сеть реагирует импульсом того или иного нейрона. Так как все нейроны поименованы значениями букв, следовательно, среагировавший нейрон и несет ответ распознавания. Углубляясь в терминологию сетей можно сказать, что нейрон помимо выхода имеет также множество входов. Данные входы описывают значение пикселя изображения. То есть, если имеется изображение 16х16, входов у сети должно быть 256.

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

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


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


Все коэффициенты выровнены и готовы воспринимать изображения.
Точность распознавания при этом методе достигает 80 процентов. Следует заметить, что точность распознавания зависит от обучающей выборки, как от количества, так и от качества.


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

Что такое системы перевода и распознавания текста

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

Системы распознавания текста

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

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

Самым популярным программным продуктом, выполняющим распознавание текста, является Fine Reader от компании ABBYY.

Компания ABBYY на современном рынке программных продуктов является лидером мирового масштаба в разработке программных решений, использующих технологию распознавания документов. Более 1000 компаний в 150 странах сотрудничают с ABBYY, включая таких мировых лидеров, как Fujitsu, Panasonic, Microsoft, Sharp, Samsung, Xerox.

Рис. 1. Логотип ABBYY Fine Reader.

Приложение Fine Reader конвертирует изображения в электронные редактируемые форматы. В качестве графических объектов могут быть фотографии, PDF-файлы, а также полученные в результате сканирования копии бумажных документов. После преобразования результаты можно сохранить в форматах приложений Microsoft Word, Excel, Powerpoint, а также в текстовом формате RTF и в формате разметки гипертекста HTML. Самые новые версии этого программного продукта позволяют сохранять результаты распознавания в формате DJVU.

Достоинством данного программного продукта является распознавание более чем на 190, а также встроенная проверка орфографии.

Системы перевода

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

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

Как правило, такие программные продукты можно устанавливать на свой персональный компьютер как отдельные приложения (например, ABBYY Lingvo), но чаще их используют в режиме on-line в сети интернет. Свои услуги по переводу предлагают Яндекс-переводчик, Google-переводчик. Объем переводимого текста в Google может достигать до 5000 знаков, программа позволяет осуществлять перевод с 103 языков.

С 2017 года компания Google использует технологию перевода, основанную на применении нейросетей. Такой механизм позволяет предлагать более точные по смыслу, с учетом различных тонкостей языков, варианты слов.

Рис. 3. Логотип переводчика Google Translate.

Что мы узнали?

Для работы с текстом разработчики программных решений предлагают ряд специальных программных продуктов, предназначенных для машинного перевода и распознавания текста. Приложения для распознавания текста конвертируют фотографии, pdf-документы и друге изображения в электронные редактируемые форматы doc, xlsx, pptx, rtf, html. Программы-переводчики предназначены для перевода текстовых документов с одного языка на другой.

Оптическое распознавание символов (англ. optical character recognition, OCR ) — механический или электронный перевод изображений рукописного, машинописного или печатного текста в текстовые данные — последовательность кодов, использующихся для представления символов в компьютере (например, в текстовом редакторе). Распознавание широко используется для конвертации книг и документов в электронный вид, для автоматизации систем учёта в бизнесе или для публикации текста на веб-странице. Оптическое распознавание текста позволяет редактировать текст, осуществлять поиск слова или фразы, хранить его в более компактной форме, демонстрировать или распечатывать материал, не теряя качества, анализировать информацию, а также применять к тексту электронный перевод, форматирование или преобразование в речь. Оптическое распознавание текста является исследуемой проблемой в областях распознавания образов, искусственного интеллекта и компьютерного зрения.

Содержание

История

В 1929 году Густав Таушек (Gustav Tauschek) получил патент на метод оптического распознавания текста в Германии, после чего за ним последовал Гендель (Paul W. Handel), получив патент на свой метод в США в 1933. В 1935 году Таушек также получил патент США на свой метод. Машина Таушека представляла собой механическое устройство, которое использовало шаблоны и фотодетектор.

Почтовая служба Соединённых Штатов с 1965 года для сортировки почты использует машины, работающие по принципу оптического распознавания текста, созданные на основе технологий, разработанных исследователем Яковом Рабиновым. В Европе первой организацией, использующей машины с оптическим распознаванием текста, был британский почтамт. Почта Канады использует системы оптического распознавания символов с 1971 года. На первом этапе в центре сортировки системы оптического распознавания символов считывают имя и адрес получателя и печатают на конверте штрих-код. Он наносится специальными чернилами, которые отчётливо видимы в ультрафиолетовом свете. Это делается, чтобы избежать путаницы с полем адреса, заполненным человеком, которое может быть в любом месте на конверте.

Текущее состояние технологии оптического распознавания текста

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

Распознавание символов он-лайн иногда путают с оптическим распознаванием символов. Последний — это офф-лайн метод, работающий со статической формой представления текста, в то время как он-лайн распознавание символов учитывает движения во время письма. Например, в он-лайн распознавании, использующем PenPoint OS или планшетный ПК, можно определить, с какой стороны пишется строка: справа налево или слева направо.

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


Пармон Анна Сергеевна Ответственный редактор

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

Читайте также: