Face Recognition
Computer Vision and1 Intelligence Group, IIT Madras
We implement an experimental setup with face detection and recognition. This has been used for our purposes with the following aims:
- Swapping multiple detectors and feature extractors for facenet.
- Multi GPU and distributed support
- Frozen graph support with quantisation.
Primarily, we use this in two use cases:
- High accuracy: SSD or FRCNN detectors with Inception-Resnet feature extractors.
- CPU optimised FPS: SSDlite mobilenet with mobilenet V2 extractors (this is covered in getting started).
We have experimented with multiple classifiers for error free student identification.
Sample Results
Contents
Facenet Docs
Object Detection Experimental Setup
To Do
- TF-Estimator based scalable train file.
- SSDLite based detector
- Mobilenet models for facenet
- Angular, Focal and triplet losses.
- Inference on Singular Videos.
- DALI, Tensor RT for faster inference.
- S3D support for detection.
- Experiments with weight tying.
- Results Section
- Take a look at https://github.com/alexattia/ExtendedTinyFaces for large scale face detection.
Dependencies
- Python 3.4+
- Tensorflow 1.6+
- Opencv 3.3.1+
Pipeline
Image -> FaceDetection -> CroppedFace -> FaceRecognition -> Descriptor(128D) -> FaceClassifier -> Name
Credits
FaceRecognition(FaceNet)
TensorFlow implementation of the face recognizer described in the paper "FaceNet: A Unified Embedding for Face Recognition and Clustering". Ref. https://github.com/davidsandberg/facenet