A conventional method of verifying an individual's indentity is their Signatures. This tool can check whether the signature is forged or not.
Signature Verification Tool based on Siamese Network. The Network is constructed using Tensorflow and frontend is made using Streamlit. The entire application is hosted on Streamlit Cloud.
The research paper I studied was Siamese Neural Networks for One-shot Image Recognition
Here Siamese Network is introduced which is a couple of identical Convolutional Neural Network. An Anchor Image (Reference Image) is passed through one CNN and the validation image (which may or may not be forged) is passed through the other. Feature Vectors coming out these CNNs are then compared with Siamese Distance function which if then passed to a Single cell having sigmoid function.
Below is a diagram depicting the structure of Siamese Network.
For simplicity I am resizing all images to 100 x 200 px (height x width). All images are converted to grayscale and the grayscale values are standardised.
I have combined two different datasets
-
ICDAR 2011 Signature Verification Competition (SigComp2011) -- Only Dutch Signatures
-
Code for combining dataset as per their nomenclatures is provided in notebooks folder.
The performance of this model can be further improved by training on the entire dataset (rather than taking a sample from it) and by increasing the number of epochs but due to resource constraints, it cannot be further improved.