Online Signature Verification System
Updated on 8th December 2024
An online signature verification system using a Recurrent Neural Network.
Introduction
This is a small project I undertook to gain knowledge and comprehension of Artificial Intelligence and Neural Networks, as well as explore potential research avenues for our final-year research project. One of the modules assigned to me in the research project was the Online Signature Verification System. However, as it became evident that making a significant contribution in this area was quite challenging, my module was subsequently pivoted to another area. This project serves as a proof of concept that led to the project's pivot.
Online signatures, also known as digital signatures, are signatures created on a digitized tablet or any digital screen. Unlike traditional signatures made on paper, online signatures provide access to more detailed information. We can record the pressure applied at each point, the duration of each stroke, the order of strokes, and the general starting and ending points of each stroke, etc. In essence, online signatures capture temporal data, including well-defined pressure values for each point of the signature, unlike offline signatures produced on paper.
Therefore, verification of online signatures are relatively easier than verifying offline signatures, due to the availability of more granular data.
Methodology
Existing research focuses on two main approaches to solving this problem.
- Dynamic Time Warping
- Recurrent Neural Networks
Dynamic Time Warping (DTW) is a popular algorithm used to measure similarities between two temporal sequences. Even if they are out of sync, DTW is capable of identifying similar patterns within the two sequences.
Recurrent Neural Networks (RNN) are also an increasingly popular methodology in this field that has achieved extremely positive results. Moreover, as DTW seemed to be a highly saturated area in this area of research, I went with the RNN approach.
RNNs are a family of neural networks that are suited for processing sequential data, just like an online signature, which comprises of a vector array of coordinate information. To evaluate my implementation, I used the Task 2 of the SVC2004 Dataset.
It is possible to plot each point of the signature on a graph in order to visualize the data captured.
Visualized genuine and forged signatures of a single writer from the SVC2004 Dataset
Here, each point of a signature carries the following information.
- x-coordinate
- y-coordinate
- time stamp
- button status
- azimuth
- altitude
- pressure
I removed the azimuth and altitude information from the dataset as they are not usually captured in many consumer grade digitizing tablets.
Moreover, this was done in a writer-dependent fashion in which a single neural network is trained for each writer in the dataset. Each neural network can only verify the signatures of the writer it was trained for.
Final Thoughts
This system achieved an overall accuracy of 97.9%.
I enjoyed working on this project, as it was incredibly intriguing. I learned the fundamental concepts of neural networks and had the opportunity to apply my knowledge by implementing a signature verification system from scratch. While my research module underwent a change in direction, I am still satisfied with the accomplishment of this task.