A conceptual model to detect and verify signatures on bank cheques.
Handwritten signatures are a common method for personal identification and authentication, especially on documents like bank cheques and legal papers. However, verifying a large number of signatures manually is both challenging and time-consuming. This highlights the need for a robust automatic signature verification tool to reduce fraud in financial transactions.
Manual verification is subjective and can be influenced by the verifier's experience, mood, and environment, leading to inefficiencies and inaccuracies. Additionally, human eyes struggle to precisely compare the geometric features of genuine and fraudulent signatures. To address these issues, we propose an automatic signature verification technique leveraging recent advancements in image processing and machine learning.
Our approach involves capturing the image of a handwritten signature and performing several pre-processing steps to extract and enhance the signature. The verification process then compares the extracted image features with those stored in a database for the specified customer.
We have developed an OCR-based method to localize signatures, combined with Connected Components, Line Sweep algorithms, and geometric feature analysis. Using Support Vector Machine (SVM) and Artificial Neural Networks (ANN) classifiers, we achieve a 91% accuracy rate in verifying the authenticity of signatures.
The Signature_Detection
folder contains code implementations for various signature detection approaches:
- Contour Features-Based: Utilizes contour detection techniques to identify and extract signature regions from the document.
- OCR + Connected Components Labelling: Uses Optical Character Recognition (OCR) to localize potential signature areas, followed by Connected Components Labelling to extract the signature.
- OCR + Line Sweeping Algorithm: Employs OCR to identify signature regions and then applies the Line Sweeping Algorithm to accurately fit rectangles around the signatures.
- Setup project and install dependencies, run following commands in root directory:
make venv
: Create virtual environmentmake install
: Activate virtual environment and install dependencies
- Execute the signature detection approaches using given commands:
- OCR Approach File -
make run-ocr
- LineSweep Algorithm -
make run-linesweep
- Connected Components -
make run-connected
- OCR Approach File -
Navigate to Code Directory
-
Detection Phase: This folder contains 3 types of detection approaches for signature detection.
- OCR Approach - Optical Character Recognition approach involves using OCR technology to identify and extract text from images
- Connected Components - After passing images through OCR we will use Connected Components Algorithm to extract the signatures from the image.
- Line Sweep Algorithm - After passing images through OCR we will use Line Sweep Algorithm to extract the signatures from the image. Line Sweep is better performant than Connected Components Algorithm
-
Verification Phase: This folder contains the code for signature verification using Machine Learning models.
- SVM Classifier - Support Vector Machine (SVM) is a supervised machine learning algorithm that is used for classification and regression tasks.
After the images have been cropped by OCR technique, We will use the Connected Components Algorithm to extract the signature from the image. Assumption -> The signatures are going to be connected. But this is not always true. So this technique fails.
The OCR Approach -> Identify the signatures and crop the images The LineSweep Algorithm -> Use OCR result images and do rectangle fitting across the signature.
The final interface:
Note: This is our
Final Year project
at Thapar Institute of Engineering and Technology.
For Declaration letter check