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:
- OpenCV - https://github.com/opencv/opencv
- LIBSVM - https://github.com/cjlin1/libsvm
- AndroidLibSvm - https://github.com/yctung/AndroidLibSvm
- TensorFlow - https://github.com/tensorflow/tensorflow
- facenet - davidsandberg/facenet#240
- Caffe - https://github.com/BVLC/caffe
- caffe-android-demo - https://github.com/sh1r0/caffe-android-demo
- caffe-android-lib - https://github.com/sh1r0/caffe-android-lib
- Add bintray repository to the project build.gradle file
repositories {
maven {
url "http://dl.bintray.com/qualeams/Android-Face-Recognition-Deep-Learning-Library"
}
}
- Add library dependency to the module/app build.gradle file
compile 'ch.zhaw:facerecognitionlibrary:1.5.2'
- git clone https://github.com/Qualeams/Android-Face-Recognition-with-Deep-Learning-Library.git
- Import the facerecognitionlibrary in the existing Android Studio project
Most parameters are set in the settings/preferences.
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'.
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:
- make clean (executes ndk-build clean)
- make (executes ndk-build)
- make install (copies the libs to the folder /src/main/jniLibs/armeabi-v7a)