Научная статья на тему 'Проектирование системы распознавания образов. Этапы разработки и некоторые алгоритмы'

Проектирование системы распознавания образов. Этапы разработки и некоторые алгоритмы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
579
60
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проектирование системы распознавания образов. Этапы разработки и некоторые алгоритмы»

Проектирование системы распознавания образов. Этапы разработки и некоторые алгоритмы

Азанов В.Г., Шахов А.В., Корчевская О.В., Жуков Л.А.

Сибирский государственный технологический университет, Красноярск

Актуальность проекта

В настоящее время существует целый ряд хорошо известных программных продуктов, таких как Fine Reader фирмы ABBYY, CuneiForm фирмы Cognitive Technologies, Caere OmniPage и других, которые неплохо справляются с распознаванием печатного текста и достаточно удобны в работе. Однако с нашей точки они обладают двумя существенными недостатками. Первый существенный недостаток этих решений состоит в том, что они представляют собой закрытие системы, в части доступа к своим функциям из других приложений, что делает невозможным встраивание функций распознавания текста в разрабатываемые независимыми производителями программные системы. Второй существенный недостаток определяется тем, что не распространяется с этими программными продуктами инструменты для добавления, редактирования своих собственных образов, предназначенных для распознавания.

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

Реализация Системы распознавания текста должна быть разбита на следующие этапы:

Этап 1. Определение и разработка алгоритмов сегментации графических изображений печатных текстов

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

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

• Разработка алгоритма для подавления зашумления в изображении текста;

• Выделение алгоритма для определения поворота изображения текста;

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

• Определение алгоритмов выделения из изображения строки отдельных символов.

Этап 2. Разработка алгоритмов распознавания графических изображений печатных символов

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

• Разработка алгоритмов распознавания изображений символов.

• Разработка методов представления эталонов символов.

Этап 3. Реализация алгоритмов сегментации и распознавания графических изображений печатных текстов

Этап должен основываться двух предыдущих. Он потребует проведения следующих работ:

• Реализация алгоритма для определения поворота изображения текста;

• Реализация алгоритма выделения из изображения строк текста;

• Реализация алгоритмов выделения из изображения строки изображений отдельных символов;

• Реализация алгоритма выделения из изображения строк текста;

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

Этап 4. Разработка и реализация приложения для распознавания графических изображений печатных текстов

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

• Оформление отлаженных алгоритмов в виде соответствующей библиотеки с открытым кодом;

• Разработка приложения для распознавания графических изображений печатного текста;

• Тестирование приложения;

• Доработка реализаций алгоритмов в соответствии с результатами тестирования.

Краткое описание некоторых основных алгоритмов

Алгоритмы сегментации строк, слов, символов

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

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

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

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

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

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

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

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

Предложенный алгоритм предварительной сегментации символов, наряду с выделением реальных межсимвольных границ может провести и ложные границы. При этом символ может разбиться на несколько частей. Особенно это ярко отражается на широких слабосвязанных символах, таких как символы русского алфавита {И, Н, Ш, Щ. Ц, М, Т, Л, Ю, П}. Поэтому на следующем этапе сегментации проводится анализ полученных кусочков изображения слова, для выявления истинных межсимвольных границ и слияния ложно разделенных символов.

Практическая реализация алгоритма сети Хопфилда.

В первых версиях программного продукта Neurons, которые были основой практического применения, использовались сети Хопфилда с некоторыми их доработками. Ниже рассмотрена детальная математическая модель, применяемая в приложениях Neurons ver.1 и ver.2.

Математический вывод работы системы сопоставления образов. N- порядковый номер вектора k- количество элементов в векторе t- количество видов символов

1) mas(Vt) ={V1, V2, V3... VN} базовые вектора V = {vj, v2, v3 ... vk} исследуемый вектор wi . , базовая матрица весов

W =

v

netk =Z v- • w>,k

s; =

net > 1 ^ 1 net < 1 1 net = 0 ^ net

VRes = {Sj, S2, S3, ... Sk} результат исследуемого вектора

v

2

v

k

i=1

2) VRe s / mas(Vt) a % ^ %(Vt) = (P13 P2, P3... PN } массив процентных соотношений

» P (V)

%Res (V ) =Z ^

¿=1 N

if (VRe s <> mas(Vt)) anJ (%Re s (Vt) < 50%) йеп < переход на 1 этап, при V = VRe s >

3) max(%Res (Vt)) получение максимумов из каждого базового вектора W = V х V

'' N+1 * N+1 л * N+1

N

Wt = ZW

i=1

V a mas(Vt), [+ +1]

Описание работы системы сопоставления образов.

Полученный вектор V из подсистемы оцифровки преобразуется в матрицу весов W с обнулением главной диагонали. Затем определяются весовые коэффициенты net из базовой матрицы весов всех символов и исследуемого вектора. Формируется результат исследуемого вектора VRes . Результат исследуемого вектора сравнивается с базовыми векторами всех элементов БД в процентном соотношении. Формируется массив процентных соотношений для каждого символа, имеющегося в БД. Определяется результирующий процент схожести исследуемого символа с символами из БД. Выявляется максимальный результирующий процент и определяется имя символа исследуемого вектора. Причем если этот процент схожести >95% то исследуемый вектор автоматически добавляется в базовый образ, а матрица весов исследуемого вектора накладывается очередным слоем на матрицу базового образа. В противном случае, пользователь сможет выбрать необходимый символ, который больше похож на исследуемый и обучить нейронную сеть.

Изменения принципа работы сети Хопфилда.

Главным и наиболее весомым изменением было то, что система имеет возможность хранить не только матрицу весов с наложенными на неё слоями, но и базовый вектор, причем не один, а столько, сколько запомнила образов нейронная сеть на один символ.

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

Недостатки: замедляется процесс обработки исследуемых образов.

Создано так называемое «число Хопфилда», которое хранит в себе процентное соотношение среднеарифметического процента базовых векторов с исследуемым. Это число позволяет предельно точно определить схожесть векторов.

Недостатков пока не обнаружили.

Планируемые доработки по алгоритму нейронных сетей.

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

Список литературы

1. Лекции по дисциплине «Обработка изображений, распознавание образов и мультимедиа». / Сост. Жирков В. Ф. - Владимир: ВлГУ, 2001.

2. Практические занятия и методические указания к курсовой работе по дисциплине «Обработка изображений, распознавание образов и мультимедиа». / Сост. Головинов И. А. - Владимир: ВлГУ, 2001.

3. Шикин А. В., Боресков А. В. Компьютерная графика. Полигональные модели. - М.: Диалог-МИФИ, 2000. - 464 с.

4. Принципы программирования в машинной графике. / Аммерал Л. - М.: Сол. Систем, 1996.

5. Синтез изображений. Базовые алгоритмы / Эгрон Ж., Серединский А.В. - М.: Радио и связь, 1993.

6. Computer graphic. Secret and solutions. Korrigan - M.: D. Introp, 1995.

7. Форматы графических файлов / Климов А.С. - М.: ДиаСофтЛтд, 1995.

8. Таинства программирования графики / Абраш М. - Киев: ЕвроСИБ, 1995.

9. Справочник по элементарной математике: таблицы. Арифметика. Алгебра. Геометрия. Тригонометрия. Функции и графики / Выгодский М.Я. - 29-е изд. - Ростов н/Д: Феникс, 1995.

10. Азанов В.Г., Корчевская О.В., Жуков Л.А. Создание системы распознавания текста. Пути достижения. // Моделирование неравновесных систем - 2006. Тез. докл. на 9 всероссийском семинаре от 13-15 октября 2006. С. 14-16.

11. Шахов А.В., Корчевская О.В., Жуков Л.А. Изучение проблематики некоторых нейронных сетей для распознавания текста. // Моделирование неравновесных систем - 2006. Тез. докл. на 9 всероссийском семинаре от 13-15 октября 2006. С. 188-189.

12. Азанов В.Г., Шахов А.В., Корчевская О.В., Жуков Л.А. Neurons // Свидетельство об официальной регистрации № 2006613188 от 08.09.2006.

i Надоели баннеры? Вы всегда можете отключить рекламу.