Android Face Recognition with Deep Learning - Library


This library was developed by Michael Sladoje and Mike Schälchli during a bachelor thesis at the Zurich University of Applied Sciences.

Acknowledgements go to the thesis supervisors Dr. Martin Loeser, Dr. Oliver Dürr, Diego Browarnik and all the contributors of our code sources.

Code has been derived from the following sources:

App architecture

alt tag



Include as an Android module from bintray

  1. Add bintray repository to the project build.gradle file
repositories {
    maven {
        url  "" 
  1. Add library dependency to the module/app build.gradle file
compile 'ch.zhaw:facerecognitionlibrary:1.5.2'

Include as an Android module from source

  1. git clone
  2. Import the facerecognitionlibrary in the existing Android Studio project


Most parameters are set in the settings/preferences.

Train, Classify

Either train and classify by passing images (OpenCV Mat object) to the library or if features already obtained from the image (getFeatureVector), the feature vector can be passed (OpenCV Mat object) together with the flag "featuresAlreadyExtracted" set to 'true'.

Android NDK - C++

The libs for LIBSVM can be compiled outside of Android Studio with the make command (the Makefile is located under /jni-build). There are 3 different usages: