FaceIDLight

A lightweight face-recognition toolbox and pipeline based on tensorflow-lite with MTCNN-Face-Detection and ArcFace-Face-Recognition. No need to install complete tensorflow, tflite-runtime is enough. All tools are using CPU only.

? Description

A lightweight face-recognition toolbox and pipeline based on tensorflow-lite with MTCNN-Face-Detection
and ArcFace-Face-Recognition. No need to install complete tensorflow, tflite-runtime is enough. All tools are
using CPU only.

Pull request are welcome!

⚡️ Features

  • Online Face-Recognition
  • Running completely on CPU
  • Multi Faces
  • ~4 FPS on a MacBookPro2015
  • Tools for Face-Detection, -Verification and Identification

✅ ToDos

  • [ ] GPU support
  • [ ] Resolution-dependent model-selection
  • [ ] Multithreading for multiple faces
  • [ ] Fix bug installing with setup.py (not finding external url for tflite-runtime)
  • [x] OpenCV Window freezes on MacOS when quitting (seemed to be fixed)

? Requirements

⚙️ How to install tflite-runtime

You can easily install tflite-runtime from https://google-coral.github.io/py-repo/ with the following line:

pip3 install tflite-runtime --find-links https://google-coral.github.io/py-repo/tflite-runtime

⚙️ How to install the FaceIDLight package

Simply install the package via pip from git:

pip3 install git+https://github.com/martlgap/FaceIDLight

or if you do not have git installed on your system, install it directly from the wheel:

pip3 install https://github.com/Martlgap/FaceIDLight/releases/download/v.0.1/FaceIDLight-0.1-py3-none-any.whl

? Run Demo:

Run Python 3.8 and type in:

from FaceIDLight.demo import Demonstrator
Demonstrator().run()

You can select your own directory for gallery-images (*.png and *.jpg images are supported) by simply add
a keyword argument to the Demonstrator Class: Demonstrator(gal_dir=<full-path-to-your-gallery>)

You might change the webcam address ID. Do so via selecting a certain number for stream id:
Demonstrator(stream_id=<-1, 0, 1, 2, ...>)

Test the face-identification by simply holding a foto into camera. The provided sample_gallery includes images
from: (Andrew_Caldecott, Anja_Paerson, Choi_Sung-hong, Elizabeth_Schumacher,
Eva_Amurri, Jim_OBrien, Raul_Ibanez, Rubens_Barrichello, Takahiro_Mori)

Press "q" to close the Demo. (Window has to be selected)

? Example

This image shows an example of the Demonstrator():
screenshot-5

GitHub

https://github.com/Martlgap/FaceIDLight