1. 程式人生 > >基於Android平臺的人臉識別實現

基於Android平臺的人臉識別實現

效果圖

先上效果,讓大家看看如何


現在有很多人臉識別的技術我們可以拿來使用;但是個人認為還是離線端的SDK比較實用;所以個人一直在蒐集人臉識別的SDK;原來使用開源的OpenCV;最近有個好友推薦虹軟的ArcFace, 閒來無事就下來測試了一下。個人感覺還不錯,效率比OpenCV要好很多,檢測速度很快;20ms左右就可以檢測出來;獲取特徵點(人臉比對)的效率也很高,基本上在200ms左右。

SDK Demo使用步驟:

1.      下載SDK(下載時會獲取APPIDKEY

下載到的SDK3Zip包:


分別為

人臉檢測:ARCSOFT_FACEDETECTION_JAVASDK_1.0.0.16_ANDROID.zip

人臉識別:ARCSOFT_FACERECOGNITION_JAVASDK_1.0.0.16_ANDROID.zip
人臉跟蹤: ARCSOFT_FACERETRACKING_JAVASDK_1.0.0.16_ANDROID.zip

虹軟Android是用的javaSDK

三個包解壓後的目錄如下圖:



目錄:

  • doc:說明文件
  • libs:演算法對應的jar包和so庫
  • samplecode:示例程式碼
  • releasenotes:庫結構說明

sdk包中libs目錄下的的檔案拷貝到到 app\libs



2.      下載Demo原始碼(下載地址:https://github.com/asdfqwrasdf/ArcFaceDemo)到本地目錄

3.      Android Studio2.3.3中匯入Demo工程

4.      將步驟1中解壓得到的所有libs目錄中的檔案和目錄拷貝到androidstudio工程的libs目錄下,並將jar作為library加入工程

5.      修改 app\src\main\java\com\arcsoft\sdk_demo\FaceDB.javaappid和各演算法sdk key的值:

publicstatic String appid = "xxxx";        //獲取的APPid
publicstatic String fd_key = "xxxx";       //人臉檢測key
publicstatic String fr_key = "xxxx";       //人臉識別key
publicstatic String ft_key = "xxxx";    //人臉跟蹤key

6.      編譯執行,就可以體驗人臉檢測、人臉跟蹤與人臉識別的效果。



提示: 若有錯誤提示 Error:Failed to find target with hash string 'android-24'.......

一般Android Studio 視窗會有個連結(Install missing platform(s) and sync project)
點選下載更新 android-24 即可解決(其他版本沒測試過,建議不要隨意更改)。