Признаки символов, используемые для автоматического распознавания
Методы предобработки изображений текстовых символов. Статистические распределения точек. Интегральные преобразования и структурный анализ. Реализация алгоритма распознавания букв. Анализ алгоритмов оптического распознавания символов. Сравнение с эталоном.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.09.2014 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Оглавление
Введение
1. Типовые проблемы, связанные с распознаванием символов
2. Структура систем оптического распознавания текстов
3. Методы предобработки изображений текстовых символов
4. Признаки символов, используемые для автоматического распознавания
4.1 Корреляция и сопоставление шаблонов
4.2 Статистические распределения точек
4.3 Интегральные преобразования
4.4 Структурный анализ
5. Классификация символов
5.1 Сравнение с эталоном
5.2 Нейросетевые структуры
6. Постобработка результатов распознавания
7. Реализация алгоритма распознавания букв
8. Тестирование программы
9. Анализ алгоритмов оптического распознавания символов
10. Обзор существующих систем оптического распознавания символов
Заключение
Список литературы
Приложения
Введение
символ автоматическое распознавание текстовый
Задача распознавания текстовой информации при переводе печатного и рукописного текста в машинные коды является одной из важнейших составляющих проектов, имеющих целью автоматизацию документооборота. Вместе с тем эта задача является одной из наиболее сложных и наукоемких в области автоматического анализа изображений. Даже человек, читающий рукописный текст, в отрыве от контекста делает в среднем 4% ошибок. Что касается систем считывания печатных документов, то здесь сложность заключается в том, что в ответственных приложениях, таких как, например, автоматизация ввода паспортно-визовой информации, необходимо обеспечить высокую надежность распознавания (более 98-99%) даже при плохом качестве печати и оцифровки исходного текста.
В последние десятилетия, благодаря использованию современных достижений компьютерных технологий, были развиты новые методы обработки изображений и распознавания образов, благодаря чему стало возможным создание таких систем распознавания печатного текста, которые удовлетворяли бы основным требованиям систем автоматизации документооборота. Тем не менее, создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследований в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача разработки проблемно-ориентированной системы автоматического ввода в компьютер бумажной документации.
Различные технологии, объединенные под общим термином "распознавание символов", подразделяются на распознавание в реальном режиме времени и распознавание в пакетном режиме, каждый из которых характеризуется собственной аппаратной частью и собственными алгоритмами распознавания.
В типичной системе оптического распознавания текстов (OCR) вводимые символы читаются и оцифровываются оптическим сканером. После этого каждый символ подвергается локализации и выделению, и получившаяся матрица подвергается предобработке, т. е. сглаживанию, фильтрации и нормализации. В результате предобработки выделяются характерные признаки, после чего производится классификация. В работе описываются базовые идеи и методы, позволяющие решить указанные подзадачи, а также их модификации, используемые в современных системах распознавания.
Теория машинного зрения существует не первый день, по этому в литературе можно найти достаточно подходов и решений. Для начала перечислим некоторые из них:
1. Алгоритм скелетизации.
Это метод распознавания одинарных бинарных образов, основанный на построение скелетов этих образов и выделения из скелетов ребер и узлов. Далее по соотношению ребер, их числу и числу узлов строится таблица соответствия образам. Так, например, скелетом круга будет один узел, скелетом буквы П - три ребра и два узла, причем ребра относятся как 2:2:1. В программировании данный метод имеет несколько возможных реализаций, подробнее информацию по методу скелетезации можно найти ниже в разделе ссылки.
2. Нейросетевые структуры.
Направление было очень популярным в 60е-70е годы, в последствии интерес к ним немного поубавился, т.к солидное число нейронов требует солидные вычислительные мощности, которые обычно отсутствуют на простеньких мобильных платформах. Однако надо иметь ввиду, что нейросети иногда дают весьма интересные результаты, за счет своей нелинейной структуры, более того некоторые нейросети способны распознавать образы инвариантные относительно поворота без какой либо внешней предобработки. Так, например, сети на основе неокогнейтронов способны выделять некоторые характерные черты образов, и распознавать их как бы образы не были повернуты.
3. Инвариантные числа.
Из геометрии образов можно выделить некоторые числа, инвариантные относительно размера и поворота образов, далее можно составить таблицу соответствия этих чисел конкретному образу (почти как в алгоритме скелетезации). Примеры инвариантных чисел - число Эйлера, эксцентриситет, ориентация (в смысле расположения главной оси инерции относительно чего-нибудь тоже инвариантного).
4. Поточечное процентное сравнение с эталоном.
Здесь должна быть некоторая предобработка, для получения инвариантности относительно размера и положения, затем осуществляется сравнение с заготовленной базой эталонов изображений - если совпадение больше чем какая-то отметка, то считаем образ распознанным.
1. Типовые проблемы, связанные с распознаванием символов
Существует ряд существенных проблем, связанных с распознаванием рукописных и печатных символов. Наиболее важные из них следующие:
разнообразие форм начертания символов;
искажения изображений;
вариации размеров и масштаба символов.
Каждый отдельный символ может быть написан различными стандартными шрифтами, например (Gothic, Elite, Courier, Orator), специальными шрифтами, использующимися в системах OCR, а также множеством нестандартных шрифтов. Кроме того, различные символы могут обладать сходными очертаниями. Например, 'U и 'V, 'S' и '5', 'Z' и '2', 'G' и '6 '.
Искажения цифровых изображений символов могут быть следующих видов:
Искажения формы: разорванность строк, непропечатанность символов, изолированность отдельных точек, неплоский характер информационного носителя (например, эффект коробления), смещения символов или их частей относительно местоположения в строке;вращения с изменением наклона символов;грубым дискретом оцифровке изображений;
Кроме того, необходимо выделить радиометрические искажения: дефекты освещения, тени, блики, неравномерный фон, ошибки при сканировании или при съемке видеокамерой.
Существенным является и влияние исходного масштаба печати. В принятой терминологии масштаб 10, 12 или 17 означает, что в дюйме строки помещаются 10, 12 или 17 символов. При этом, например, символы масштаба 10 обычно крупнее и шире символа масштаба 12.
Помимо указанных проблем, система оптического распознавания текста (OCR), должна выделять на изображении текстовые области, в них выделять отдельные символы, распознавать эти символы и быть нечувствительной к способу печати (верстки) и расстоянию между строками.
2. Структура систем оптического распознавания текстов
Как правило, системы OCR состоят из нескольких блоков, предполагающих аппаратную или программную реализацию:
- оптический сканер;
- блок локализации и выделения элементов текста;
- блок предобработки изображений;
- блок выделения признаков;
- блок распознавания;
- блок постобработки результатов распознавания.
В результате работы оптического сканера исходный текст вводится в компьютер в виде полутонового или бинарного изображения.
В целях экономии памяти и уменьшения затрат времени на обработку информации, в системах OCR, как правило, применяется преобразование полутонового изображения в черно-белое. Такую операцию называют бинаризацией. Однако необходимо иметь в виду, что операция бинаризации может привести к ухудшению эффективности распознавания.
Программное обеспечение в системах OCR отвечает за представление данных в цифровом виде и разбиение связного текста на отдельные символы.
После разбиения символы, представленные в виде бинарных матриц, подвергаются сглаживанию, фильтрации с целью устранения шумов, нормализации размера, а также другим преобразованиям с целью выделения признаков, используемых впоследствии для распознавания.
Распознавание символов происходит в процессе сравнения выделенных характерных признаков с эталонными признаками, отбираемыми в ходе статистического анализа результатов, полученных в процессе обучения системы.
Таким образом, смысловая или контекстная информация может быть использована как для разрешения неопределенностей, возникающих при распознавании символов, обладающих идентичными размерами, так и для корректировки слов и фраз в целом.
3. Методы предобработки изображений текстовых символов
Предобработка является важным этапом в процессе распознавания образов и позволяет производить сглаживание, нормализацию, сегментацию и аппроксимацию отрезков линий.
Сглаживание состоит из операций заполнения и утоньшения. Заполнение устраняет небольшие разрывы и пробелы.
Утоньшение представляет собой процесс уменьшения толщины линии, в которой сразу несколько пикселов ставятся в соответствие только одному пикселу. Известны последовательные, параллельные и гибридные алгоритмы утоньшения. Наиболее общие методы утоньшения основаны на итеративном размывании контуров, при котором окно (3х3) движется по изображению, и внутри окна выполняются соответствующие операции. После завершения каждого этапа все выделенные точки удаляются.
Скелетизация представляет собой восстановление траектории пишущего инструмента в качестве входной информации которого используют либо скелет изображения, либо контур изображения. Несмотря на большую эффективность использования «скелетизации» восстановление траектории по скелету изображения имеет существенный недостаток: критически важной информацией при восстановлении траектории является форма граничного конура в окрестности областей пересечения штрихов. Из скелета изображения эта информация недоступна (см. рис. 1). К недостаткам «скелетизации» можно отнести также большую чувствительность к шуму на границе изображения и, как следствие, возникновение случайных «отростков» в скелете изображения. Поэтому методы восстановления траектории, основанные на получении скелета, приводят к ошибкам при обработке изображений с достаточно сложной траекторией.
Альтернативой «скелетизации» является метод предобработки, который состоит в следующем: изображение символа разбивается на полосы черных точек, соответствующие непересекающимся отрезкам штрихов (регулярные области) и области пересечения штрихов (узловые области).
Рисунок 1 - Изображение символа и его скелет
Существующие алгоритмы выделения регулярных областей основываются на точечной обработке изображений. В данной работе предлагается алгоритм, построенный только на использовании ломаной, аппроксимирующей контур изображения.
Основными особенностями предлагаемого метода являются:
высокая скорость обработки изображений, которая достигается за счет отсутствия точечной обработки;
отсеивание изображений, для которых метод выделения траекторий неприемлем (изображения с пятнами и заплывами) уже на этапе предобработки.
Нормализация состоит из алгоритмов, устраняющих перекосы отдельных символов и слов, а также включает в себя процедуры, осуществляющие нормализацию символов по высоте и ширине после соответствующей их обработки.
Сегментация осуществляет разбиение изображения на отдельные области. Как правило, прежде всего необходимо очистить текст от графики и рукописных пометок, поскольку перечисленные методы позволяют обрабатывать лишь незашумленный текст. Очищенный от различных пометок текст уже может быть сегментирован.
Большинство алгоритмов оптического распознавания разделяют текст на символы и распознают их по отдельности.
Это простое решение действительно эффективно, если только символы текста не перекрывают друг друга. Слияние символов может быть вызвано типом шрифта, которым был набран текст, плохим разрешением печатающего устройства или высоким уровнем яркости, выбранным для восстановления разорванных символов.
Разбиение текста на слова возможно в том случае, если слово является состоятельным признаком, в соответствии с которым выполняется сегментация. Подобный подход сложно реализовать из-за большого числа элементов, подлежащих распознаванию, но он может быть полезен, если набор слов в кодовом словаре ограничен по условию задачи.
Под аппроксимацией отрезков линий понимают составление графа описания символа в виде набора вершин и прямых ребер, которые непосредственно аппроксимируют цепочки пикселей исходного изображения. Данная аппроксимация осуществляется в целях уменьшения объема данных и может использоваться при распознавании, основанном на выделении признаков, описывающих геометрию и топологию изображения.
4. Признаки символов, используемые для автоматического распознавания
Считается, что выделение признаков является одной из наиболее трудных и важных задач в распознавании образов. Для распознавания символов может быть введено большое количество различных систем признаков. Проблема заключается в том, чтобы выделить именно те признаки, которые позволят эффективно отличать один класс символов от всех остальных.
В данном разделе описан ряд основных методик распознавания символов.
4.1 Корреляция и сопоставление шаблонов
Введенная матрица символов сравнивается с набором эталонов. Вычисляется степень сходства между образом и каждым из эталонов. Классификация тестируемого изображения символа происходит по методу ближайшего соседа.
С практической точки зрения этот метод легко реализовать, и многие коммерческие системы его используют. Однако даже небольшое темное пятно, попавшее на внешний контур символа, может существенно повлиять на результат распознавания. Поэтому для достижения хорошего качества распознавания в системах, использующих сопоставление шаблонов, применяются другие способы сравнения изображений.
Одна из основных модификаций алгоритма сравнения шаблонов использует представление шаблонов в виде набора логических правил.
4.2 Статистические распределения точек
В данной группе методов выделение признаков осуществляется на основе анализа различных статистических распределений точек. Наиболее известные методики этой группы используют вычисление моментов и подсчет пересечений.
Моменты различных порядков с успехом используются в таких задачах обработки изображений как зрение роботов, обнаружение и распознавание летательных аппаратов и судов по снимкам, анализ сцен и распознавание символов. В последнем случае в качестве признаков используют значения статистических моментов совокупности "черных" точек относительно некоторого выбранного центра.
Наиболее общеупотребительными в приложениях такого рода являются построчные, центральные и нормированные моменты.
Для цифрового изображения, хранящегося в двумерном массиве, построчные моменты являются функциями координат каждой точки изображения следующего вида:
, |
где p,q=0,l,...,?; M и N являются размерами изображения по горизонтали и вертикали и f(x,y) является яркостью пикселя в точке (х,у) на изображении.
Центральные моменты являются функцией расстояния точки от центра тяжести символа:
, |
где х и у с чертой - координаты центра тяжести.
Наконец, нормированные центральные моменты получаются в результате деления центральных моментов на моменты нулевого порядка.
Следует отметить, что строковые моменты, как правило, обеспечивают низкий уровень распознавания. Центральные и нормированные моменты предпочтительнее из-за их большей инвариантности к преобразованиям изображений.
В методе пересечений признаки формируются путем подсчета того, сколько раз произошло пересечение изображения символа с выбранными прямыми, проводимыми под определенными углами, например, 0, 45, 90, 135 градусов. Этот метод часто используется в коммерческих системах благодаря тому, что он инвариантен к дисторсии и небольшим стилистическим вариациям символов, а также обладает достаточно высокой скоростью и не требует значительных вычислительных затрат. Так, например, представлена на рынке OCR-систем автоматическое устройство, которое читает любые заглавные буквенно-цифровые символы. В качестве алгоритма распознавания используется метод пересечений.
Существует множество других методов распознавания, основанных на выделении признаков из статистического распределения точек. Например, метод зон предполагает разделение площади рамки, объемлющей символ, на области, и последующее использование плотностей точек в различных областях в качестве набора характерных признаков.
В методе матриц смежности в качестве признаков рассматриваются частоты совместной встречаемости "черных" и "белых" элементов в различных геометрических комбинациях.
4.3 Интегральные преобразования
Среди современных технологий распознавания, основанных на преобразованиях, выделяются методы, использующие Фурье-дескрипторы символов, а также дескрипторы границ.
Преимущества методов, использующих преобразования Фурье-Меллина, связаны с тем, что они обладают инвариантностью к масштабированию, вращению и сдвигу символа. Основной недостаток этих методов заключается в нечувствительности к резким скачкам яркости на границах. В то же время, при фильтрации шума на границах это свойство может оказаться полезным.
4.4 Структурный анализ
Структурные признаки обычно используются для выделения общей структуры образа. Они описывают геометрические и топологические свойства символа.
Одними из наиболее используемых признаков являются штрихи и пробелы, применяемые для определения следующих характерных особенностей изображения: концевых точек, пересечения отрезков, замкнутых циклов, а также их положения относительно рамки, объемлющей символ.
Пусть матрица, содержащая утоньшенный символ, разделена на ряд областей, каждой из которых присвоены буквы А, B, С и т.д. Символ рассматривается как набор штрихов. При этом штрих является прямой линией (л) или кривой (c), и соединяет некоторые две точки в начертании символа. Штрих является кривой, если его точки удовлетворяют следующему выражению:
в противном случае - это прямая. В данной формуле (xi,yi) является точкой, принадлежащей штриху; ax+by+c=0 - уравнение прямой, проходящей через концы штриха, коэффициент 0.69 получен опытным путем.
При введенных обозначениях признаки символа могут быть записаны, например, в виде 'AлC' и 'AcD', что означает наличие прямой, проходящей из области 'А' в область 'С', и кривой, проходящей из области 'А' в область 'D' соответственно. Достоинство структурных признаков по сравнению с другими методами определятся устойчивостью к сдвигу, масштабированию и повороту символа на небольшой угол, а также - к возможным дисторсиям и различным стилевым вариациям шрифтов.
К сожалению, задача выделения признаков данного типа находится пока в процессе исследования и не имеет еще общепризнанного решения.
5. Классификация символов
В существующих системах OCR используются разнообразные алгоритмы классификации, то есть отнесения признаков к различным классам. Они существенно различаются в зависимости от выбранных признаков и от правил классификации.
5.1 Сравнение с эталоном
Для классификации символов необходимо в первую очередь создать библиотеку эталонных векторов признаков. Для этого на стадии обучения оператор или разработчик вводит в систему OCR большое количество образцов начертания символов. Для каждого образца система выделяет признаки и сохраняет их в виде соответствующего вектора признаков. Набор векторов признаков, описывающих символ, называется классом или кластером.
В процессе эксплуатации системы OCR может появиться необходимость расширить базу знаний. Для осуществления данной цели некоторые системы обладают возможностью дообучения в реальном режиме времени. Однако процесс обучения требует участия оператора и существенных затрат времени, хотя и проводятся исследования, направленные на автоматизацию процесса обучения, что в будущем позволит свести к минимуму участие в нем человека-оператора.
Задачей классификации является определение класса, которому принадлежит вектор признаков, полученный для данного символа.
Алгоритмы классификации основаны на определении степени близости набора признаков рассматриваемого символа каждому из классов. Правдоподобие получаемого результата зависит от выбранной метрики пространства признаков. К наиболее известным метрикам относится Евклидово расстояние:
, |
где - i-й признак из j-го эталонного вектора; - i-й признак тестируемого изображения символа.
При классификации по методу ближайшего соседа символ будет отнесен к классу, вектор признаков которого наиболее близок к вектору признаков символа. Следует учитывать, что затраты на вычисления возрастут с увеличением количества используемых признаков и классов.
Одна из методик, позволяющих улучшить метрику сходства, основана на статистическом анализе эталонного набора признаков. При этом в процессе классификации более надежным признакам отдается больший приоритет:
, |
где wi, - вес i-го признака.
Другая методика классификации, требующая знания априорной информации, основана на использовании формулы Байеса. Из правила Байеса следует, что рассматриваемый вектор признаков принадлежит классу "j", если отношение правдоподобия К больше чем отношение априорной вероятности класса j к априорной вероятности класса L.
5.2 Нейросетевые структуры
Искусственные нейронные сети достаточно широко используются при распознавании символов. Алгоритмы, использующие нейронные сети для распознавания символов, часто строятся следующим образом. Поступающее на распознавание изображение символа (растр) приводится к некоторому стандартному размеру. Как правило, используется растр размером 16х16 пикселей. Примеры таких нормализованных растров показаны на Рис. 2.
Рисунок 2 - Растровое изображение
Значения яркости в узлах нормализованного растра используются в качестве входных параметров нейронной сети. Число выходных параметров нейронной сети равняется числу распознаваемых символов. Результатом распознавания является символ, которому соответствует наибольшее из значений выходного вектора нейронной сети (см. Рис 3, показана только часть связей и узлов растра). Повышение надежности таких алгоритмов связано, как правило, либо с поиском более информативных входных признаков, либо с усложнением структуры нейронной сети.
Надежность распознавания и потребность программы в вычислительных ресурсах во многом зависят от выбора структуры и параметров нейронной сети. Изображения цифр приводятся к единому размеру (16х16 пикселей). Полученное изображение подается на вход нейронной сети.
Рисунок 3 - Часть нейронной сети
В качестве входных параметров нейронной сети вместо значений яркости в узлах нормализованного растра могут использоваться значения, характеризующие перепад яркости. Такие входные параметры позволяют лучше выделять края буквы. Система распознавания рукопечатных цифр, использующие такие входные параметры. Поступающие на распознавание изображения приводятся к размеру 16х16 пикселей. После этого они подвергаются дополнительной обработке с целью выделения участков с наибольшими перепадами в яркости.
Одним из широко используемых методов повышения точности распознавания является одновременное использование нескольких различных распознающих модулей и последующее объединение полученных результатов (например, путем голосования). При этом очень важно, чтобы алгоритмы, используемые этими модулями, были как можно более независимы. Это может достигаться как за счет использования распознающих модулей, использующих принципиально различные алгоритмы распознавания, так и специальным подбором обучающих данных.
Один из таких методов был предложен несколько лет назад и основан на использовании трех распознающих модулей (машин). Первая машина обучается обычным образом. Вторая машина обучается на символах, которые были отфильтрованы первой машиной таким образом, что вторая машина видит смесь символов, 50% из которых были распознаны первой машиной верно и 50% неверно. Наконец, третья машина обучается на символах, на которых результаты распознавания 1-ой и 2-ой машин различны. При тестировании распознаваемые символы подаются на вход всем трем машинам. Оценки, получаемые на выходе всех трех машин складываются. Символ, получивший наибольшую суммарную оценку выдается в качестве результата распознавания.
Более детальная информация по данному методу распознавания образов представлена в приложении «Б».
6. Постобработка результатов распознавания
В высокоточных системах OCR, таких как, например, системы считывания и обработки машиночитаемых паспортно-визовых документов, качество распознавания, получаемое при распознавании отдельных символов, не считается достаточным. В таких системах необходимо использовать также контекстную информацию. Использование контекстной информации позволяет не только находить ошибки, но и исправлять их.
Существует большое количество приложений OCR, использующих глобальные и локальные позиционные диаграммы, триграммы, п-граммы, словари и различные сочетания этих методов. Рассмотрим два подхода к решению такой задачи: словарь и набор бинарных матриц, аппроксимирующих структуру словаря.
Доказано, что словарные методы являются одними из наиболее эффективных при определении и исправлении ошибок классификации отдельных символов. При этом после распознавания всех символов некоторого слова словарь просматривается в поисках этого слова, с учетом того, что оно, возможно, содержит ошибку. Если слово найдено в словаре, это не говорит об отсутствии ошибок. Ошибка может превратить одно слово, находящееся в словаре, в другое, также входящее в словарь. Такая ошибка не может быть обнаружена без использования смысловой контекстной информации, только она может подтвердить правильность написания. Если слово в словаре отсутствует, считается, что в слове допущена ошибка. Для исправления ошибки прибегают к замене такого слова на похожее слово из словаря. исправление не производится, если в словаре найдено несколько подходящих вариантов замены. В этом случае интерфейс некоторых систем позволяет предложить пользователю различные варианты решения, например, исправить ошибку, игнорировать ее и продолжать работу или внести это слово в словарь.
Главный недостаток в использовании словаря заключается в том, что операции поиска и сравнения, применяющиеся для исправления ошибок, требуют значительных вычислительных затрат, возрастающих с увеличением объема словаря.
Некоторые разработчики с целью преодоления трудностей, связанных с использованием словаря, пытаются выделять информацию о структуре слова из самого слова. Такая информация говорит о степени правдоподобия п-граммов (например, пары и тройки букв) в тексте. N-граммы также могут быть глобально позиционированными, локально позиционированными или вообще непозиционированными.
Например, степень достоверности непозиционированной пары букв может быть представлена в виде бинарной матрицы, элемент которой равен 1, тогда и только тогда, когда соответствующая пара букв имеется в некотором слове, входящем в словарь. Позиционная бинарная диаграмма Dy является бинарной матрицей, определяющей, какая из пар букв имеет ненулевую вероятность возникновения в конкретной позиции (i,j). Набор всех позиционных диаграмм включает бинарные матрицы для каждой пары положений.
7. Реализация алгоритма распознавания букв
В рамках курсовой работы была написана программа частично реализующая основные блоки автоматического распознавания букв.
На рисунке 4 представлена блок схема реализуемой программы.
Рисунок 4 - Блок схема программы
Процесс распознавания:
Загрузка изображения. Для начала нам необходимо изображение, с которым потом можно работать. Загружаем его стандартными методами ОС Windows.
В данной программе распознаются только бинарные образы, поэтому вторым этапом после получения картинки, она бинаризуется. При работе с цветным изображением преобразование из цветного в черно-белое изображение идет по стандартной формуле
Y:=0.3*R+0.59*G+0.11*B
Далее алгоритм довольно прост: есть некоторая планка, если цвет оттенка серого выше - он считается белым, если ниже - считается черным. Как видно бинаризация очень проста, однако для серьезного улучшения качества работы распознавания, и уменьшения времени работы последующих модулей, на этом месте лучше ввести некий фильтр, пускай даже самый простенький. В данной программе не используется никакой фильтр, однако место где он может быть включен обозначено.
Зачастую полученное изображение изобилует помехами, не имеющими никакого отношения к символам и только мешающие процессу распознавания. Используя простейший метод, считающий плотность точек в заданной области, удается избавиться от большего количества помех.
Разбиение изображения на части, каждая из которых содержит свой уникальных объект называется сегментацией.
В данной программе реализовано попиксельное сравнение с эталонными символами заданного шрифта. Если процент совпадения эталона и выделенного символа не ниже заданной границы, то символ считается распознанным.
Исходный текст программы находится в приложении А.
8. Тестирование программы
Открываем изображение (Рис. 5). Подходит любое изображение в формате BMP.
Рисунок 5 - Открытое изображение
Для распознавания необходимо выбрать пункт меню «Распознать». После этого происходит бинаризация, очистка от шума (Рис. 6) и начинается сам процесс распознавания символов (Рис. 7).
Рисунок 6 - Бинаризация и удаление шума
Рисунок 7 - Распознавание символов
Распознанные символы после окончания работы программы выводятся в строке под рисунком (Рис 8).
Рисунок 8 - Распознанные символы
9. Анализ Алгоритмов оптического распознавания символов
В случае, когда речь идет о распознавании печатных символов следует упомянуть, что почти бесконечное разнообразие печатной продукции изготавливается при помощью ограниченного набора оригиналов символов, которые группируются по стилю (набору художественных решений), который отличает данную группу от других. Одна группа, включающая все алфавитные знаки, цифры и стандартный набор служебных символов, называется гарнитурой. Однако широко распространился другой термин - шрифт, этот термин и будет использоваться в дальнейшем.
Любой печатный текст имеет первичное свойство - шрифты, которыми он напечатан. С этой точки зрения существуют два класса алгоритмов распознавания печатных символов: шрифтовой и безшрифтовый (omnifont). Шрифтовые или шрифтозависимые алгоритмы используют априорную информацию о шрифте, которым напечатаны буквы. Это означает, что программе ОРС должна быть предъявлена полноценная выборка текста, напечатанного данным шрифтом. Программа измеряет и анализирует различные характеристики шрифта и заносит их в свою базу эталонных характеристик. По окончании этого процесса шрифтовая программа оптического распознавания символов (ОРС) готова к распознаванию данного конкретного шрифта. Этот процесс условно можно назвать обучением программы. Далее обучение повторяется для некоторого множества шрифтов, которое зависит от области применения программы.
К недостаткам данного подхода следует отнести следующие факторы:
Алгоритм должен заранее знать шрифт, который ему представляют для распознавания, т.е. он должен хранить в базе различные характеристики этого шрифта. Качество распознавания текста, напечатанного произвольным шрифтом, будет прямо пропорционально корреляции характеристик этого шрифта со шрифтами, имеющимися в базе программы. При существующем богатстве печатной продукции в процессе обучения невозможно охватить все шрифты и их модификации. К примеру, Полиграфбуммаш СССР в свое время стандартизировал около 15-20 различных шрифтов, в современных компьютерных системах верстки документов используется более 100 шрифтов. Другими словами, этот фактор ограничивает универсальность таких алгоритмов.
Для работы программы распознавания необходим блок настройки на конкретный шрифт. Очевидно, что этот блок будет вносить свою долю ошибок в интегральную оценку качества распознавания, либо функцию установки шрифта придется возложить на пользователя.
Программа, основанная на шрифтовом алгоритме распознавания символов, требует от пользователя специальных знаний о шрифтах вообще, об их группах и отличиях друг от друга, шрифтах, которыми напечатан документ, пользователя. Отметим, что в случае, если бумажный документ не создан самим пользователем, а пришел к нему извне, не существует регулярного способа узнать с использованием каких шрифтов этот документ был напечатан. Фактор необходимости специальных знаний сужает круг потенциальных пользователей и сдвигает его в сторону организаций, имеющих в штате соответствующих специалистов.
С другой стороны, у шрифтового подхода имеется преимущество, благодаря которому его активно используют и, по-видимому, будут использовать в будущем. А именно, имея детальную априорную информацию о символах, можно построить весьма точные и надежные алгоритмы распознавания. Вообще, при построении шрифтового алгоритма распознавания надежность распознавания символа является интуитивно ясной и математически точно выразимой величиной. Эта величина определяется как расстояние в каком-либо метрическом пространстве от эталонного символа, предъявленного программе в процессе обучения, до символа, который программа пытается распознать.
Второй класс алгоритмов - безшрифтовые или шрифтонезависимые, т.е. алгоритмы, не имеющие априорных знаний о символах, поступающих к ним на вход. Эти алгоритмы измеряют и анализируют различные характеристики (признаки), присущие буквам как таковым безотносительно шрифта и абсолютного размера (кегля), которым они напечатаны. В предельном случае для шрифтонезависимого алгоритма процесс обучения может отсутствовать. В этом случае характеристики символов измеряет, кодирует и помещает в базу программы сам человек. Однако на практике, случаи, когда такой путь исчерпывающе решает поставленную задачу, встречаются редко. Более общий путь создания базы характеристик заключается в обучении программы на выборке реальных символов.
К недостаткам данного подхода можно отнести следующие факторы:
Реально достижимое качество распознавания ниже, чем у шрифтовых алгоритмов. Это связано с тем, что уровень обобщения при измерениях характеристик символов гораздо более высокий, чем в случае шрифтозависимых алгоритмов. Фактически это означает, что различные допуски и огрубления при измерениях характеристик символов для работы безшрифтовых алгоритмов могут быть в 2-20 раз больше по сравнению с шрифтовыми.
Следует считать большой удачей, если безшрифтовый алгоритм обладает адекватным и физически обоснованным, т.е. естественно проистекающим из основной процедуры алгоритма, коэффициентом надежности распознавания. Часто приходится мириться с тем, что оценка точности либо отсутствует, либо является искусственной. Под искусственной оценкой подразумевается то, что она существенно не совпадает с вероятностью правильного распознавания, которую обеспечивает данный алгоритм.
Достоинства этого подхода тесно связаны с его недостатками. Основными достоинствами являются следующие:
Универсальность. Это означает с одной стороны применимость этого подхода в случаях, когда потенциальное разнообразие символов, которые могут поступить на вход системы, велико. С другой стороны, за счет заложенной в них способности обобщать, такие алгоритмы могут экстраполировать накопленные знания за пределы обучающей выборки, т.е. устойчиво распознавать символы, по виду далекие от тех, которые присутствовали в обучающей выборке.
Технологичность. Процесс обучения шрифтонезависимых алгоритмов обычно является более простым и интегрированным в том смысле, что обучающая выборка не фрагментирована на различные классы (по шрифтам, кеглям и т.д.). При этом отсутствует необходимость поддерживать в базе характеристик различные условия совместного существования этих классов (некоррелированность, не смешиваемость, систему уникального именования и т.п.). Проявлением технологичности является также тот факт, что часто удается создать почти полностью автоматизированные процедуры обучения.
Удобство в процессе использования программы. В случае, если программа построена на шрифтонезависимых алгоритмах, пользователь не обязан знать что-либо о странице, которую он хочет ввести в компьютерную память и уведомлять об этих знаниях программу. Также упрощается пользовательский интерфейс программы за счет отсутствия набора опций и диалогов, обслуживающих обучение и управление базой характеристик. В этом случае процесс распознавания можно представлять пользователю как “черный ящик” (при этом пользователь полностью лишен возможности управлять или каким-либо образом модифицировать ход процесса распознавания). В итоге это приводит к расширению круга потенциальных пользователей за счет включения в него людей обладающих минимальной компьютерной грамотностью.
10. Обзор существующих систем оптического распознавания символов
Большинство программ оптического распознавания символов (OCR Optical Character Recognition) работают с растровым изображением, которое получено через факс-модем, сканер, цифровую фотокамеру или другое устройство.
Основное назначение OCR-систем состоит в анализе растровой информации (отсканированного символа) и присвоении фрагменту изображения соответствующего символа. После завершения процесса распознавания OCR-системы должны уметь сохранять форматирование исходных документов, присваивать в нужном месте атрибут абзаца, сохранять таблицы, графику ит.д. Современные программы распознавания поддерживают все известные текстовые и графические форматы и форматы электронных таблиц, а некоторые поддерживают такие форматы, как HTML и PDF.
Работа с OCR-системами, как правило, не должна вызывать особых затруднений. Большинство таких систем имеют простейший автоматический режим сканируй и распознавай. Кроме того, они поддерживают и режим распознавания изображений из файлов. Однако для того, чтобы достигнуть лучших из возможных для данной системы результатов, желательно (а нередко и обязательно) предварительно вручную настроить ее на конкретный вид текста, макет бланка и качество бумаги.
Очень важным при работе с OCR-системой является удобство выбора языка распознавания и типа распознаваемого материала (пишущая машинка, факс, матричный принтер, газета ит.д.), а также интуитивная понятность пользовательского интерфейса. При распознавании текстов, в которых использовано несколько языков, эффективность распознавания зависит от умения OCR-системы формировать группы языков. В то же время в некоторых системах уже имеются комбинации для наиболее часто используемых языков, например: русский и английский.
На данный момент существует огромное количество программ, поддерживающих распознавание текста.
Начнем обзор с лидера в этой области FineReader. Это программный продукт фирмы ABBYY Software, раньше разрабатывался фирмой Bit Software. Восьмая версия программы (8.0) знает огромное количество форматов для сохранения, включая PDF и имеет возможность прямого распознавания из PDF-файлов. Новая технология Intelligent Background Filtering (интеллектуальной фильтрации фона) позволяет отсеять информацию о текстуре документа и фоновом шуме изображения: иногда для выделения текста в документе используется серый или цветной фон. Человеку это не мешает читать, но обычные алгоритмы распознавания текста испытывают серьезные затруднения при работе с буквами, расположенными поверх такого фона. Теперь программа FineReader умеет определять зоны, содержащие подобный текст, отделяя текст от фона документа, находя точки, размер которых меньше определенной величины, и удаляя их. При этом контуры букв сохраняются, так что точки фона, близко расположенные к этим контурам, не вносят помех, способных ухудшить качество распознавания текста.
Рисунок 9 - Распознавание в FineReader
Рисунок 10 - Распознавание в FineReader через мастера
Новая версия ABBYY FineReader 8.0 Professional Edition сочетает в себе непревзойдённую точность распознавания, простоту использования и широкий диапазон настроек. Повышено качество распознавания факсов и документов, отсканированных с низким разрешением, на новый уровень выведено распознавание изображений, полученных с помощью цифровой камеры. Новый быстрый режим распознавания позволяет в несколько раз ускорить обработку качественно отпечатаных документов. Реализовано автоматизированное выполнение типовых задач распознавания, в том числе и по собственным сценариям. Быстрее и точнее стало преобразование PDF-файлов, добавлена функция защиты PDF-файлов паролем. Теперь в комплект поставки системы входит утилита для распознавания скриншотов.
Преимущества FineReader 8.0 перед другими системами оптического распознавания символов:
Повышение точности распознавания трудночитаемых документов. Изображения документов, которые были отсканированы с низким разрешением, ABBYY FineReader 8.0 распознаёт на 15%* лучше, чем системы CuneiForm, Readiris Pro 7. Также повышено качество распознавания факсов -- на 30%* результаты достигнуты благодаря усовершенствованию уникальной OCR-технологии ABBYY.
Повышение точности распознавания специализированных текстов. Добавлена возможность подключать при распознавании пользовательский словарь Microsoft Word. Это дополнительный способ повышения точности распознавания специализированных текстов.
Рисунок 11 - Выбор словаря
Повышение точности распознавания цифровых фотографий. Теперь для распознавания необязательно оснащать компьютер сканером. ABBYY FineReader 8.0 позволяет распознавать фотографии документов, сделанные цифровой камерой. С точки зрения OCR-системы, цифровые фотографии значительно отличаются от отсканированных изображений. На снимках нередко встречаются искажения: неравномерное освещение, плохая фокусировка, «изогнутые» строки на краях документа, и т.д. Кроме того, в файлах цифровых фотографий зачастую отсутствует информация о разрешении. ABBYY FineReader 8.0 отличает сфотографированные документы от отсканированных и применяет для обработки снимков новую адаптивную технологию распознавания. Поэтому FineReader 8.0 справляется с наиболее частыми дефектами фотографий и распознаёт сфотографированные документы на 40% точнее, чем системы CuneiForm, Readiris Pro 7.
Интеллектуальное распознавание. В ABBYY FineReader 8.0 усовершенствована технология обработки PDF-файлов. Как известно, некоторые PDF-файлы содержат так называемый текстовый слой, причём его содержимое может не полностью соответствовать видимому на экране документу. FineReader 8.0 предварительно анализирует содержимое файла и для каждого текстового блока принимает решение: распознать его или извлечь соответствующий текст из текстового слоя. Таким образом удаётся увеличить качество распознавания и в 2 раза сократить время обработки.
Создание PDF-файлов, защищённых паролем. В восьмой версии ABBYY FineReader появилась возможность защиты PDF-файлов паролем. Пароль может быть установлен как на открытие файла, так и на прочие действия с документом (печать, извлечение содержимого, возможность редактирования, внесение комментариев, добавление/удаление страниц и др.). Предусмотрена возможность выбрать один из трёх уровней шифрования: 40-битный, 128-битный на основе стандарта RC4, 128-битный уровень, основанный на стандарте AES (Advanced Encryption Standard).
Рисунок 12 - Параметры защиты PDF
Создание PDF-файлов, отформатированных под желаемый размер экрана. PDF-документы с тегами автоматически переформатируются под нужный размер экрана. Теперь ABBYY FineReader 8.0 способен создавать такие PDF-файлы, которые удобно просматривать на экранах любого размера, в частности, на экранах карманных компьютеров.
Рисунок 13 - Создание PDF-файлов желаемого размера
Автоматическая обработка документов. Процесс распознавания документов очень часто состоит из одного и того же набора операций. Например, сканирование, распознавание, сохранение распознанного текста в определённом формате. Для экономии времени пользователя в ABBYY FineReader 8.0 предусмотрена возможность автоматизации однотипных действий. Для этого описано несколько наиболее распространённых сценариев обработки документов. Для запуска сценария достаточно просто нажать одну кнопку -- вся остальная работа будет выполнена системой автоматически, в соответствии с настройками сценария.
Рисунок 14 - Менеджер сценариев
Кроме того, в ABBYY FineReader 8.0 можно создавать собственные, пользовательские сценарии. Мастер сценариев поможет быстро и просто настроить FineReader на решение тех или иных задач. Например, распознать документ, сохранить результаты в PDF и отправить по указанному адресу электронной почты -- и всё это нажатием одной кнопки!
Рисунок 15 - Мастер сценариев
Экономия времени при распознавании. В ABBYY FineReader 8.0 добавлен новый режим распознавания -- «Быстрый». Он позволяет в 2-2,5 раза ускорить обработку документов с простым оформлением. Этот режим предназначен для оптимизации временных затрат при распознавании большого количества хорошо отсканированных изображений (например, при создании электронного архива офисной документации).
Распознавание и восстановление гиперссылок. Восьмая версия системы автоматически находит в тексте гиперссылки на веб-сайты, адреса электронной почты, файлы, ftp-серверы и воспроизводит их как ссылки в выходных документах. Такие документы могут быть сохранены в форматах Microsoft Word, PDF и HTML. Кроме того, в распознанный текст можно добавлять собственные гиперссылки.
ABBYY Screenshot Reader. Это простое и удобное приложение предназначено для распознавания текста с любой области экрана компьютера. Screenshot Reader позволит переводить в редактируемый формат такие тексты, которые нельзя скопировать обычным способом (например, тексты с интернет-страниц, созданных при помощи технологии Flash). Как распознанный текст, так и снимок экрана могут быть сохранены в виде файла или переданы в буфер обмена. Таким образом, при помощи ABBYY Screenshot Reader можно: быстро собрать в один файл цитаты из нескольких открытых документов, получить в виде текста содержание папки с файлами, название файлов и атрибуты, сохранить в виде текста историю писем в Outlook, извлечь текст из сообщений об ошибках, сообщений в строке статуса, и т.д., сохранить данные только из выбранного столбца таблицы (в интернет-браузере, базе данных и т.д.).
Исправление разрешения. Эта функция помогает в тех случаях, когда изображение не содержит информации о разрешении. Если обрабатывать такие изображения без предварительной коррекции, качество окажется невысоким. Поэтому ABBYY FineReader 8.0 при добавлении изображений в пакет проверяет каждое из них. В случаях, когда разрешение изображений не указано или имеет нетипичное значение, производится его коррекция. Пользователь может устанавливать разрешение изображений вручную.
Рисунок 16 - Исправление разрешения
Обрезание изображений. В ABBYY FineReader 8.0 есть функция обрезания изображения; предусмотрены автоматический и ручной режимы. Функция предназначена для удаления чёрных полей (они иногда возникают при сканировании книг), для приведения страниц пакета к одинаковому размеру, для удаления с фотографий документов областей, не содержащих текста.
«Выпрямление» строк. Зачастую при сканировании толстых книг и журналов строки текста вблизи сгиба оказываются искривлены. Аналогичная проблема встречается при фотографировании: строки искривляются вблизи краёв документа. В ABBYY FineReader 8.0 появилась функция, позволяющая устранить подобные искажения и увеличить таким образом качество распознавания.
Указание дополнительных свойств. ABBYY FineReader 8.0 позволяет указать для распознанного документа дополнительные свойства, такие как описание, автор, тема, ключевые слова. Сохранить подобный документ можно в формате PDF, DOC/RTF, XLS, HTML, Word XML или LIT. Указанные свойства могут в дальнейшем использоваться для индексирования и поиска по документам.
Удобная работа с многостраничными документами. При открытии многостраничных TIFF- и PDF-файлов ABBYY FineReader 8.0 позволяет указать диапазон страниц, которые необходимо открыть. Это удобно, например, когда требуется распознать не всю книгу в формате PDF, а только некоторые её главы.
Новые входные и выходные форматы. ABBYY FineReader 8.0 способен открывать графические файлы формата TIFF, сжатые по алгоритму LZW. Существует возможность сохранять результаты распознавания в формат Microsoft Reader eBook (LIT), один из самых популярных форматов для создания электронных книг.
Настройки сохранения RTF/ DOC. Существует режим сохранения -- «Колонки, таблицы, абзацы, шрифты». Он позволяет, с одной стороны, сохранить близкое к оригиналу оформление документа, а с другой стороны -- легко редактировать распознанный текст.
Рисунок 17 - Выбор настроек сохранения
ABBYY FineReader 8.0 поддерживает 179 языков распознавания, включая 36 языков со словарной поддержкой. Также добавлены словари для венгерского, датского, польского, итальянского, голландского (Нидерланды), норвежского (букмол и нюнорск), португальского (Португалия), финского языков распознавания. Это позволило увеличить качество распознавания на всех перечисленных языках. Огромное количество языков распознавания со словарной поддержкой. Словари для словенского и башкирского языков.
Используя все возможности современных программ верстки, дизайнеры часто создают объекты сложной формы, такие, как обтекание непрямоугольной картинки многоколоночным текстом. В FineReader 8.0 реализована поддержка распознавания таких объектов и их сохранение в файлах формата MS Word. Теперь документы сложной верстки будут точно воспроизведены в этом текстовом редакторе. Даже таблицы распознаются с максимальной точностью, сохраняя при этом все возможности для редактирования.
ABBYY FormReader еще одна программа для распознавания текста от ABBYY, основанная на ABBYY FineReader Engine. Эта программа предназначена для распознавания и обработки форм, которые могут быть заполнены вручную. Производители утверждают, что программа ABBYY FormReader может обрабатывать формы с фиксированной схемой так же хорошо, как и формы, чья структура может меняться. Для распознавания была применена новая технология ABBYY FlexiForm technology.
OCR CuneiForm один из главных конкурентов FineReader как на российском, так и на мировом рынке. Производителем является российский разработчик программного обеспечения Cognitive Technologies. По словам производителей, OCR CuneiForm выгодно отличается уровнем распознавания, особенно текстов низкого качества; удобным интерфейсом с наличием встроенных мастеров помощников в работе; встроенным текстовым редактором, не уступающим по своей функциональности популярным текстовым процессорам, и многими другими возможностями.
Подобные документы
Оптическое распознавание символов как механический или электронный перевод изображений рукописного, машинописного или печатного текста в последовательность кодов. Компьютерные программы для оптического распознавания символов и их характеристика.
презентация [855,2 K], добавлен 20.12.2011Процессы распознавания символов. Шаблонные и структурные алгоритмы распознавания. Процесс обработки поступающего документа. Обзор существующих приложений по оптическому распознаванию символов. Определение фиксированного шага и сегментация слов.
дипломная работа [3,3 M], добавлен 11.02.2017Необходимость в системах распознавания символов. Виды сканеров и их характеристики. Оптимальное разрешение при сканировании. Программы распознавания текста. Получение электронного документа. FineReader - система оптического распознавания текстов.
презентация [469,2 K], добавлен 15.03.2015Обзор математических методов распознавания. Общая архитектура программы преобразования автомобильного номерного знака. Детальное описание алгоритмов: бинаризация изображения, удаление обрамления, сегментация символов и распознавание шаблонным методом.
курсовая работа [4,8 M], добавлен 22.06.2011Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013Понятие системы распознавания образов. Классификация систем распознавания. Разработка системы распознавания формы микрообъектов. Алгоритм для создания системы распознавания микрообъектов на кристаллограмме, особенности его реализации в программной среде.
курсовая работа [16,2 M], добавлен 21.06.2014Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Появление технических систем автоматического распознавания. Человек как элемент или звено сложных автоматических систем. Возможности автоматических распознающих устройств. Этапы создания системы распознавания образов. Процессы измерения и кодирования.
презентация [523,7 K], добавлен 14.08.2013Исследование возможностей ускорения процессов заполнения базы персональных данных за счет сокращения ручного ввода данных путем применения технологий оптического распознавания символов. Проектирование, реализация и тестирование автоматизированной системы.
дипломная работа [2,6 M], добавлен 10.07.2017Как работает система оптического распознавания. Деление текста на символы. Образ страницы и распознавание по шаблонам, особенности коррекции ошибок. Увеличение скорости бесклавиатурного ввода документов в технологиях электронного документооборота.
контрольная работа [15,6 K], добавлен 29.04.2011