The FaceNet model has been widely adopted by the ML community for face recognition tasks. A number of Python packages are available by which can be used to leverage the powers of FaceNet.
We have used the FaceNet model to produce 128D embeddings for each face, captured in the live camera feed, so as perform face recognition in an Android app. This recognition follows the traditional approach of computing the Euclidean distance between the embeddings ( or by computing the cosine of the angle between them ).
The “Keras” of FaceNet is first converted to a TensorFlow Lite model ( Using TFLiteConverter
API ) which is then used in the Android app. To perform face detection, we use Firebase MLKit’s FaceDetector
. Here’s the GitHub project,