Android 超簡單集成活體檢測技術 快速識別“假臉”
前言
你有沒有過這樣的顧慮,刷臉解鎖真的安全嗎?如果有人用我的照片或者視頻冒充我,那么手機可不可以發現鏡頭前不是我本人呢?當然可以啦。華為HMS ML Kit活體檢測技術可以准確地分辨真實人臉和“假臉”。不管是人臉翻拍照片、人臉視頻重放,還是人臉面具,活體檢測技術都可以馬上揭穿這些“假臉”,讓“假臉”無所遁形!
應用場景
活體檢測技術通常用在人臉比對技術前,先確認鏡頭前是真實的人而不是有人拿照片或面具作假,然后再比對當前人臉和已錄入的人臉是否是同一個人。活體檢測技術在生活中有廣泛的應用場景。比如在手機解鎖時,活體檢測技術可以防止有人假冒自己解鎖手機,造成個人信息泄露。
或者是在辦理金融業務時,活體檢測技術可以用於實名認證過程中,先判斷當前是真實人臉,再比對當前人臉和身份證上照片信息,確認辦理業務的是身份證上的本人,有效防止他人冒充自己造成財產損失。
並且,HMS ML Kit活體檢測技術支持靜默式活體檢測,不需要用戶配合做動作就可以判斷是不是真實人臉,怎么樣,是不是很方便呢。下面小編給大家介紹如何快速集成活體檢測技術。
開發實戰
1. 開發准備
詳細的准備步驟可以參考華為開發者聯盟:
https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-process-4
這里列舉關鍵的開發步驟。
1.1 項目級gradle里配置Maven倉地址
buildscript {
repositories {
...
maven {url 'https://developer.huawei.com/repo/'}
}
}
dependencies {
...
classpath 'com.huawei.agconnect:agcp:1.3.1.300'
}
allprojects {
repositories {
...
maven {url 'https://developer.huawei.com/repo/'}
}
}
1.2 應用級gradle里配置SDK依賴
dependencies{
// 引入活體檢測集合包。
implementation 'com.huawei.hms:ml-computer-vision-livenessdetection:2.0.2.300'
}
1.3 在文件頭添加配置
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
1.4 添加如下語句到AndroidManifest.xml文件中,自動更新機器學習模型到設備
<meta-data
android:name="com.huawei.hms.ml.DEPENDENCY"
android:value= "livenessdetection"/>
1.5 申請相機權限
相機權限申請的具體操作步驟可參考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/add-permissions-0000001050040051
2.代碼開發
2.1創建活體檢測結果回調,用於獲取檢測結果。
private MLLivenessCapture.Callback callback = new MLLivenessCapture.Callback() {
@Override
public void onSuccess(MLLivenessCaptureResult result) {
//檢測成功的處理邏輯,檢測結果可能是活體或者非活體。
}
@Override
public void onFailure(int errorCode) {
//檢測未完成,如相機異常CAMERA_ERROR,添加失敗的處理邏輯。
}
};
2.2 創建活體檢測實例,啟動檢測。
MLLivenessCapture capture = MLLivenessCapture.getInstance();
capture.startDetect(activity, callback);
Demo效果
下面這個demo展示了鏡頭前分別是真實人臉和人臉面具時活體檢測技術的檢測結果,效果是不是很棒?
Github源碼
更詳細的開發指南參考華為開發者聯盟官網
https://developer.huawei.com/consumer/cn/hms/huawei-mlkit
原文鏈接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203345286567820416&fid=18
作者:留下落葉