Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
Основой программы является нейросеть, имитирующая искусственный интеллект, тем самым, позволяя обучать программу и запоминать образы цифр, для верного распознавания их при последующем использовании программы.Принципы распознавания образовЗадача распознавания (точнее, классификации) объекта ставится следующим образом. Имеется некоторый способ кодирования объектов (например, рукописных букв), принадлежащих заранее известному конечному множеству классов C={C1 ,...,Cq}, и некоторое конечное множество объектов (обучающее множество), про каждый из которых известно, какому классу он принадлежит. Нужно построить алгоритм, который по любому входному объекту, не обязательно принадлежащему обучающему множеству, решает, какому классу этот объект принадлежит, и делает это достаточно хорошо. Например, траекторию мыши или пера, исходно закодированную последовательностью произвольной длины (порядка сотни), состоящей из пар координат точки, удобно кодировать последовательностью фиксированной длины пар коэффициентов аппроксимирующих траекторию полиномов небольшой степени (порядка десятка), да еще и свободные члены можно отбросить, как не влияющие на классификацию. Если она используется как ответственная гадалка, то она выдает номер наиболее вероятного класса, если его вероятность существенно больше вероятностей других классов, и отвечает ``не знаю"" в противном случае.Мозг состоит из очень большого числа (порядка 1011) клеток (нейронов), каждая из которых имеет длинный хвост (аксон) и большое число (порядка 104) ответвлений (дендритов), касающихся аксонов других нейронов и/или входных рецепторов. В совокупности мозг вычисляет некоторую вектор-функцию: зависимость потенциалов нейронов (достаточно рассматривать не все нейроны, а только связанные своими аксонами с исполнителями) от потенциалов входных рецепторов. Нейронная сеть прямого распространения - это ориентированный ациклический граф с множеством вершин V и ребер E, вершины которого разбиты на слои следующим образом: - нулевой слой состоит из вершин-истоков (входных рецепторов) v 0,1,...,v0,d; ребра (синапсы), входящие в вершины (нейроны) (k 1)-го слоя, выходят из вершин (рецепторов или нейронов) k-го слоя; Архитектура многослойной нейронной сети (МНС) состоит из последовательно соединенных слоев, где нейрон каждого слоя своими входами связан со всеми нейронами предыдущего слоя, а выходами - следующего.Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что, в случае успешного обучения, сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке.Описание программного средстваПрограмма основана на наборе матриц (9 матриц - по одной на каждую цифру [1..9]), содержащих набор координат. Совокупность координат матрицы формирует образ цифры. Далее в цикле программа по каждой координате сравнивает полученную матрицу с девятью матрицами, хранящимися в файле Bank.bnk, при этом учитывая коэффициент схожести.Программа реализована на языке программирования Borland Delphi 2003, с помощью классов.При запуске файла Neuro_40.exe пользователь видит главное окно программы. Подложкой главного окна программы является один из шаблонов, прилагающихся к программе. Внизу этого окна располагаются три кнопки: Запомнить, Распознать, Очистить. С помощью кнопки Распознать пользователь может обучить свою программу, т.е. научить распознавать ее данный образ цифры. С помощью кнопки Распознать пользователь может распознать нарисованный им образ, а с помощью кнопки Очистить пользователь может очистить окно для рисования.Возможно, осуществить распознавание не только цифр, но и других символов, причем следующих подряд (т.е. распознавание чисел или текста), по аналогичному алгоритму, так же существует потенциал по изменению способов ввода символов, например, имитируя написание на бумаге или вырезания их на дереве, т.е. возможно имитировать различные текстуры и написание символов на данных текстурах различными предметами.
План
Оглавление
Введение
Глава 1. Принципы распознавания образов
1.1 Система распознавание образов
1.2 Нейронные сети
1.2.1 Распознавание образов
Глава 2. Описание программного средства
2.1 Алгоритм
2.2 Техническая реализация
2.3 Описание пользовательского интерфейса
Заключение
Приложение 1
Список литературы
Введение
Программа предназначена для распознавания цифр .
Основой программы является нейросеть, имитирующая искусственный интеллект, тем самым, позволяя обучать программу и запоминать образы цифр, для верного распознавания их при последующем использовании программы.
Актуальность программы обусловлена популярностью на рынке программных продуктов подобного типа (для распознавания образов) и их широкого применения в КПК, смартфонах, ноутбуках, т.д.. Программное обеспечение для распознавания образов разрабатывается многими компаниями и является одним из инновационных продуктов на современном рынке.
Вывод
Безусловно, существует множество направлений по развитию данной программы. Возможно, осуществить распознавание не только цифр, но и других символов, причем следующих подряд (т.е. распознавание чисел или текста), по аналогичному алгоритму, так же существует потенциал по изменению способов ввода символов, например, имитируя написание на бумаге или вырезания их на дереве, т.е. возможно имитировать различные текстуры и написание символов на данных текстурах различными предметами. Следовательно, программа станет еще более привлекательной для пользователя и конкурентоспособной на современном рынке.
Программа может быть полезна и при обучении студентов, и при разработке различного программного обеспечения для персональных компьютеров.