File size: 3,033 Bytes
ab8cebe
 
 
 
 
 
 
 
 
 
f7b4320
26086fb
ab8cebe
26086fb
ab8cebe
 
77417bf
 
26086fb
ab8cebe
 
26086fb
 
 
 
 
ab8cebe
 
26086fb
 
 
77417bf
26086fb
ab8cebe
 
26086fb
ab8cebe
 
 
 
 
 
 
 
 
 
 
26086fb
ab8cebe
 
 
 
 
 
 
26086fb
ab8cebe
26086fb
ab8cebe
26086fb
ab8cebe
 
 
26086fb
ab8cebe
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
title: Vision AI Engine
emoji: πŸ‘οΈβ€πŸ—¨οΈ
colorFrom: blue
colorTo: indigo
sdk: docker
pinned: false
---

## πŸ“Š Biometric Case Study: Neural Occlusion Bypass
![Match Proof](https://raw.githubusercontent.com/hodfa840/face-recognition-app-flask-python/main/image.png)
*Identity confirmed across hijab occlusion using deep face detection.*

A professional-grade, Flask-powered facial biometric engine capable of real-time demographics analysis and cross-occlusion identity verification (e.g., matching across hijabs, glasses, and ages).

## πŸ”— Live Deployment
**[β–Ά Launch Vision.AI Engine](https://hodfa71-vision-ai-engine.hf.space)**

> **Note:** Hosted on Hugging Face Spaces (free tier). The first request may take 10–30 seconds as the app cold-starts and loads AI model weights into memory. Subsequent requests are fast.

## 🌟 Key Features
- **Neural Vision HUD (Live Mode)**: Real-time webcam analysis with biometric overlay β€” age, gender, emotion, and ethnicity.
- **Occlusion-Resistant Matcher**: Matches identities across significant changes in headgear (hijab), eyewear, or lighting.
- **Deep Biometric Extraction**: Gender, age range, ethnicity, and emotional state β€” powered by RetinaFace + DeepFace CNNs.
- **Neural Stabilization Buffer**: Weighted voting across live frames to eliminate AI flicker.
- **Privacy-First**: No images stored permanently; all analysis runs in volatile temp memory.

## πŸ› οΈ Technology Stack
- **Engine**: [DeepFace](https://github.com/serengil/deepface) β€” RetinaFace detector, VGG-Face/ArcFace models
- **Backend**: Flask 3.0, TensorFlow 2.15.0, OpenCV (Headless)
- **Frontend**: Vanilla HTML5/CSS3 (Glassmorphism), Font Awesome 6
- **Stability**: Neural stabilization buffer with weighted voting across live frames
- **Deployment**: Docker on Hugging Face Spaces, model weights pre-baked into image from HF Hub

## 🎨 Local Setup & Launch

1. **Initialize Environment**:
   ```bash
   python -m venv venv
   source venv/bin/activate  # or .\venv\Scripts\activate
   pip install -r requirements.txt
   ```

2. **Download ML Weights**:
   ```bash
   python scripts/download_weights.py
   ```
   Downloads all model weights into `~/.deepface/weights/`. **The app will not work without this step.**

   | Model | Size | Purpose |
   |-------|------|---------|
   | `age_model_weights.h5` | ~514 MB | Age estimation |
   | `gender_model_weights.h5` | ~514 MB | Gender classification |
   | `facial_expression_model_weights.h5` | ~5 MB | Emotion detection |
   | `race_model_single_batch.h5` | ~150 MB | Ethnicity classification |
   | `retinaface.h5` | ~119 MB | Face detection (accuracy-critical) |

   > **RetinaFace** is the face detector used by this app. It is significantly more accurate than basic OpenCV detection, especially for gender and age predictions.

3. **Run the App**:
   ```bash
   python scripts/start_project.py
   ```
   Visit: http://localhost:5000/analysis/live

---
*Created for a world-class Machine Learning Portfolio. Licensed under MIT.*