muame-amr / Signature-Verification

Signature Verification Convolutional Neural Network (CNN) model using Deep Leaning with Deeplearning4J (DL4J)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers Issues MIT License


Logo

Signature Verification

Smart offline signature validation using deep learning
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact
  7. References

(back to top)

About the Project

Signature verification is a process flow of verifying unique signatures automatically and instantly to determine whether the signature is a valid one or forged. Offline or static verification is the process of validating a document signature after it has been made. The signature in question will be compared to the one that stored in database. Handwritten signature is one of the most generally accepted personal attributes with identity verification for banking or business purpose.

(back to top)

Built With

  • Java - Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.
  • Deeplearning4j - Eclipse Deeplearning4j is a programming library written in Java for the Java virtual machine. It is a framework with wide support for deep learning algorithms.
  • IntelliJ IDEA - IntelliJ IDEA is an integrated development environment written in Java for developing computer software
  • Apache Maven - Maven is a build automation tool used primarily for Java projects.
  • JavaFX - JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices.

(back to top)

Getting Started

Prerequisites

  1. Install Java

    Download Java JDK here.

    (Note: Use Java 8 for full support of DL4J operations)

    Check the version of Java using:

    java -version
  2. Install IntelliJ IDEA Community Edition

    Download and install IntelliJ IDEA.

Installation

  1. Clone the repo
    git clone https://github.com/amrnumenor/signature-verification
  2. Open project in IntelliJ IDEA
  3. Wait until the process of resolving dependencies done
  4. Setting JDK 1.8 in IntelliJ IDEA

(back to top)

Usage

  1. Run src/main/java/application/GUI.java in IntelliJ IDEA
  2. Choose sign image file from your PC
  3. Click verify

(back to top)

Roadmap

  • Collect Data - Retrieved from kaggle datasets
  • Data labeling - Two classes: Valid & Forged
  • Image transformation - Horizontal flip, Image rotation, Scaling
  • Modeling - CNN, Transfer Leaning(VGG16)
    • Model Configuration
    • Hyperparameter Tuning
  • Inference using test data
  • Build GUI

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

(back to top)

References

  • Alajrami, E., Ashqar, B. A., Abu-Nasser, B. S., Khalil, A. J., Musleh, M. M., Barhoom, A. M., & Abu-Naser, S. S. (2020). Handwritten signature verification using deep learning. International Journal of Academic Multidisciplinary Research (IJAMR), 3(12).
  • Poddar, J., Parikh, V., & Bharti, S. K. (2020). Offline signature recognition and forgery detection using deep learning. Procedia Computer Science, 170, 610-617.

(back to top)

About

Signature Verification Convolutional Neural Network (CNN) model using Deep Leaning with Deeplearning4J (DL4J)

License:MIT License


Languages

Language:Java 100.0%