/Signature_Recognition

This Machine learning project uses a Convolutional Neural Network (CNN) implemented in Keras to recognise handwritten signatures, with data preprocessing, model training, and predictions saved to a CSV file.

Primary LanguagePythonApache License 2.0Apache-2.0

Signature Recognition using Convolutional Neural Networks (CNNs)

Welcome to the Signature Recognition project, where we employ Convolutional Neural Networks (CNNs) to distinguish between genuine and forged signatures. This project showcases an application of machine learning in the domain of authentication and document verification.

Table of Contents

Overview

Signature recognition plays a pivotal role in security and verification processes. Our goal is to build an accurate and reliable CNN model capable of classifying signatures with high precision.

Features

  • CNN Architecture: Our implementation leverages the power of CNNs to automatically extract meaningful features from signature images.

  • Data Preprocessing: We ensure optimal data quality by applying preprocessing techniques, including resizing and normalization.

  • Model Training: The model is trained on a labeled dataset containing a variety of genuine and forged signatures.

  • Validation and Evaluation: Model performance is assessed using a validation dataset, and log loss serves as our evaluation metric.

  • Test Predictions: Utilizing the trained model, we predict signatures from a separate test dataset and present results in a CSV format.

Getting Started

  1. Clone this repository using: git clone https://github.com/your-username/signature-recognition.git

  2. Install the required dependencies: pip install -r requirements.txt

  3. Configure dataset paths in the provided scripts.

  4. Execute the scripts for data preprocessing, model training, and test predictions.

Repository Structure

  • data/: A directory to store the signature dataset.

  • models/: Contains saved model weights and architecture configurations.

  • src/: Consists of Python scripts for data preprocessing, model training, and test predictions.

  • results/: Contains the exported CSV file with test predictions.

  • requirements.txt: Lists the required Python libraries.

Usage

  1. Preprocess your signature dataset with data_preprocessing.py.

  2. Train the CNN model using model_training.py.

  3. Evaluate the model's performance using model_evaluation.py.

  4. Generate predictions for test signatures using test_predictions.py.

Contributions

We welcome contributions to this project! Feel free to raise issues or submit pull requests for enhancements or bug fixes.


By Abhishek Tiwari