-
Notifications
You must be signed in to change notification settings - Fork 5
Alternative Face Detectors (Deprecated in v8)
--ALTERNATIVE FACE DETECTORS HAVE BEEN REMOVED AS OF VERSION 9.0--
The following information is now kept purely historically.
By default, the Biometrics Android SDK leverages the Android built-in face detector. This is a simple face detector and is ubiquitous in Android phones, however it is not regularly updated. iProov also supports BlazeFace and ML Kit face detectors. The table below compares face detectors.
Note: Alternative Face Detectors, Blazeface and ML Kit, described here are Deprecated.
Face Detector | Size Impact | Accuracy | Speed | Angles Supported | Lighting Conditions Supported | Pose Control |
---|---|---|---|---|---|---|
CLASSIC |
700 KB | OK | Fastest | Limited | Limited | Unsupported |
BLAZEFACE |
3.7 MB | Better | Slower | Better | Better | Unsupported |
ML_KIT |
21.3 MB | Best | Slowest | Best | Best | Supported |
Note: The total size impacts were approximated by measuring the APK size increases of a simple app when including only the minimum required iProov AAR dependencies:
CLASSIC
used only the coreiproov
AAR dependency.BLAZEFACE
used bothiproov
andiproov-blazeface
.ML_KIT
used bothiproov
andiproov-mlkit
.
BlazeFace is a relatively lightweight and performant face detector. BlazeFace provides increased accuracy when compared with the built-in face detector, however it requires the inclusion of TensorFlow Lite with the SDK along with the necessary model, and adds approximately 3.0 MB to the download size of your app. In iProov benchmarks, it also ran approximately 50% slower than the built-in "classic" face detector on very low-end devices.
To install BlazeFace, add the iProov module to your build.gradle
file:
dependencies {
implementation('com.iproov.sdk:iproov-blazeface:<VERSION>')
}
ML Kit face detector provides more advanced features such as facial landmarks, which allows iProov to offer detection of the user's pose. To use pose control features, add the iproov-mlkit
module to your build.gradle
file:
dependencies {
implementation('com.iproov.sdk:iproov-mlkit:<VERSION>')
}
Note: Adding ML Kit support increases your app size (it includes various machine learning models used for face detection) and may result in poorer performance on low-end devices, as ML Kit is more computationally intensive. For details see Google Developer.