基於Android平臺的人臉識別實現
效果圖
先上效果,讓大家看看如何
現在有很多人臉識別的技術我們可以拿來使用;但是個人認為還是離線端的SDK比較實用;所以個人一直在蒐集人臉識別的SDK;原來使用開源的OpenCV;最近有個好友推薦虹軟的ArcFace, 閒來無事就下來測試了一下。個人感覺還不錯,效率比OpenCV要好很多,檢測速度很快;20ms左右就可以檢測出來;獲取特徵點(人臉比對)的效率也很高,基本上在200ms左右。
SDK Demo使用步驟:
1. 下載SDK(下載時會獲取APPID與KEY)
下載到的SDK有3個Zip包:
分別為
人臉檢測: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.java中appid和各演算法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 即可解決(其他版本沒測試過,建議不要隨意更改)。