All Projects → Yoonit-Labs → android-yoonit-facefy

Yoonit-Labs / android-yoonit-facefy

Licence: MIT license
The face detection's module for Android with a lot of awesome features

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to android-yoonit-facefy

Deepface
Face analysis mainly based on Caffe. At this time, face analysis tasks like detection, alignment and recognition have been done.
Stars: ✭ 1,465 (+3656.41%)
Mutual labels:  face-detection, face-analysis
face
[deprecated] 👽 Face Recognition package for Laravel
Stars: ✭ 37 (-5.13%)
Mutual labels:  face-detection, face-analysis
assap
Anti Shoulder Surfing Attack Platform (ASSAP)
Stars: ✭ 22 (-43.59%)
Mutual labels:  face-detection
MLKit-Android-Apps
All android applications (apps) using MLKit
Stars: ✭ 24 (-38.46%)
Mutual labels:  face-detection
bob
Bob is a free signal-processing and machine learning toolbox originally developed by the Biometrics group at Idiap Research Institute, in Switzerland. - Mirrored from https://gitlab.idiap.ch/bob/bob
Stars: ✭ 38 (-2.56%)
Mutual labels:  face-detection
DeepFaceRecognition
Face Recognition with Transfer Learning
Stars: ✭ 16 (-58.97%)
Mutual labels:  face-detection
frontend-face-detection
a demo of frontend-face-detection
Stars: ✭ 23 (-41.03%)
Mutual labels:  face-detection
Face-Recognition
A Java application for Face Recognition under expressions, occlusions and pose variations.
Stars: ✭ 55 (+41.03%)
Mutual labels:  face-detection
Face-Recognition-Attendance-System
Face Detection | Recognition | Attendance
Stars: ✭ 289 (+641.03%)
Mutual labels:  face-detection
pigo-wasm-demos
Webassembly demos showcasing the Pigo face detection library.
Stars: ✭ 47 (+20.51%)
Mutual labels:  face-detection
align iranian national id card
A program to align rotated id cards and extract user data from it.
Stars: ✭ 48 (+23.08%)
Mutual labels:  face-detection
Detect-Facial-Features
Code example demonstrating how to detect eyes, nose, lips, and jaw with dlib, OpenCV, and Python
Stars: ✭ 42 (+7.69%)
Mutual labels:  face-detection
Face-Recognition-Raspberry-Pi-64-bits
Recognize 2000+ faces on your Raspberry Pi 4 with database auto-fill and anti-spoofing
Stars: ✭ 48 (+23.08%)
Mutual labels:  face-detection
VideoFaceDetection
Face Detection with Android
Stars: ✭ 0 (-100%)
Mutual labels:  face-detection
google-vision-sampler
Code examples for Google Vision API.
Stars: ✭ 47 (+20.51%)
Mutual labels:  face-detection
AnimeCV
Pretrained computer vision tools for illustrations.
Stars: ✭ 22 (-43.59%)
Mutual labels:  face-detection
facial-expression-recognition
Facial Expression Recognition Using CNN and Haar-Cascade
Stars: ✭ 44 (+12.82%)
Mutual labels:  face-detection
morghulis
No description or website provided.
Stars: ✭ 18 (-53.85%)
Mutual labels:  face-detection
face-mask-detector
Detecting face mask with OpenCV and TensorFlow. Using simple CNN or model provided by TensorFlow as MobileNetV2, VGG16, Xception.
Stars: ✭ 19 (-51.28%)
Mutual labels:  face-detection
deface
Video anonymization by face detection
Stars: ✭ 269 (+589.74%)
Mutual labels:  face-detection

Android Yoonit Facefy

Google MLKit integration

PyTorch integration

Computer vision pipeline

Face detection

Face contours

Face expressions

Face movement

Sponsors

Platinum
Become a sponsor!

Table of Contents

Installation

Add the JitPack repository to your root build.gradle at the end of repositories

allprojects {
	repositories {  
	... 
	maven { url 'https://jitpack.io' }
	} 
}  

Add the dependency

dependencies {
	implementation 'com.github.Yoonit-Labs:android-yoonit-facefy:master-SNAPSHOT'
}

Usage

This is a basic usage to the FacefyYoonit. Feel free to use the demo.

import ai.cyberlabs.yoonit.facefy.Facefy

...

    fun example(inputBitmap: Bitmap) {
        Facefy()
            .detect(
                inputBitmap,
                { faceDetected ->
                    val boundingBox: Rect = faceDetected.boundingBox
                    val contours: MutableList<PointF> = faceDetected.contours
                    val headEulerAngleX: Float = faceDetected.headEulerAngleX
                    val headEulerAngleY: Float = faceDetected.headEulerAngleY
                    val headEulerAngleZ: Float = faceDetected.headEulerAngleZ
                    val leftEyeOpenProbability: Float? = faceDetected.leftEyeOpenProbability
                    val rightEyeOpenProbability: Float? = faceDetected.rightEyeOpenProbability
                    val smilingProbability: Float? = faceDetected.smilingProbability
                },
                { errorMessage ->
                    val mesage: String = errorMessage
                },
                {
                    // Process completed.
                }       
            )
    }

API

Methods

Function Parameters Return Type Description
detect inputBitmap: Bitmap, onSuccess: (FaceDetected) -> Unit, onError: (String) -> Unit void Detect a face from bitmap and return the result in the FaceDetected as a closure.

FaceDetected

Attribute Type Description
leftEyeOpenProbability Float? The left eye open probability.
rightEyeOpenProbability Float? The right eye open probability.
smilingProbability Float? The smiling probability.
headEulerAngleX Float The angle that points the rotation of the face about the horizontal axis of the image. HeadMovements
headEulerAngleY Float The angle that points the "left-right" head direction. See HeadMovements
headEulerAngleZ Float The angle that points the rotation of the face about the axis pointing out of the image. HeadMovements
contours Mutablelist List of Points that represents the shape of the recognized face.
boundingBox Rect The face bounding box.

Head Movements

Here we explaining the above gif and how reached the "results". Each "movement" (vertical, horizontal and tilt) is a state, based in the angle in degrees that indicate head direction;

Head Direction Attribute v < -36° -36° < v < -12° -12° < v < 12° 12° < v < 36° 36° < v
Vertical headEulerAngleX Super Down Down Frontal Up Super Up
Horizontal headEulerAngleY Super Left Left Frontal Right Super Right
Tilt headEulerAngleZ Super Right Right Frontal Left Super Left

To contribute and make it better

Clone the repo, change what you want and send PR. For commit messages we use Conventional Commits.

Contributions are always welcome!


Code with by the Yoonit Team

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].