Распознавание рукописных подписей при помощи свёрточной нейронной сети
Конференция: XV Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Секция: Информатика, вычислительная техника и управление
XV Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Распознавание рукописных подписей при помощи свёрточной нейронной сети
Введение
Биометрическая безопасность - это компьютеризированный метод проверки личности человека, основанный на характеристиках его тела. Существуют различные формы биометрической защиты, в том числе распознавание радужной оболочки глаза, речи и сердечного ритма. Однако наиболее естественный и давно используемый метод проверки личности - это проверка рукописной подписи. Метод верификации рукописной подписи более распространен и менее навязчив, чем другие методы биометрической аутентификации. Тот факт, что рукописная подпись широко используется в качестве средства личной проверки, подчеркивает необходимость автоматической системы проверки.
Автономные системы идентификации работают с отсканированным изображением подписи, а значит его можно распознать, используя компьютерное зрение. Нейронные сети являются фундаментальной частью компьютеризованных задач распознавания образов уже более полувека, и продолжают использоваться в очень широком диапазоне проблемных областей [1. с. 23]. Подход к решению задачи с помощью нейронных сетей предлагает несколько преимуществ, таких как унифицированные подходы к извлечению и классификации признаков и гибкие процедуры поиска хороших, умеренно нелинейных решений. Когда данный подход используется в динамической или автономной проверке подписи, он также показывает разумную производительность.
Распознавание подписей можно рассматривать как задачу классификации изображений [2, с. 154]. Классификация в таком случае представляет собой ввод входного изображения и вывода класса или вероятности классов, которые лучше всего описывают изображение. Наиболее подходящей основой для разработки автоматической системы классификации изображений является свёрточная нейронная сеть [3, с. 82].
Постановка задачи
Разработать алгоритм автоматической проверки рукописной подписи при помощи свёрточной нейронной сети, исходя из данных, полученных от лиц, чьи подписи должны быть аутентифицированы системой.
Алгоритм должен по набору входных данных определить, является ли собственноручная подпись подлинной или поддельной, когда физическое лицо требует подтверждения личности. Подход к автоматической проверке подписи должен осуществляться на основе интеллектуальных алгоритмов, а именно искусственных нейронных сетей.
Архитектура свёрточной нейронной сети
Для распознавания рукописных подписей мы использовали архитектуру свёрточной нейронной сети, представленной на рисунке 1.
Рисунок 1. Архитектура свёрточной нейронной сети
Данная сеть состоит из двух повторяющихся участков, которые содержат по два слоя свёрти и по одному слою подвыборки. Данные участки предназначены для выделения основных признаков рукописной подписи. В конце сети расположен классификатор, который состоит из одного полносвязного слоя, который содержит 512 нейронов, и выходного слоя, который содержит 10 нейронов.
На вход сети поступают изображения размером 32 на 32 пикселя в трёх каналах: красный, зелёный и синий. На первом слое свёртки используется 32 карты признаков размера 3 на 3. То есть каждый нейрон свёрточного слоя подключен к квадратному участку изображения размером 3 на 3. Следующий свёрточный слой имеет такую же архитектуру: 32 карты признаков c ядром свёрти 3 на 3. После этого идёт слой подвыборки, на котором выполняется уменьшение размерности изображения. Изменение размерности выполняется для каждой карты признаков отдельно, поэтому здесь используется также 32 карты признаков. Размер поля подвыборки 2 на 2. После слоя подвыборки начинается новый каскад свёрточных слоёв. На третьем и на четвёртов слое свёртки используется 64 карты признаков размером 3 на 3, а на втором слое подвыборки, которая следует после этих свёрточных слоёв, также происходит уменьшение размерности в квадрате 2 на 2. После этого данные преобразуются из двумерного формата в одномерный и передаются на полносвязный слой, на котором уже выполняется классификация.
Обучение и тестирование свёрточной нейронной сети
В свёрточных сетях используется подход обучения с учителем
[4, c. 217]. То есть нам необходимо иметь размеченный набор данных. Для своей задачи мы использовали рукописные подписи десяти человек. Каждый человек расписался ручкой на листке восемь раз. После этого, рукописные подписи были переведены в изображения размером 32 на 32 пикселя. Изображения имели растровый формат png. Примеры изображений подписей приведены на рисунке 2.
Рисунок 2. Примеры рукописных подписей
Перед обучением изображения рукописных подписей распределили по двум наборам: набор для обучения (изображения и метки классов) и набор для тестирования (изображения и метки классов). Набор для обучения состоял из 60 изображений, а набор для тестирования состоял из 20 изображений. Метки классов содержали правильные ответы, чья рукописная подпись представлена на изображении.
С помощью открытой нейросетевой библиотеки Keras реализовали описанную выше архитектуру сети и обучили её на подготовленном наборе растровых изображений [5, c. 54]. Обучение сети выполнялось в течение 25 эпох. Время обучения заняло примерно 8 минут. В конце обучения, точность работы на данных, подготовленных для обучения, составила 95 %.
После того, как обучение завершилось, точность работы сети проверили на тестовых данных, которых сеть не видела во время обучения. В нашем случае, для такой конфигурации сети и при соответствующих параметрах обучения, точность работы на тестовых данных составила 91 %.
Заключение
Проведённые эксперименты продемонстрировали высокую эффективность применения свёрточной нейронной сети для распознавания рукописных подписей. Время обучения сети заняло примерно 8 минут. Точность работы сети на данных, подготовленных для тестирования, составила 91 %.