Skip to content

DominikKwiatkowski/FaceRecognition

Repository files navigation

Android face recognition

BSc Thesis on Gdansk University of Technology.

Android app implementing modern face recognition algorithm based on neural networks with simple preview and tool for comparing evaluation time of the selected models.

Addition of new face Recognition in real-time

App download

To download the target ".apk" file, go to releases. App is compatible with Android OS 8.0 and above.

Project download

To download and modify the project according to your needs, use git clone https://github.com/DominikKwiatkowski/FaceRecognition and open it with Android Studio. It will download all required libraries through Gradle.

Download and the conversion of the model

To download and optimize the neural network model, DeepFace library might be used. Follow the tutorial to setup the environment and run the script to convert model to mobile version. It will download and optimize "Facenet" model and save it to the script's location as "Facenet-optimized.tflite". Such generated model is used in our mobile app. Script can be modified to download other models.

Addition of new model

To add new face recognition model, add it with .tflite extension to /app/src/main/ml directory like presented below:

image

To make the model visible in the app options, add new entry to /app/src/main/res/values/arrays.xml, like presented below:

Norm is algorithm used to calculate distance between feature vectors generated by the model. Threshold is the maximum distance between two vectors representing features of the same face.