Case Study · AI / Computer Vision
RCAF FACIAL
RECOGNITION
SYSTEM
Applied research for the Canadian Air Force Museum. A two-stage AI pipeline — Real-ESRGAN super-resolution into ArcFace recognition — built to identify personnel in a 1,000-image archival photograph collection.
Architecture
THE PIPELINE
Image Ingestion
PowerShell script walks the archival directory, normalises filenames, extracts EXIF metadata, and loads records into PostgreSQL. Handles duplicates and corrupt files gracefully.
Super-Resolution
Real-ESRGAN (4× upscale) runs on each image. Historical photos averaged 240×180px — far below the minimum face detection threshold. Upscaling brings them to 960×720px before recognition.
Face Detection
MTCNN detects and aligns faces in the upscaled images. Alignment is critical — ArcFace embeddings are sensitive to pose. Only confident detections (>0.92 confidence) pass through.
Embedding + Matching
InceptionResNet (ArcFace-trained) generates 512-dim embeddings per face. Cosine similarity search across the database returns ranked candidates. Threshold tuned to minimise false positives.
Result Storage
Match results, confidence scores, and bounding box metadata stored in PostgreSQL. Reviewers access results via a simple query interface — no frontend needed for the client's workflow.
Challenges
WHAT MADE IT HARD
Problem
Photo quality
Archival photos from the 1940s–80s. Low resolution, film grain, sepia tone, physical damage. Standard recognition pipelines fail completely below 100px face width.
How we fixed it
Real-ESRGAN pre-processing before any recognition step. Custom CUDA pipeline to batch-process 1,000 images overnight.
Problem
No ground truth
The museum had no labelled dataset. We couldn't train or fine-tune — we had to use a pre-trained ArcFace model and tune the matching threshold manually.
How we fixed it
Built a small validation set from photos with known subjects. Iterated on the similarity threshold until false positive rate was acceptable for archival review.
Problem
Client expectations
The client was told by two other vendors this was "not feasible." Starting from a baseline of zero trust means every demo has to work.
How we fixed it
Delivered a live demo on real museum photos in week 2. 94.7% accuracy on the final validation set. The client called it impossible before we delivered it.
Next case study
MedicHelper Platform →