当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Android开发人脸识别登录功能

    栏目:Linux/apache问题 时间:2019-11-22 10:17

    近来,很多公司的APP都实现了人脸识别登录的功能。今天呢,银鹏带大家从头到尾做一下这个人脸识别登录。

    首先呢,我们需要采用一个拥有人脸识别算法的平台,这边我建议使用虹软的人脸识别,因为我个人用的就是这个,关键有一点好处,就是免费。注册链接:点击进入注册。

    注册完毕以后,话不多说,我们进入流程。

    第一步:在虹软平台创建应用

    ÔÚÕâÀï²åÈëͼƬÃèÊö

    ÔÚÕâÀï²åÈëͼƬÃèÊö

    直接安装SDK查看激活码

    ÔÚÕâÀï²åÈëͼƬÃèÊö

    下载虹软识别库地址:点击下载识别库

    下载好之后进行依赖添加:

    implementation 'com.github.tyhjh:PermissionUtil:v1.0.5' 
    implementation 'com.github.tyhjh:picturePickUtil:v1.0.6' 
    implementation project(':arclibrary')

    接下来进入步骤详解:

    第一步:初始化,在Application里进行:

    private void initArcFace() {
      new AcrFaceManagerBuilder().setContext(this)
        .setFreeSdkAppId(Constants.FREESDKAPPID)
        .setFdSdkKey(Constants.FDSDKKEY)
        .setFtSdkKey(Constants.FTSDKKEY)
        .setFrSdkKey(Constants.FRSDKKEY)
        .setLivenessAppId(Constants.LIVENESSAPPID)
        .setLivenessSdkKey(Constants.LIVENESSSDKKEY)
        .create();
     }

    温馨提示:Constants为存储虹软信息的常量类,主要存放APPID等信息,这些信息在查看激活码里面有。

    public class Constants {
     public static String FREESDKAPPID = "ELVF52xrBj21FKQxXygS6HvkdoMzeUVaAcBDtLa1vu4F";
     public static String FDSDKKEY = "59nZG5b13BNroFAyvMW74PEMD5Ke5ieWiZK1n6YVTEoe";
     public static String FTSDKKEY = "59nZG5b13BNroFAyvMW74PEE3g4RPbX4UPAn1XV7Hcra";
     public static String FRSDKKEY = "59nZG5b13BNroFAyvMW74PEqrgNHG1iZPTi78m1mctQt";
     public static String IDCARDAPPID = "ELVF52xrBj21FKQxXygS6HvkdoMzeUVaAcBDtLa1vu4F";
     public static String IDCARDSDKKEY = "";
     public static String LIVENESSAPPID = "ELVF52xrBj21FKQxXygS6HvkdoMzeUVaAcBDtLa1vu4F";
     public static String LIVENESSSDKKEY = "59nZG5b13BNroFAyvMW74PEMD5Ke5ieWiZK1n6YVTEoe";
    }

    有些需要下载arc文件里的代码,这是下载地址:点击下载arc代码【主要业务逻辑我这边都放在LivenessActivity里】

    人脸识别注册

     LivenessActivity.flag = 1;
     startActivity(new Intent(MainActivity.this, LivenessActivity.class));

    人脸识别登录

    LivenessActivity.flag = 2;
    startActivity(new Intent(MainActivity.this, LivenessActivity.class));

    以上只是本地注册和登录,咱们需要和服务端进行交互,那么注册时,就要 绑定faceId,对faceId进行存储,当用户对人脸识别开启后,进行本地人脸识别登录校验,成功后,请求刷脸登录接口。