Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
26.03.2016
Размер:
1.82 Mб
Скачать

3.4 Распознавание

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

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

Рис 3.5 – Метод ближайшего соседа

11

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

Описанная структура персептрона позволяет разделять предъявляемые объекты только на два множества. Для распознавания большего числа образов, например, трех образов А, В и С, может быть применен персептрон, построенный по схеме, представленной на рис. 3.6.

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

Рис. 3.6 Структурная схема персептрона с несколькими выходами

На следующем рисунке 3.7 показан пример работы персептрона.

Рис. 3.7 – Персептрон

12

4. Программная реализация

4.1 Схема программного обеспечения

Приложение разработано на языке программирования C# в среде разработки Visual Studio 2015. В этом проекте разработка происходила под OS Windows.

4.2 Описание функций и методов

Класс Recognition имеет следующие методы:

- OpenPicture – выполняет загрузку изображения;

- FindArea – позволяет получить области для распознавания;

- Binarization – выполняет бинаризацию полученных областей;

- Bug – выполняет выделение контура;

- Centering – выполняет центрирование контуров.

Класс Perseptron имеет следующие методы:

- Preparation – подготовка таблиц А-элементов и λ;

- Studying – обучение персептрона;

- SaveChanges – запись настроенных λ в XML файл.

Класс Next neighbor имеет следующие методы:

- Distance – производит расчет евклидового расстояния.

4.3 Тестирование и руководство для пользователя

После запуска приложения пользователь увидит главное окно приложения на рисунке 4.1.

Рис 4.1 – Главное окно

13

Рис 4.2 – Открытие изображения чертежа с помощью кнопки Open

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

Рис 4.3 – Изображение загружено в главное окно

Далее необходимо выполнить последовательную обработку этого изображения, нажав следующие кнопки: Find Areas, Binarization, Bug, Centering.

14

Пользователь увидит в PictureBox полученные и обработанные контуры, которые осталось распознать. Это можно сделать двумя способами: с помощью персептрона, нажав кнопку Full Answer или с помощью метода ближайшего соседа, нажав Next neighbor. Также персептрон можно предварительно обучить на основании эталонов, нажав Perseptron.

Результат работы приведен на рисунке 4.4.

Рис 4.4 – Результат распознавания

Результат работы программы можно сбросить, нажав Reset и загрузить изображение чертежа снова.

Соседние файлы в папке Мартинович Виталий