АЛГОРИТМЫ ВЕРЕФИКАЦИИ РУКОПИСНЫХ ПОДПИСЕЙ НА
ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
MANUAL SIGNATURE VERIFICATION ALGORITHMS BASED ON
NEURAL NETWORKS
УДК 004.5
Левинский А.Т., студент (магистрант), 2 курс, факультет «Информатика и системы управления» Университет МГТУ им. Н.Э.Баумана. Россия, г. Москва Levinsky A.T., student (undergraduate) 2 year, faculty "Informatics and control systems" MSTU University named after N.E.Bauman. Russia, Moscow
Аннотация: В статье рассматриваются перспективные методы решения задач по распознаванию подписей, а также рассмотрены нейронные сети способствующие автоматизации и верификации подписей, а также разработан телеграмм-бот, позволяющий провести предобработку для дальнейшей реализации нейронной сети.
Annotation: The article presents promising methods for solving problems of signature recognition, and also develops automation and signature verification capabilities, as well as a protocol for working with a neural network.
Ключевые слова: верификация, распознавание, нейронные сети, машинное обучение, подпись, алгоритмы, плоттер, выборка, классификация, подделка.
Key words: verification, recognition, neural networks, machine learning, signature, algorithms, plotter, sampling, classification, fake.
Введение
Подпись часто является единственным удостоверительным знаком для различных документов, но существует возможность ее подделки. Для определения подлинности подписи в настоящий момент требуется почерковедческая экспертиза или подписывание документа в присутствии нотариуса, что дорого и затратно по времени. Альтернативой может послужить программный комплекс, основанный на технологиях компьютерного зрения, который автоматически будет диагностировать подлинность подписи.
Задача определения подлинности подписи
Подпись - это вид рукописи, осуществляющий функцию личного удостоверительного знака [1, с. 79] Определение подлинности подписи бывает необходимо для подписей на различных документах в компании - отчетах, договорах, страховых документах, финансовых документах, актах и др.
Высокая сложность задачи исследования подписи определяется следующими факторами [1, с. 86]:
- подпись краткая, простая и мало информативная;
- может быть скопирована с применением технических средств;
- на проверяющего могут воздействовать сбивающие факторы;
- почерки разных людей естественным образом бывают схожи;
- подпись человека вариативна.
Альтернативой может послужить использование программного комплекса для автоматического определения подлинности подписей. Это снизит влияние человеческого фактора при принятии решения, а также существенно снизит стоимость экспертизы.
Особенности различных методов подделки подписей
Существует несколько способов подделки подписей [2, с. 188]:
1. Срисовывание карандашом с последующей обводкой;
2. Копирование через копировальную бумагу с последующей обводкой;
3. Передавливание подписи-оригинала с последующей обводкой рельефных штрихов;
4. Копирование «на просвет»;
5. Перенесение красящего вещества подписи-оригинала на документ с помощью копирующих материалов;
Большинство из подделок, может распознать даже непрофессионал, так как вид рукописно выполненной подписи сильно отличается морфологическими признаками штрихов шариковой ручки. Сложности возникают при определении подлинности подписи, выполненной гелевой черной ручкой или капиллярной ручкой.
Таким образом, для всех способов подделки подписи существуют визуальные диагностические признаки, по которым можно отличить подпись-оригинал от копии или подделки. Это дает возможность применять технологии компьютерного зрения, основанные на алгоритмах машинного обучения, для автоматической диагностики подлинности подписи.
Типы машинного обучения
Машинное обучение бывает трёх видов: обучение с учителем (supervised learning), обучение без учителя (unsupervised learning) и обучение с подкреплением (reinforcement learning). В обучении с учителем (предсказательном обучении) цель в том, чтобы предсказать закон, по которому каждому входному значению x ставится в соответствие выходное значение у, на основании промаркированного набора пар:
где D называется обучающей выборкой, а N - число обучающих примеров. В простейшем случае x представляет собой D-размерный вектор, содержащий числа, а в общем случае xi может быть любой сложной структурой, например, изображением, текстом, временным рядом, графом.
Обучение без учителя (описательное обучение) предполагает, что имеются входные данные и необходимо найти в них какие-либо закономерности.
Эта задача гораздо меньше определена, поскольку заранее не известно, какие закономерности искать, а так же, отсутствует метрика, по которой можно оценить результат работы алгоритма [3, с. 86].
Методы ближайших соседей и k-ближайших соседей Простейшим алгоритмом классификации является метод ближайших соседей. Рассмотрим его на примере классификации изображений из датасета (набора данных) CIFAR-10 [4, с. 178], который содержит 60000 32x32 пикселя цветных изображений из 10 классов, с 6000 изображений в каждом классе. Классификатор методом ближайших соседей будет сравнивать каждое изображение из тестовой выборки со всеми изображениями из тренировочной выборки, используя метрику городских кварталов (Manhattan distance):
Метод ближайших соседей заключается в том, чтобы назначить классом тестового изображения класс самого ближайшего соседа, а метод ^ ближайших соседей назначает классом тестового изображения класс, который наиболее часто встречается среди ^ближайших соседей, где k может быть 1, 3, 5, 7 и т.д.
Линейный классификатор
Метод ^ближайших соседей неоптимален для работы с изображениями, так как расстояние между двумя изображениями плохо отражает их семантическую близость. Более оптимальным является параметрический подход, который заключается в том, что к каждому изображению х применяется функция f (х, Ж, Ь), выходом которой является набор из оценок
d2(1,12) = -ц
p
Или Евклидову метрику:
вероятности принадлежности изображения x к каждому из классов, на которые натренирована модель. W - это набор параметров (весов), который формируется в процессе обучения модели; b - это так называемый вектор предвзятости (bias vector), который применяется, если тестовая выборка не сбалансирована и имеет неравное число изображений в разных классах (рис. 1).
3072x1
Image
f(x,W)|=[V^+[b]ioxi
10x3072
_^ 10 numbers giving
class scores
Array of 32x32x3 numbers (3072 numbers total)
10x1
— f(x,W) t
w
parameters or weights
Рисунок 1. Параметрический подход в задаче классификации изображений
Изображение x должно быть приведено к виду, где все значения пикселей записаны в единственный столбец.
Набор параметров W будет иметь вид матрицы, где число строк соответствует числу классов, а каждая строка будет представлять собой некоторое усреднение всех изображений из определенного класса из тренировочной выборки (рис. 2).
Рисунок 2. Примеры весов для 10 классов модели линейной классификации натренированной на датасете С1ГЛЯ-10
Другим способом представить работу линейного классификатора можно, если рассматривать изображения как точки в пространстве высокой размерности - в примере с изображениями из датасета СШАЯ-Ю пространство будет иметь размерность 3072. Тогда Ж описывает набор прямых, разделяющих отдельные классы изображений в этом пространстве.
Обучение модели заключается в выборе наиболее подходящего значения Ж для данной задачи. Чтобы оценить качество какого-либо значения Ж используется функция потерь. Алгоритм поиска наиболее оптимального значения Ж называется алгоритмом оптимизации.
Выбор архитектуры нейронной сети
В настоящее время разработано множество различных нейросетевых моделей для выделения признаков изображений и эти модели были протестированы на различных данных. Целесообразно выбрать готовую модель, чтобы пропустить этап подстройки гиперпараметров модели и сфокусироваься на ее обучении и интеграцию в решение конкретной задачи.
Хорошим примером модели для работы с изображениями является которая была предложена К. Simonyan и А. Zisserman из Оксфордского университета [5, с. 145]. Модель достигает точности 92.7% — топ-5, при тестировании на датасете ImageNet в задаче распознавания объектов на изображении. Этот датасет состоит из более чем 14 миллионов изображений, принадлежащих к 1000 классам.
Архитектура VGG16 представлена на рисунке 3.
Рисунок 3. Архитектура сверточной нейронной сети ConvNet
На вход слоя convl подаются RGB изображения размера 224х224. Далее изображения проходят через стек сверточных слоев, в которых используются фильтры с очень маленьким рецептивным полем размера 3х3. Этот размер является наименьшим для получения представления о том, где находится право/лево, верх/низ и центр.
После стека сверточных слоев (который имеет разную глубину в разных архитектурах) идут три полносвязных слоя: первые два имеют по 4096 каналов, третий — 1000 каналов (так как в соревновании, где впервые была представлена модель, требуется классифицировать объекты по 1000 категориям; следовательно, классу соответствует один канал). Последним идет soft-max слой. Конфигурация полносвязных слоев одна и та же во всех нейросетях. Все скрытые слои снабжены ReLU.
Для решения задачи определения подлинности подписи будем использовать ConvNet в конфигурации Е, которую также называют VGG19. Она показывает наилучшие результаты в задаче классификации на датасете ImageNet и натренированная модель находится в открытом доступе в сети Интернет [6, с. 189]. Чтобы сэкономить вычислительные мощности и время обучения сверточной нейронной сети с нуля, предлагается использовать технологию трансферного обучения (transfer learning).
Трансферное обучение
При рассмотрении различных глубоких нейронных сетей, обученных на фотографиях, оказалось, что на первых слоях модели обучаются одинаковым особенностям изображений - учатся находить границы и цветовые пятна. Эти особенности не специфичны для конкретного датасета или задачи, то есть умение модели определять эти особенности применимо к широкому классу задач. Последние же слои нейронной сети напротив специфичны для каждой конкретной задачи. Это наблюдение привело к предположению, что не обязательно тренировать каждую новую модель с нуля, а можно использовать первые слои уже обученных моделей.
В работе Yosinski и коллег было показано, что для нейронной сети с 8 слоями верно, что первые 2 слоя общие для любой задачи, а нейроны слоев 68 теснее взаимосвязаны между слоями, чем нейроны других слоев. В работе продемонстрирован подробный алгоритм тестирования связи глубины слоя с его специфичностью и его взаимосвязи с соседними слоями. Этот алгоритм применим для сетей любой архитектуры и глубины. Также выводом авторов стало то, что для успешного трансферного обучения необходима тщательная подстройка гиперпараметров. Перед тем как использовать нейронную сеть, необходима предобработка, для этого был создан телеграмм-бот, в дальнейшем через телегармм-бот планируется проводить верификацию подписи с помощью нейронный сетей. Телеграмм-бот с предобработкой показан на (рис. 4).
Рисунок 4. Телеграмм-бот с предобработкой Заключение
Как было описано выше, задача обучения модели заключается в поиске весовых параметров, которые уменьшают разницу между предсказанным и истиным результатами классификации, то есть задача заключается в минимизации функции потерь. Алгоритм оптимизации генерирует новый набор весов W, чтобы минимизировать функцию потерь. В данной работе были рассмотрены алгоритмы верификации подписи и создан телеграмм-бот с предобработкой.
3.
Список литературы
Бобовкин М.В., Ручкин В.А., Проткин А.А. Актуальные проблемы теории и практики судебно-почерковедческого исследования подписи // Вестник Московского университета МВД России. 2017. №2. URL: https://cyberleninka.ru/article/n/aktualnye-problemy-teorii-i-praktiki-sudebno-pocherkovedcheskogo-issledovaniya-podpisi (дата обращения: 30.03.2020).
Попов В. Л. Курс лекций по дисциплине «Технико-криминалистическая экспертиза документов» / В. Л. Попов. — М. : Юридический институт МИИТ,2015. — 188 с.. 2015.
Murphy, Kevin P. Machine learning: a probabilistic perspective / Kevin P. Murphy. 2012 Massachusetts Institute of Technology 2019. K. Simonyan и A. Zisserman "Very Deep Convolutional Networks for Large-Scale Image Recognition" 2018.
5. VGG19 [Электронный ресурс]. - Режим доступа: https://keras.io/applications/#vgg19 (дата обращения: 15.04.2020).
6. Jason Yosinski, Jeff Clune, Yoshua Bengio, and Hod Lipson. 2014. How transferable are features in deep neural networks? In Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2 (NIPS'14). MIT Press, Cambridge, MA, USA, 3320-3328.
Bibliography
1. Bobovkin M.V., Ruchkin V.A., Protkin A.A. Actual problems of the theory and practice of forensic handwriting signature research // Bulletin of Moscow University of the Ministry of Internal Affairs of Russia. 2017. No2. URL: https://cyberleninka.ru/article/n/aktualnye-problemy-teorii-i-praktiki-sudebno-pocherkovedcheskogo-issledovaniya-podpisi (accessed: 03.30.2020).
2. Popov V. L. The course of lectures on the discipline "Technical and forensic examination of documents" / V. L. Popov. - M.: Law Institute of MIIT, 2015. -188 p. 2015.
3. Murphy, Kevin P. Machine learning: a probabilistic perspective / Kevin P. Murphy. 2012 Massachusetts Institute of Technology 2019.
4. K. Simonyan and A. Zisserman "Very Deep Convolutional Networks for Large-Scale Image Recognition" 2018.
5. VGG19 [Electronic resource]. - Access mode: https://keras.io/applications/#vgg19 (accessed date: 04/15/2020).
6. Jason Yosinski, Jeff Clune, Yoshua Bengio, and Hod Lipson. 2014. How transferable are features in deep neural networks? In Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2 (NIPS'14). MIT Press, Cambridge, MA, USA, 3320-3328.