husaynhakeem/android-face-detector


A real-time face detection Android library

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.husaynhakeem:android-face-detector:2.0'
	}
	dependencies {
		implementation("com.github.husaynhakeem:android-face-detector:2.0")
	}
	<dependency>
	    <groupId>com.github.husaynhakeem</groupId>
	    <artifactId>android-face-detector</artifactId>
	    <version>2.0</version>
	</dependency>

                            
    libraryDependencies += "com.github.husaynhakeem" % "android-face-detector" % "2.0"
        
        

                            
    :dependencies [[com.github.husaynhakeem/android-face-detector "2.0"]]
        
        

Readme


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