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 Firebase ML Kit's face detection API.
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.
Three easy steps:
- Add a
FaceBoundsOverlay
on top of your camera view.
<FrameLayout
...>
// Any other views
<CameraView
... />
<husaynhakeem.io.facedetector.FaceBoundsOverlay
... />
// Any other views
</FrameLayout>
- Define a
FaceDetection
instance and connect it to your camera.
private val faceDetector: FaceDetector by lazy {
FaceDetector(facesBoundsOverlay)
}
...
cameraView.addFrameProcessor {
faceDetector.process(Frame(
data = it.data,
rotation = it.rotation,
size = Size(it.size.width, it.size.height),
format = it.format,
isCameraFacingBack = cameraView.facing))
}
- Setup firebase in your Android project
- Add the code below in your root build.gradle at the end of repositories
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Add the dependency
implementation 'com.github.husaynhakeem:android-face-detector:v1.2'