Detect Fake Faces using Liveness Detection feature of Huawei ML Kit in Android (Kotlin)

Murali Akula
Huawei Developers
Published in
4 min readAug 12, 2021

Introduction

In this article, we can learn how to detect the fake faces using the Liveness Detection feature of Huawei ML Kit. It will check the face appearance and detects whether the person in front of camera is a real person or a person is holding a photo or a mask. It has become a necessary component of any authentication system based on face biometrics for verification. It compares the current face which is on record, to prevent the fraud access to your apps. Liveness detection is very useful in many situations. Example: It can restricts others to unlock your phone and to access your personal information.

This feature accurately differentiates real faces and fake faces, whether it is a photo, video or mask.

Requirements

1. Any operating system (MacOS, Linux and Windows).

2. Must have a Huawei phone with HMS 4.0.0.300 or later.

3. Must have a laptop or desktop with Android Studio, Jdk 1.8, SDK platform 26 and Gradle 4.6 installed.

4. Minimum API Level 19 is required.

5. Required EMUI 9.0.0 and later version devices.

How to integrate HMS Dependencies

1. First register as Huawei developer and complete identity verification in Huawei developers website, refer to register a Huawei ID.

2. Create a project in android studio, refer Creating an Android Studio Project.

3. Generate a SHA-256 certificate fingerprint.

4. To generate SHA-256 certificate fingerprint. On right-upper corner of android project click Gradle, choose Project Name > Tasks > android, and then click signingReport, as follows.

Note: Project Name depends on the user created name.

5. Create an App in AppGallery Connect.

6. Download the agconnect-services.json file from App information, copy and paste in android Project under app directory, as follows.

7. Enter SHA-256 certificate fingerprint and click tick icon, as follows.

Note: Above steps from Step 1 to 7 is common for all Huawei Kits.

8. Click Manage APIs tab and enable ML Kit.

9. Add the below maven URL in build.gradle(Project) file under the repositories of buildscript, dependencies and allprojects, refer Add Configuration.

10. Add the below plugin and dependencies in build.gradle(Module) file.

11. Now Sync the gradle.

12. Add the required permission to the AndroidManifest.xml file.

Let us move to development

I have created a project on Android studio with empty activity let us start coding.

In the MainActivity.kt we can find the business logic.

In the CustomDetectionActivity.kt to find the custom view detection.

In the activity_main.xml we can create the UI screen for default view.

In the activity_custom_detection.xml we can create the UI screen for custom view.

Demo

Tips and Tricks

1. Make sure you are already registered as Huawei developer.

2. Set minSDK version to 19 or later, otherwise you will get AndriodManifest merge issue.

3. Make sure you have added the agconnect-services.json file to app folder.

4. Make sure you have added SHA-256 fingerprint without fail.

5. Make sure all the dependencies are added properly.

6. Currently, the liveness detection service does not support landscape and split-screen detection.

7. This service is widely used in scenarios such as identity verification and mobile phone unlocking.

Conclusion

In this article, we have learnt about detection of fake faces using the Liveness Detection feature of Huawei ML Kit. It will check whether the person in front of camera is a real person or person is holding a photo or a mask. Mainly it prevents the fraud access to your apps.

I hope you have read this article. If you found it is helpful, please provide likes and comments.

Reference

ML Kit — Liveness Detection

--

--