Skip to content
M. SALL
Work

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
OpenCVface_recognitionJavaCVMaventkinterSwing

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