Skip to content

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.

Notifications You must be signed in to change notification settings

co-dev0909/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/co-dev0909/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

No packages published

Languages