Skip to content

aimaster-dev/IDVision

Repository files navigation

IDVision

IDVision is a desktop application for seamless ID verification and face authentication.
It leverages IDAnalyzer for extracting information from both sides of identity documents, then verifies user authenticity with live facial checks.

Features

  • Dual-Side ID OCR: Extracts and matches data from front and back of ID cards.
  • ID Verification: Checks document authenticity and expiration using IDAnalyzer API.
  • Face Verification: Live webcam face matching with ID photo.
  • Liveness Detection: Prevents spoofing using blink, expression, and movement checks.
  • Modern OOP Python Codebase: Easy to extend, integrate, or maintain.

Tech Stack

  • Python 3.7+
  • PyQt5: GUI framework
  • OpenCV: Camera and image processing
  • IDAnalyzer API: OCR and ID verification
  • Torch / Facenet / VGGFace2: Face recognition
  • Custom liveness modules (blink, face orientation, emotion prediction)

Setup

1. Clone the Repo

git clone https://github.com/your-org/idvision.git
cd idvision

2. Install Dependencies

You can use pip (preferably in a virtual environment):

pip install -r requirements.txt

Main dependencies (see requirements.txt):

  • PyQt5
  • opencv-python
  • torch
  • facenet-pytorch (or your face models)
  • requests
  • python-dotenv

3. Configure API Key

Obtain your API key from IDAnalyzer.

Create a .env file in your project root:

IDANALYZER_API_KEY=your_api_key_here
IDANALYZER_REGION=US

4. Run the App

python main.py

Usage

  1. Select ID Images: Upload both the front and back images of an ID card.
  2. Extract & Verify: Click the "Verify" button to extract and display information and status.
  3. Face Verification: Proceed to face authentication and liveness checks using your webcam.
  4. Result: The app displays the match status and verification result.

Project Structure

idvision/
├── gui/
│   ├── page1_idcard.py   # ID card selection & OCR page
│   ├── page2.py          # Face verification page
│   ├── page3.py          # Liveness challenge page
│   └── utils.py
├── idanalyzer_api.py      # IDAnalyzer API integration class
├── liveness_detection/
│   └── ...               # Blink, emotion, orientation detection
├── verification_models.py # Face verification models
├── main.py               # Main app entry point
├── requirements.txt
└── .env                  # Environment config (not in git)

Customization

  • Switching API Providers: Update idanalyzer_api.py for a different OCR or KYC provider.
  • Adding Fields: Extend _extract_fields in idanalyzer_api.py to extract more data.
  • Changing GUI: All screens are in gui/ as PyQt widgets—extend or restyle as needed.

License

MIT This project is provided as-is for demo and integration purposes. Always comply with privacy and legal guidelines in your jurisdiction when handling user ID data.


Credits


About

IDVision is a desktop app for fast, secure ID card verification and face authentication. It uses IDAnalyzer API for dual-side OCR, checks ID authenticity, and matches live webcam faces with ID photos, ensuring reliable digital identity verification.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages