Abdullah Erzin
Back to the scenes

Doğru Holding (DGR Project), May 2023 to Dec 2023

Face recognition with stereo liveness on Jetson Nano

98% accuracy, 30% fewer false positives, and face embeddings stored in 4 KB on-device.

98% accuracy

Problem

Face recognition had to run on a Jetson Nano, store each face compactly on the device, and reject spoofing attempts.

Approach

  • Recognition on the edge. The system runs on a Jetson Nano and stores face embeddings in 4 KB on-device.
  • Stereo liveness, built from scratch. Per-keypoint facial depth profiles from a stereo camera, a labelled real vs. spoofed dataset I collected, and a lightweight TensorFlow model that rejects spoofing attempts.
  • Real time on constrained hardware. Performance-critical components in C++, exposed to the Python pipeline as native extensions.

Result

98% accuracy and 30% fewer false positives, with face embeddings stored in 4 KB on-device.

What I would do next

Test liveness against more spoof types, such as screens and printed masks, and report the rejection rate for each.