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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98b24e6e098da791f3d8829dea2f0cabc746e1d867ce6f48d02de12167d16645
|
|
| MD5 |
850f5e9a8b7784ca7d9112483ebd16d0
|
|
| BLAKE2b-256 |
d1c04a0c31d453331c533e5563ba784eeec1291ca47d7a792d47c1b986b768af
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5208673ffd8493690d26a9897edbee60ed7c5db5b5b4457a633dd137f524ffa2
|
|
| MD5 |
4f8b8732a48f280e659378f701473514
|
|
| BLAKE2b-256 |
ba8d6ead2722a3a852fd8b92f14b4948e7ec0676a392197c02cfcd6f229c38dd
|