Computer Vision · Aug 2024 – Dec 2024 · Completed
FOOTPRINT Detection
A full-stack application that runs object detection on video, tags visual attributes, and helps operators search for missing persons without scrubbing footage by hand.
Overview
FOOTPRINT turns surveillance or uploaded video into searchable detections. Operators filter by traits such as hair and clothing color, review queued jobs, and inspect model output instead of watching hours of raw footage.
Problem
Manual review does not scale when looking for a person across live or recorded streams. Bounding boxes alone are not enough — search needs structured attributes operators can query, plus a pipeline that accepts video, runs inference at controlled speeds, and stores results for review.
My role
Built and integrated the application stack as part of a Wayne State team project: training data workflow in Roboflow, model metrics, Django/Firebase backend for queries and user data, Dockerized inference, and the operator UI for uploads, queues, filters, and result review.
Architecture
System topology from the Missing-Person-App repo — ingest, Django control plane, Dockerized YOLOv5 workers, Redis queue + Firestore results, then the operator dashboard. Hover or tap a node to inspect its data contract.
Tech stack
- YOLOv5 / vision models
- OpenCV
- Django
- Firebase
- Docker
- Roboflow
Roboflow held the annotated training set (4,000+ images). Inference was containerized so speed modes and environments stayed reproducible.
Technical challenges & solutions
- Attribute search, not just boxes: trained and evaluated hair/clothing detectors so results were filterable traits.
- Throughput vs accuracy: Dockerized inference with speed modes so operators could trade latency for coverage.
- Operator workflow: upload queue, history, and dashboards so the system was usable beyond a notebook demo.
Results
Work samples