Android 超簡單集成活體檢測技術 快速識別「假臉」

Android 超簡單集成活體檢測技術 快速識別「假臉」

前言

你有沒有過這樣的顧慮,刷臉解鎖真的安全嗎?若是有人用個人照片或者視頻冒充我,那麼手機可不能夠發現鏡頭前不是我本人呢?固然能夠啦。華爲HMS ML Kit活體檢測技術能夠準確地分辨真實人臉和「假臉」。無論是人臉翻拍照片、人臉視頻重放,仍是人臉面具,活體檢測技術均可以立刻揭穿這些「假臉」,讓「假臉」無所遁形! 在這裏插入圖片描述java

應用場景

活體檢測技術一般用在人臉比對技術前,先確認鏡頭前是真實的人而不是有人拿照片或面具做假,而後再比對當前人臉和已錄入的人臉是不是同一我的。活體檢測技術在生活中有普遍的應用場景。好比在手機解鎖時,活體檢測技術能夠防止有人假冒本身解鎖手機,形成我的信息泄露。 在這裏插入圖片描述android

或者是在辦理金融業務時,活體檢測技術能夠用於實名認證過程當中,先判斷當前是真實人臉,再比對當前人臉和身份證上照片信息,確認辦理業務的是身份證上的本人,有效防止他人冒充本身形成財產損失。 在這裏插入圖片描述git

而且,HMS ML Kit活體檢測技術支持靜默式活體檢測,不須要用戶配合作動做就能夠判斷是否是真實人臉,怎麼樣,是否是很方便呢。下面小編給你們介紹如何快速集成活體檢測技術。github

開發實戰

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-0000001050040051app

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://github.com/HMS-Core/hms-ml-demo/blob/master/MLKit-Sample/module-body/src/main/java/com/mlkit/sample/activity/HumanLivenessDetectionActivity.javamaven

更詳細的開發指南參考華爲開發者聯盟官網

https://developer.huawei.com/consumer/cn/hms/huawei-mlkitide


原文連接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203345286567820416&fid=18 做者:留下落葉學習

相關文章
相關標籤/搜索