Identity Verification (KYC) — OCR & Face Match
Two production AI services that power ID-card OCR, document-authenticity detection and biometric face matching for banking and finance customer onboarding: IDOCR and IDBM.
Project Info
- Role: Developer — IDOCR & IDBM (AI/CV modules)
- Client: Identify-Turkey — id24.tr KYC platform
- Scope: ID OCR + MRZ, authenticity detection, biometric face match
- Integration: Flask REST API (JWT), Docker/Kubernetes microservices
- Status: Live (in production)
Overview
I built two independent microservices that form the AI core of a KYC (Know Your Customer) identity-verification platform. IDOCR reads the front and back of a national ID card and extracts its fields (ID number, name/surname, date of birth, validity, serial number, MRZ); detects whether an image is an ID and its orientation; and verifies document authenticity through security features. IDBM is a biometric face-matching service that compares a selfie against the ID photo, and additionally provides face analysis and landmark extraction. Both run in production as encrypted, JWT-protected REST APIs on Docker/Kubernetes.
IDOCR — ID OCR & Authenticity Detection
- ID Detection & Orientation: YOLO-based detection of whether an image is an ID and whether it is the front or back side.
- Field OCR: Extraction of ID number, name/surname, date of birth, validity, gender and serial number from the front (YOLO region detection + Tesseract OCR).
- MRZ Reading: Back-side MRZ parsing and cross-validation against the front-side fields.
- Authenticity / Security Features: Hologram and MLI detection on the front, guilloche detection on the back.
IDBM — Biometric Face Matching
- Face Match (1:1): Selfie ↔ ID-photo comparison; distance- and threshold-based match decision.
- Multiple Models & Metrics: ArcFace, Facenet512, VGG-Face, SFace, etc.; cosine / euclidean_l2 metrics with per-model tuned thresholds.
- Face Detection & Landmarks: Face detection and landmark extraction via RetinaFace, MTCNN and MediaPipe.
- Face Analysis: Age, gender and emotion estimation; ONNX conversion for performance.
Tech Stack
Deployment & Operations
- Serving: Gunicorn + Flask; Docker images, scalable Kubernetes deployment.
- Security: JWT-based authentication and end-to-end encryption.
- Compliance: TSE documentation and certification for banking/KYC requirements.