Портал магистров
 

Содержание

Введение
Характеристики OCR
Общий алгоритм распознавание текста
  Подготовка текста к сегментации
  Сегментация текста
  Распознавание отдельных символов

Введение

OCR (Optical Character Recognition) - технология преобразования графического изображения текста в компьютерный текст с помощью алгоритма распознавания графических образов.

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

Сегодня OCR-технологии тесно интегрируются с архивными системами.

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

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

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

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

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

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

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

Характеристики OCR

  • Количество ошибок при вводе текста. Обычно оно измеряется в количестве ошибок на страницу введенного текста ( 3000 символов). Допустимой считается величина 10 ошибок на страницу.
  • Требовательность к качеству исходного текста, она обычно сильно отличается для текста с лазерного принтера и третьей копии текста, набранного на пишущей машинке. Наличие слипшихся и разорванных букв обычно значительно увеличивает число ошибок.
  • Наличие программы исправления орфографических ошибок для повышения качества ввода Программа может исправить ошибку так, что получится существующее, но неправильное слово, или вовсе исправить правильно введенное, но отсутствующее в словаре слово на другое.
  • Поддержка языков
  • Требует обучения, то есть настройки на тип и размер шрифтов в Вашем документе. Такая программа называется омнифонтовой.
  • Время распознавания. Желательно, чтобы оно было сопоставимо со временем ввода документа сканером, то есть 15 - 20 с на страницу.

Алгоритм распознавание текста

Общий алгоритм распознавания текста представляется возможным разделить на несколько независимых алгоритмов:
  1. Подготовка текста к сегментации.
  2. Сегментация текста.
  3. Распознавание отдельных символов.

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

Подготовка текста к сегментации

Цель алгоритмов подготовки текста к сегментации - ликвидировать помехи вызванные "человеческим фактором" при сканировании. А именно не ровное расположение текста относительно горизонта. А также преоброзование исходных форматов. Таким образом данную процедуру можно разделить на три части
  1. Преобразование в удобны формат для работы.
  2. Определение угла поворота текста относительно горизонтали.
  3. Поворот изображения на заданный угол.

Сегментация текста

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

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

  1. Выделение отдельных строк текста.
  2. Выделение отдельных слов в строке.
  3. Выделение отдельных букв в слове.

Распознавание отдельных символов

Цель алгоритма распознавание символов - преобразовать исходное изображение символа в его цифровое значение. Даная задача является наиболее сложной из всех перечисленных выше.

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