• Stars
    star
    501
  • Rank 85,426 (Top 2 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Face Recognition Android App

Face Recognition Android App

Google Play

Developed by Kristian Lauszus, 2016

The code is released under the GNU General Public License.


Build Status

This project demonstrates how to calculate Eigenfaces and Fisherfaces used for face recognition on an Android device.

The library uses my other project FaceRecognitionLib in order to calculate the Eigenfaces and Fisherfaces.

A short blog post can be found at the following link: http://blog.tkjelectronics.dk/2017/07/face-recognition-using-eigenfaces-and-fisherfaces.

The reports I wrote together with Jonathan Wang can be found at the following links: Eigenfaces_Report.pdf and Final_Project_Report.pdf.

Screenshots

Build instructions

In order to built this project you need to download and install Android Studio. You will then need to install the Android NDK.

Then simply download the latest release: https://github.com/Lauszus/FaceRecognitionApp/releases/download/1.2.3/FaceRecognitionApp-1.2.3.zip and open the project in Android Studio.

Advanced build instructions

The following instructions are meant for advanced users who wants to clone and modify the source files.

First clone the repository including the submodule:

git clone --recursive https://github.com/Lauszus/FaceRecognitionApp.git

If you have already cloned the project, then please run the following command in order to initialize the submodule:

git submodule update --init --recursive

The project is relying on the environmental variables OPENCV_ANDROID_SDK and EIGEN3_DIR for settings.gradle and Android.mk to be set to the path of the OpenCV Android SDK and Eigen3 libraries.

Please use OpenCV 3.4.1 and Eigen3 3.3.5. Both can be installed from the command line like so:

wget https://github.com/opencv/opencv/releases/download/3.4.1/opencv-3.4.1-android-sdk.zip
unzip opencv-3.4.1-android-sdk.zip
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.5/eigen-3.3.5.zip -O Eigen3.zip
unzip Eigen3.zip

Then apply the patch to OpenCV:

patch -p0 < opencv.patch

Now simple set the environmental variables:

Linux:

nano ~/.bash_profile
export OPENCV_ANDROID_SDK=/path/to/OpenCV-android-sdk
export EIGEN3_DIR=/path/to/eigen3
echo $OPENCV_ANDROID_SDK $EIGEN3_DIR

Mac:

nano /etc/launchd.conf
setenv OPENCV_ANDROID_SDK /path/to/OpenCV-android-sdk
setenv EIGEN3_DIR /path/to/eigen3
echo $OPENCV_ANDROID_SDK $EIGEN3_DIR

Windows:

setx OPENCV_ANDROID_SDK /path/to/OpenCV-android-sdk
setx EIGEN3_DIR /path/to/eigen3
echo %OPENCV_ANDROID_SDK% %EIGEN3_DIR%

Please note that /path/to/ should be replaced with the actual path to the Eigen and OpenCV Android SDK directories.

If you have troubles setting the environmental variables, then you can just hardcode the paths in settings.gradle and Android.mk.

More Repositories

1

Sanguino

Sanguino add-on for the Arduino IDE, based on http://code.google.com/p/sanguino/
C
170
star
2

FaceRecognitionLib

Library for calculating Eigenfaces and Fisherfaces in C++
C++
68
star
3

LaunchPadFlightController

TM4C123G based Flight Controller
C
68
star
4

BalancingRobotFullSize

Code for my full size balancing/segway robot
C++
57
star
5

ADNS3080

Example code for the ADNS-3080 optical flow sensor
Python
49
star
6

fftw3-android

Repository for compiling the newest version of FFTW3 on Android
C
44
star
7

PS3-Controller-BT-Library-for-Arduino

Supports all three PS3 controllers via Bluetooth using the USB Host Shield from http://www.circuitsathome.com/ - This is the old version of the library. The newest one can be found at the following link: https://github.com/felis/USB_Host_Shield_2.0
Arduino
26
star
8

ArduinoVendingMachine

Arduino code for an old vending machine
Arduino
22
star
9

LaunchPadFlightControllerAndroid

Android app for my LaunchPad FlightController: https://github.com/Lauszus/LaunchPadFlightController
Java
17
star
10

Nucleo_F446RE_USBHost

NUCLEO-F446RE example code for the USB Host Shield library 2.0
C
16
star
11

blhost

Changes I did to make blhost work properly on all platforms
C++
13
star
12

BalancingRobotFullSizeAndroid

Android app for my full size balancing robot
Java
12
star
13

python_can_viewer

Python CAN Viewer
Python
11
star
14

VoiceRecognitionService

Simple Android voice recognition app
Java
11
star
15

ArduinoBlinkLED

Source code to use with: https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino
Java
9
star
16

OneWheeledSkateboard

One wheeled skateboard
C++
8
star
17

ImageAnalysisWithMicrocomputer30330

OpenCV code for Image Analysis with Microcomputer 30330
C++
6
star
18

GSMSIM300

Library for the SIM300 GSM module
C++
5
star
19

pyblhost

Python implemented of blhost used to communicate with the NXP MCUBOOT/KBOOT bootloader
Python
5
star
20

Serialf

Small class which allows you to use printf easily with Arduino
C
4
star
21

RocketLogger

Log pressure, acceleration and angular velocity of a model rocket using an ESP8622 via a simple webinterface
C++
3
star
22

PlantFriendsApp

App for Plant Friends
Python
3
star
23

ReflexBall

ReflexBall Rally
C
3
star
24

rpi-kivy-wheel

Kivy wheel for Raspberry Pi
3
star
25

Basys2

Projects for the Basys 2 board from Digilent
VHDL
3
star
26

SpacecraftInstrumentationSystems30320

Book for Spacecraft Instrumentation Systems 30320
TeX
2
star
27

DroneDraw

Drone Draw Android app
Java
2
star
28

6502_IMU

6502 code for estimating roll and pitch using an IMU
Assembly
2
star
29

DigitalSystemsDesignENGR378

Lab exercises for ENGR 378 at SFSU
Verilog
1
star
30

AutonomousRobotSystems31385

C code for Autonomous Robot Systems 31385
C
1
star
31

pybldc

Tool for flashing the VESC via CAN and USB
Python
1
star
32

DIY_OSD

Modified version of the DIY OSD firmware by Dennis Frie: http://www.rcgroups.com/forums/showthread.php?t=1473207
C++
1
star
33

SmsTrackerApp

Android app intended to use with a weather balloon
Java
1
star
34

Assignments02102

Assignments for course 02102 at DTU
Java
1
star