This project includes three models.
MTCNN(pnet.tflite, rnet.tflite, onet.tflite), input: one UIImage, output: Box. Use this model to detect faces from an image.
FaceAntiSpoofing(FaceAntiSpoofing.tflite), input: one UIImage, output: float score. Use this model to determine whether the image is an attack.
MobileFaceNet(MobileFaceNet.tflite), input: two UIImages, output: float score. Use this model to judge whether two face images are one person.
Android platform implementation: https://github.com/syaringan357/Android-MobileFaceNet-MTCNN-FaceAntiSpoofing
https://github.com/vcvycy/MTCNN4Android
This project is the Android implementaion of MTCNN face detection.
https://github.com/davidsandberg/facenet
Use the MTCNN here to convert .tflite, so that you can adapt to any shape.
https://github.com/jiangxiluning/facenet_mtcnn_to_mobile
Here's how to convert .tflite.
https://github.com/yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing
Face Anti-spoofing. I trained FaceAntiSpoofing.tflite, which only supports print attack and replay attack. If you have other requirements, please use this source code to retrain.
https://github.com/sirius-ai/MobileFaceNet_TF
Use this model for face comparison on mobile phones because it is very small.
After putting .tflite in your project, remember to add .tflite file in Build Phases -> Copy Bundle Resources