Academic project · November 2024
Face recognition — Python & Java
Two parallel implementations of the same real-time face-recognition system, built to compare computer-vision ecosystems.
- Problem
- Understanding what a vision framework actually gives you requires building the same thing twice.
- Outcome
- Two working systems — Python/OpenCV and Java/JavaCV — with guided multi-pose enrolment and dynamic retraining.
- Role
- AI developer
What problem does this face-recognition project solve?
Face recognition rarely fails on the algorithm. It fails on the enrolment data: one frontal, well-lit face, and the model stops recognising anyone the moment the head turns.
What approach was taken?
Guided multi-pose enrolment. The system directs the user — front, left profile, right profile, up, down — with an audio cue at each validated capture. The quality of the enrolment set becomes a property of the interface, not of the user's goodwill.
Dynamic retraining, so a new face is usable immediately.
Two ecosystems in parallel. Python/OpenCV with face_recognition (128-dimension encodings, fast prototyping) and Java/JavaCV with Maven (strict typing, enterprise integration). Same problem, same features, two tooling cultures.
What did this face-recognition project teach me?
The productivity gap between the two comes not from the language but from the distance to the native library: Python wraps OpenCV in high-level abstractions, Java exposes its C++ structure almost unchanged.
A project of the same calibre ?
Based in Thiès, available in dakar & remote. I reply within 48 hours.
Let's talk