Skip to main content

A professional signature verification and embedding library using a Siamese EfficientNet-B0 model.

Project description

🖋️ SigVerse: Enterprise-Grade Signature Intelligence

SigVerse is a high-performance, developer-centric Python SDK for offline signature verification and forensic embedding generation. Built on modern deep learning architectures, it provides the "First Line of Defense" for document-heavy industries like FinTech, LegalTech, and Insurance.

SigVerse doesn't just "match" images; it understands the latent spatial features of a signature to distinguish between genuine handwriting and sophisticated forgeries.


🚀 Key Features

  • Siamese Deep Learning Architecture: Trained on the GPDS-150 and custom datasets to learn the underlying physics of handwriting.
  • EfficientNet-B0 Backbone: Optimized for the perfect balance between high-precision feature extraction and low-latency inference.
  • Forensic Vector Embeddings: Generate 256-dimensional "signature fingerprints" for storage, fast search, and clustering.
  • Production-Ready with ONNX: Decoupled from heavy deep learning frameworks; runs at blazing speeds on CPU or GPU via ONNXRuntime.
  • Zero-Config Integration: Pre-packaged model weights included. Install and verify in seconds.

🏗️ The Engineering Behind SigVerse

Why EfficientNet-B0?

In a production KYC pipeline, latency is the ultimate bottleneck. We selected EfficientNet-B0 because it utilizes Compound Scaling—balancing depth, width, and resolution. This allows SigVerse to capture fine-grained pen-stroke details without the computational overhead of heavy Vision Transformers (ViTs).

The Siamese Advantage

Unlike standard classification models, SigVerse uses a Siamese Network. During training, the model learns to minimize the distance between genuine signature pairs (Anchors and Positives) while maximizing the distance from forgeries (Negatives) using Triplet Margin Loss.

Result: A model that understands identity rather than just appearance.


🛠️ Installation & Setup

SigVerse is designed to be a standard Python package.

1. Install via Pip

# From PyPI (Coming Soon)
pip install sigverse

# Or directly from the repository for development
pip install git+https://github.com/parikhshyamal1993/SigVerse.git

2. Standard Dependencies

  • Python 3.9+
  • OpenCV
  • NumPy
  • ONNXRuntime

💻 Quick Start

Verification: Is it a Match?

Verify if two signatures belong to the same individual with a single call.

from sigverse import SignatureVerifier

# Initialize verifier
verifier = SignatureVerifier()

# Verify two images (supports file paths or OpenCV arrays)
result = verifier.verify("anchor_genuine.png", "target_sample.jpg")

print(f"Matched: {result['matched']}")
print(f"Similarity Score: {result['match_percentage']}")
print(f"L2 Distance: {result['distance']}")

Embeddings: Generate Signature Fingerprints

Convert signatures into numerical vectors for database storage or similarity search.

from sigverse import SignatureEmbedder

embedder = SignatureEmbedder()
vector = embedder.embed("signature_sample.png")

# 'vector' is a 256-d normalized numpy array
print(vector.shape) # (256,)

📈 Performance & Calibration

Our latest test suite (running on 1487+ unique users) shows consistent accuracy across various handwriting styles.

Scenario Expected Accuracy
Genuine vs. Genuine Match ~92%
Genuine vs. Forged No Match ~88%
Different User No Match ~99%

Note: You can calibrate the threshold (default=1.0) in the verify() method to tune for False Acceptance Rate (FAR) vs False Rejection Rate (FRR) based on your use case.


🔮 Future Roadmap (The KYC Hub)

SigVerse is Component #1 of the KYC Intelligence Hub. Upcoming enhancements include:

  1. PAD (Presentation Attack Detection): Detecting screen spoofing (taking photos of signatures on a monitor).
  2. Moiré Pattern Detection: Identifying digital interference in fraudulent captures.
  3. Signature Extraction: Auto-detecting and cropping signatures from complex multi-page documents (ID cards, bank statements).

📄 License

This project is licensed under the MIT License.


Built by Shyamal Parikh Transforming Document AI for the Real World.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sigverse-0.1.0.tar.gz (79.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sigverse-0.1.0-py3-none-any.whl (78.7 kB view details)

Uploaded Python 3

File details

Details for the file sigverse-0.1.0.tar.gz.

File metadata

  • Download URL: sigverse-0.1.0.tar.gz
  • Upload date:
  • Size: 79.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for sigverse-0.1.0.tar.gz
Algorithm Hash digest
SHA256 99cbdefede90619178f547f30d0d33b9db184d2ea647f198af1ca225bb1711c8
MD5 632a82e94e95c157175a3013756692bf
BLAKE2b-256 6eb9de9285d0a01611e1b856f4e704dee02587faa24c5220f53f87627375a340

See more details on using hashes here.

File details

Details for the file sigverse-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sigverse-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 78.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for sigverse-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69c7cbe2e105d3f92aa5549e43c0fccef725621af769c114d4ebb2db70e6c641
MD5 8146f200eb81df72a82e97601b6505d6
BLAKE2b-256 93a064518a6b360ff94ec72814e98622a1b15a2d020bfc420b48a9f6cce5399b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page