Нормировка выполняется, когда на различные входы подаются данные разной размерности. Например, на первый вход сети подается величины со значениями от нуля до единицы, а на второй — от ста до тысячи. При отсутствии нормировки значения на втором входе будут всегда оказывать существенно большее влияние на выход сети, чем значения на первом входе. При нормировке размерности всех входных и выходных данных сводятся воедино.
Глава 2
Описание программного средства
2.1 Алгоритм
Программа основана на наборе матриц (9 матриц – по одной на каждую цифру [1..9]), содержащих набор координат. Совокупность координат матрицы формирует образ цифры.
Считывание координат происходит по пикселям, начиная с верхнего левого угла.
Программа переносит координаты пикселей в резервную матрицу опять же по координатам. Далее в цикле программа по каждой координате сравнивает полученную матрицу с девятью матрицами, хранящимися в файле Bank.bnk, при этом учитывая коэффициент схожести. При наибольшем совпадении программа вычисляет, что нарисована именно эта цифра, и выводит результат на экран.
При использовании функции запоминания в работу вступает нейросеть. Первоначально нейросеть нормализует входящие данные, а далее в файле Bank.bnk производит перезапись координат в эталонных матрицах, допуская бесконечно малую погрешность, для того, чтобы при распознавании последующих образов устанавливалось не 100% соответствие, по которому нельзя распознавать различные образы. Тем самым, погрешность соответствия в программе допускает написание разными людьми абсолютно разных по характеру написания цифр.
2.2 Техническая реализация
Программа реализована на языке программирования Borland Delphi 2003, с помощью классов. 4 прилагающихся к программе шаблона (подложки к рабочему окну) разработаны в программе Adobe Photoshop. Шаблоны находятся в одной папке с исходным кодом программы, и в данной реализации подложка под главное окно программы выбирается самим программистом-разработчиком. В дальнейшем, возможно, предусмотреть выбор подложки пользователем программы.
Шаблоны исходных матриц находятся в одной папке с исходным кодом программы в файле Bank.bnk.
2.3 Описание пользовательского интерфейса
При запуске файла Neuro_40.exe пользователь видит главное окно программы. Подложкой главного окна программы является один из шаблонов, прилагающихся к программе. В центре окна находится окно для рисования цифр. Внизу этого окна располагаются три кнопки: Запомнить, Распознать, Очистить. С помощью кнопки Распознать пользователь может обучить свою программу, т.е. научить распознавать её данный образ цифры. С помощью кнопки Распознать пользователь может распознать нарисованный им образ, а с помощью кнопки Очистить пользователь может очистить окно для рисования.
Рис. 1 Главное окно программы
Пользователь может рисовать цифры в окне для рисования с помощью мыши или графического планшета.
Рис. 2 Результат распознавания цифры
Рис. 3 Различные подложки для программы
Так же пользователь может обучать программу. При обучении программы процент ошибочного распознавания будет минимизироваться.
Рис. 4 Процесс запоминания цифры
Заключение
Безусловно, существует множество направлений по развитию данной программы. Возможно, осуществить распознавание не только цифр, но и других символов, причём следующих подряд (т.е. распознавание чисел или текста), по аналогичному алгоритму, так же существует потенциал по изменению способов ввода символов, например, имитируя написание на бумаге или вырезания их на дереве, т.е. возможно имитировать различные текстуры и написание символов на данных текстурах различными предметами. Следовательно, программа станет ещё более привлекательной для пользователя и конкурентоспособной на современном рынке.
Программа может быть полезна и при обучении студентов, и при разработке различного программного обеспечения для персональных компьютеров.
Приложение 1
Техническое описание программы
1). Класс T8Bit - восьмибитная картинка
Методы:
Pixels – считывание попиксельно параметров картинки
Init – инициализация
Clear – удаление информации о пикселях картинки
Свойства:
Pixels – параметры картинки
2). TNeuro – резервная матрица, в которую считываются координаты
пикселей картинки из главного окна программы
Методы:
Clear – очистка матрицы
Normalize – нормализация
MemoryFrom – считывание значений
CompareWith – проверка на совместимость с шаблонами
GetFromBitmap – получение данных о картинке
3). TNeuroBank - совокупность матриц-шаблонов
ClearAll – удаление всех значений
SaveToFile – сохранение в файл
LoadFromFile – загрузка из файла
Список литературы
1. http://www.recognition.mccme.ru/pub/RecognitionLab.html/methods.html
2. http://daily.sec.ru/dailypblshow.cfm?rid=18&pid=4326