Internship

Roll-call face recognition from CCTV

A face-recognition pipeline, built from scratch with CVLFace, that confirms which inmates are present at roll call from CCTV. It picked out all 10 enrolled people among 1,000+ distractor images with zero false positives.

Context
Cynapse.ai
Kind
Internship
Role
AI Software Engineer Intern
Period
Sep 2025 – Feb 2026
Stack
  • PyTorch
  • CVLFace
People identified
10 / 10
False positives
0
Distractor images
1,000+
Recall
>90%
TODO: cover image

The problem

Confirm automatically which inmates are present at roll call, using the facility’s CCTV view rather than a manual count.

What I built

I built the pipeline from scratch:

  • Reference faces: cropped each person’s face from prison guards’ bodycam footage to use as their ground-truth reference.
  • Recognition: used CVLFace to match faces in the CCTV roll-call view against those references.
  • Evaluation: tested on 10 enrolled people, with more than 1,000 distractor images added to make false matches likely.

No images are shown here, to protect the people in the footage.

Result

It correctly identified all 10 people present at roll call, with no false positives across the whole video. Recall was above 90%: the rare misses were people it didn’t detect in a frame, never wrong matches. In other words, precision was 100%.

What I learned

TODO: One or two sentences in my own words.