How ankubisht987/automated-face-detection-and-identification-in-video-streams works
This repository implements a React dashboard backed by a FastAPI face-matching service; the root README’s Streamlit/DeepFace description does not match the sampled runtime. The user uploads a reference image and video, sets processing parameters, starts a session job, then reviews timestamps, segments, and preview frames and exports results. The backend keeps session state in memory and performs sampled-frame detection and embedding comparison. The dashboard excerpt confirms session, reference, processing, status, and cleanup requests; backend excerpts show results and segment endpoints, but not a frontend call to those endpoints, so those links are omitted.
Main entry points: app.py FastAPI endpoints · Dashboard.jsx Dashboard · App.jsx App shell
Components 14
API and sessions
- FastAPI endpoints
model/app.py - Session state
model/app.py - Video job
model/app.py
Face matching
- Reference setup
model/app.py - Frame matching
model/app.py - Image enhancement
model/app.py - InsightFace engine
model/app.py
Results
- Detection results
model/app.py - Time segments
model/app.py - CSV export
frontend/src/dashboard/Dashboard.jsx - Preview frames
model/app.py
Other components
- User
Connections 16
- User → Dashboard: uploads and configures
frontend/src/dashboard/Dashboard.jsx - App shell → Dashboard: renders
frontend/src/App.jsx - Dashboard → FastAPI endpoints: requests session and processing
frontend/src/dashboard/Dashboard.jsx - FastAPI endpoints → Session state: creates and reads
model/app.py - FastAPI endpoints → Reference setup: sets reference
model/app.py - Reference setup → InsightFace engine: extracts embedding
model/app.py - FastAPI endpoints → Video job: schedules processing
model/app.py - Video job → Frame matching: samples and compares frames
model/app.py - Frame matching → InsightFace engine: detects and embeds faces
model/app.py - Reference setup → Image enhancement: tries enhanced variants
model/app.py - Video job → Image enhancement: tries enhanced variants
model/app.py - Video job → Session state: stores status and detections
model/app.py - FastAPI endpoints → Detection results: serves results
model/app.py - FastAPI endpoints → Time segments: builds time segments
model/app.py - Video job → Preview frames: collects preview frames
model/app.py - Dashboard → CSV export: downloads CSV
frontend/src/dashboard/Dashboard.jsx