/android-face-detector

A real-time face detection Android library

Primary LanguageKotlinMIT LicenseMIT

Face detector

alt text

Face detector is a face detection Android library which can be easily plugged into any camera API (given it provides a way to process its frames).

Face detector is built on top of MLKit's face detection API.

Related article

I wrote the following article in order to explain why this project was built, how it's designed and how one can use it in a real-world Android application.

Usage

Only 2 easy steps:

  1. Add a FaceBoundsOverlay on top of your camera view.
<FrameLayout
    ...>
    
    // Any other views

    <CameraView
        ... />

    <husaynhakeem.io.facedetector.FaceBoundsOverlay
        ... />

    // Any other views
    
</FrameLayout>
  1. Define a FaceDetection instance and connect it to your camera.
val faceDetector = FaceDetector(facesBoundsOverlay)
cameraView.addFrameProcessor {
    faceDetector.process(Frame(
            data = it.data,
            rotation = it.rotation,
            size = Size(it.size.width, it.size.height),
            format = it.format,
            lensFacing = cameraView.facing))
}

Download

  1. Add the code below in your root build.gradle at the end of repositories
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
  1. Add the dependency
implementation 'com.github.husaynhakeem:android-face-detector:2.0'

Demo

alt text