Skip to main content

EdgeIDX is a Windows-only Python library for OCR that extracts information from Aadhaar and PAN cards with embedded Tesseract engine.

Project description

edgeIDX

Overview

edgeIDX is a Python package for extracting Aadhaar card details (Name, DOB, Gender, and Aadhaar Number) from images using Tesseract OCR. Unlike traditional setups, this package embeds a trained Tesseract model within itself, eliminating the need for a separate `tesseract.exe` installation.

This project aims to address the limitations of existing OCR systems by focusing on accuracy, speed, and lightweight deployment. It is specifically designed for extracting information from government-issued identity documents such as Aadhaar and PAN cards.

Features

  • Extracts Aadhaar card details (Name, DOB, Gender, and Aadhaar Number) from images using OCR.

  • Uses an embedded Tesseract model, requiring no external dependencies.

  • Supports image preprocessing to improve OCR accuracy.

  • Works across different platforms without requiring external Tesseract installation.

  • Can be integrated with Android applications for automated Aadhaar data extraction.

  • High Accuracy OCR: Achieves over 95% accuracy in extracting key details such as names, dates of birth, and ID numbers.

  • Real-Time Processing: Processes each document within 1-2 seconds to facilitate high-throughput applications.

  • Edge Device Compatibility: Designed for low-resource environments like mobile phones.

  • Open-Source and Developer-Friendly: Provides a modular, open-source library with clear documentation.

  • JSON Output Format: Extracted details are formatted in JSON for seamless integration into different applications.

  • Compliance with Data Privacy Regulations: Ensures that the extracted information is handled securely and adheres to laws such as Aadhaar Act, 2016, Personal Data Protection Bill, 2021, and General Data Protection Regulation (GDPR).

  • Future-Proof Design: The modular architecture allows easy integration of additional document types in future releases.

System Requirements

  • Python 3.7+
  • OpenCV for image processing
  • NumPy for handling image arrays
  • Pytesseract for OCR
  • Supported Operating Systems: Windows and Linux.
  • Supported Edge Devices: Mobile phones, Raspberry Pi, and other low-power devices.
  • Development Frameworks: OpenCV, and Tesseract-OCR.

Installation

1. Install via pip

```sh
pip install edgeidx
```

Usage

```python
#   Example Usage (Adapt this to your library's API)
from edgeidx.ocr import extract_aadhaar_details

image_path = "sample_13.jpg"
print(extract_aadhaar_details(image_path))
```

Output Format

The extracted data is returned in JSON format:

```json
{
    "name": "John Doe",
    "date_of_birth": "01/01/1990",
    "gender": "Male",
    "aadhaar_number": "XXXX-XXXX-XXXX"
}
```

Constraints

  • Compliance with Data Protection Laws: The system must follow Aadhaar Act, GDPR, and data privacy regulations.
  • Lightweight Execution: The model must be optimized for low-power devices through pruning, quantization, and efficient memory usage.

Non-Functional Requirements

  • Performance:

    • Ensure OCR accuracy > 95%.
    • Processing time per document: 1-2 seconds.
  • Usability:

    • Provides clear API documentation and sample integration examples.
  • Software Quality Attributes:

    • Efficiency: Optimized for low-latency execution.
    • Scalability: Supports additional document types with minimal modifications.

Use Cases

  • Developers: Integrate edgeIDX into their applications using provided APIs and libraries.
  • Businesses: Automate document verification processes to improve efficiency in sectors like banking, healthcare, and telecom.
  • Prototype Developers: Using Python Library for research

Team

  • Nawaz Bashir Sayyad
  • Kunal Chandak
  • Mayuresh Muluk
  • Harshal Pathare

References

  • Aadhaar Act, 2016: Legal guidelines for handling Aadhaar data in India.
  • Personal Data Protection Bill, 2021: Regulations related to sensitive personal data processing.
  • General Data Protection Regulation (GDPR): European data privacy and protection regulations.

Conclusion

edgeIDX is an open-source, high-accuracy OCR system optimized for government-issued documents. It offers fast processing, modular design, and edge-device compatibility, making it a valuable contribution to the open-source community.

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

edgeidx-1.0.4.tar.gz (21.8 MB view details)

Uploaded Source

Built Distribution

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

edgeidx-1.0.4-py3-none-any.whl (59.0 MB view details)

Uploaded Python 3

File details

Details for the file edgeidx-1.0.4.tar.gz.

File metadata

  • Download URL: edgeidx-1.0.4.tar.gz
  • Upload date:
  • Size: 21.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for edgeidx-1.0.4.tar.gz
Algorithm Hash digest
SHA256 98b24e6e098da791f3d8829dea2f0cabc746e1d867ce6f48d02de12167d16645
MD5 850f5e9a8b7784ca7d9112483ebd16d0
BLAKE2b-256 d1c04a0c31d453331c533e5563ba784eeec1291ca47d7a792d47c1b986b768af

See more details on using hashes here.

File details

Details for the file edgeidx-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: edgeidx-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 59.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for edgeidx-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5208673ffd8493690d26a9897edbee60ed7c5db5b5b4457a633dd137f524ffa2
MD5 4f8b8732a48f280e659378f701473514
BLAKE2b-256 ba8d6ead2722a3a852fd8b92f14b4948e7ec0676a392197c02cfcd6f229c38dd

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