White Paper
Person Face Classification Using AuraFace Model and SVM
An AI-powered face recognition proof of concept comparing fine-tuned deep learning against an embedding-based pipeline for recognising individuals from a small, real-world dataset.
Executive Summary
The customer requires a solution capable of identifying and recognising individuals from images using a custom dataset maintained within the organization. The solution is intended to support scenarios where an individual’s identity needs to be determined from captured images without relying on manually labelled or pre-defined image metadata.
To address this requirement, a Proof of Concept (POC) was developed to evaluate the feasibility of building a person face recognition solution using deep learning-based face embeddings and machine learning classification techniques. The POC uses AuraFace to generate facial embeddings from images and an SVM classifier to identify individuals based on those embeddings.
The primary objective of the POC is to validate whether the proposed approach can accurately recognise individuals from the organization's custom dataset and provide a foundation for further development of a production-ready solution.
Problem in Context
Developing a face classification model with the person dataset has some technical challenges. Unlike general image classification, facial recognition requires the model to learn subtle differences between facial structures.
The person dataset available here contains a limited number of images per person, especially when compared to datasets on Kaggle, making direct fine-tuning prone to overfitting. Adding to the challenge, the image quality is often poor, and many photos feature groups with multiple people rather than isolated, clear portraits.
Technical Deep Dive
Preprocessing
Fine-Tuned ResNet34
AuraFace + SVM Pipeline
- Robust feature extraction using a pretrained model
- Lightweight and fast classifier training
- Simple retraining by updating embeddings and the SVM only
- Better generalization on limited datasets
Tradeoffs
| Aspect | Fine-Tuned ResNet34 | AuraFace + SVM |
|---|---|---|
| Training | End-to-end fine-tuning | Fixed embeddings + SVM |
| Background Sensitivity | Higher | Lower |
| Retraining | Neural network retraining | SVM retraining only |
| Dataset Requirement | Larger dataset preferred | Good for smaller datasets |
| Real-world Robustness | Moderate | High |
Model Results
| Image | Model | Confidence | Correctness |
|---|---|---|---|
| Image 1 | Fine-Tuned ResNet34 | Hari Krishnan B S (99.96 %) | ✅ |
| Image 1 | AuraFace + SVM | Hari Krishnan B S (63 %) | ✅ |
| Image 2 | Fine-Tuned ResNet34 | NAJIYA P P K (25.01 %) | ❌ |
| Image 2 | AuraFace + SVM | Hari Krishnan B S (68 %) | ✅ |
| Image 3 | Fine-Tuned ResNet34 | Hari Krishnan B S (99.93 %) | ✅ |
| Image 3 | AuraFace + SVM | Hari Krishnan B S (76 %) | ✅ |
NKORR’s Approach
- Leverage pretrained knowledge to reduce training time and improve generalization.
- Separate feature extraction from classification to simplify updates and maintenance.
- Design for scalability, allowing new persons to be added with minimal retraining.
- Validate under real-world conditions, focusing on reliability across varying backgrounds, lighting conditions, and image quality rather than benchmark accuracy alone.
Recommendations
- Evaluate models using real-world images rather than relying solely on validation accuracy.
- Use embedding-based approaches when working with limited datasets or when identity updates occur frequently.
- Apply consistent face detection, alignment, and cropping during both training and inference.
- Separate feature extraction from classification to reduce retraining effort and improve maintainability.
- Use confidence thresholds and periodic model evaluation to maintain reliable recognition performance in production.
Authors & Contributors
References
| # | Source | Notes |
|---|---|---|
| AuraFace Model - https://huggingface.co/fal/AuraFace-v1 | HuggingFace | Models in HuggingFace |
| Practical Deep Learning for Coders - https://course.fast.ai/ | Jeremy Howard | Fastai |
| Introduction to Pytorch - https://docs.pytorch.org/docs/2.13/index.html | Pytorch | Learn Pytorch |
Work with us
Need to recognise people
from a small, messy photo dataset?
Tell us about your project. We'll tell you honestly whether and how we can help.