V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
snowflake007
V2EX  ›  Android

Android 人脸识别 1:1 , 1:N SDK 封装

  •  
  •   snowflake007 · 267 天前 · 3813 次点击
    这是一个创建于 267 天前的主题,其中的信息可能已经有所发展或是发生改变。

    FaceVerificationSDK

    On Device OffLine Android Face Detection & Recognition And Liveness Detection & Anti Spoofing SDK 离线版 Android 人脸检测,人脸识别和活体检测反作弊 SDK,包含 1:1 人脸對比 和 1:N ( M:N )检索识别两个主题功能

    当前版本说明 2023-08-01

    FaceVerification大版本重构,在使用方式 API 接口没有大改变,但是包名引入路径有修改,请按照 Demo 方式修改。

    • 本次迭代 1:1 简化了接入流程实现 1 小时接入,动作活体可以选 1-2 个随机动作步骤;
    • 1:N 识别极大的提升了识别搜索速率和精度,千张人脸检索识别速度在三星 N9700 速度小于 1 秒,硬件配置好可支持万张。
    • 支持 M:N 识别,在人脸检测环节调整了灵敏度
    • 所有的测试验证都是在手机或平板上进行,如果你的设备是定制设备或外接摄像头可能需要兼容适配

    建议[Fork] + [Star] 关注订阅# FaceVerificationSDK 以便获取最新更新

    简要说明

    SDK 包含动作活体、静默活体检测,1:1 人脸识别以及 1:N , M:N 人脸识别检索所有处理都在设备终端离线执行,SDK 本身不用联网,不收集人脸信息更具隐私安全

    其中活体检测支持张嘴、微笑、眨眼、摇头、点头 随机两种组合验证(摇头点头也可拆分为左右上下 4 个动作),低端机离线验证速度正常。

    SDK 支持 Android 5+,实验室设备 2016 年低配置魅蓝 Note3 ARM Cortex-A53 1.8GHz x4 + ARM Mali T860 图形处理器运行流畅稳定

    实验室测试效果能覆盖 95% 的中高低端机器,识别成功率>99%;特殊 DIY 系统或特殊定制硬件,外接 USB 摄像头等如有问题请先提 Issues 附带系统版本、设备型号、错误 log 等信息; 或发邮件到 [email protected] ,VIP 用户添加微信 ID:18707611416

    FaceVerificationSDK

    使用场景和区别

    [ 1:1 ]  移动考勤真人校验,App 免密登录,酒店入驻、刷脸支付、刷脸解锁、真人校验
    
    [ 1:N ]  智能门锁,考勤机,通缉人员行踪搜索,智慧校园、景区、工地、社区、酒店等,(千张人脸仅仅耗时 200 Ms ,三星 N9700 测试)
    
    [ M:N ]  公安布控等
    
    注:1:N & M:N 人脸检索可以独立依赖,体积更小 https://github.com/AnyLifeZLB/FaceSearchSDK_Android
    

    接入使用

    //1.首先 Gradle 中引入依赖 
    implementation 'io.github.anylifezlb:FaceRecognition:1.x.y'
    
    //2.Camera 相机的初始化。第一个参数 0/1 指定前后摄像头;第二个参数 linearZoom [0.1f,1.0f] 指定焦距,默认 0.1
    CameraXFragment cameraXFragment = CameraXFragment.newInstance(cameraLensFacing,0.12f);
    
    ``` 
    //3.人脸识别过程中各种参数的初始化。(更多说明请 Github Clone 代码体验,)
    
            FaceProcessBuilder faceProcessBuilder = new FaceProcessBuilder.Builder(this)
                .setThreshold(0.88f)                //threshold (阈值)设置,范围仅限[0.8-0.95],默认 0.85
                .setBaseBitmap(baseBitmap)          //1:1 底片「底片请设置为正脸无遮挡,并如 Demo 裁剪为仅含人脸」
                .setLiveCheck(true)                 //是否需要活体检测,需要发送邮件,详情参考 ReadMe
                .setVerifyTimeOut(10)               //活体检测支持设置超时时间 9-16 秒
                .setMotionStepSize(1)               //随机动作验证活体的步骤个数,支持 1-2 个步骤
                .setProcessCallBack(new ProcessCallBack() {
                    @Override
                    public void onCompleted(boolean isMatched) {
                         //1:1 人脸识别匹配成功
                    }
                    @Override
                    public void onMostSimilar(String similar) {
                         //人脸检索识别
                    }
                })
                .create();
    
        faceDetectorUtils.setDetectorParams(faceProcessBuilder);
    ```
    
    
    更多使用说明下载参考本 Repo 和下载 Demo 体验,里面有比较详尽的使用方法,其中 
    
    
    * NaviActivity  Demo 演示导航页面
    * /verify/目录  1:1 人脸检测识别,活体检测页面
    * /search/目录  1:N 和 M:N 人脸识别搜索页面,人脸库管理
    * 1:N 和 M:N 人脸检索可以独立依赖,体积更小 https://github.com/AnyLifeZLB/FaceSearchSDK_Android
    
    不含活体检测不需要 license 完全免费,包含活体检测的使用需要你发送邮件到 [email protected] 申请,内容包括
    APP 简要描述,App 名称 ,包名 ,功能主页截屏和 下载链接 5 项内容。
    

    Demo 下载体验

    最新版体验下载地址: https://www.pgyer.com/faceVerify
    微信或相机扫码后选择在浏览器中打开点击下载安装体验验证是否符合你的业务需求

    服务定制

    如果 SDK 不能匹配你的应用场景需要特殊定制化,请发邮件到 [email protected] 也可以加微信 HaoNan19990322 (请标注为 人脸识别定制,否则添加不通过,谢谢)

    欢迎关注 Fork+Star 获取最新动态 Github: https://github.com/AnyLifeZLB/FaceVerificationSDK

    常见问题

    常见问题请参考: https://github.com/AnyLifeZLB/FaceVerificationSDK/blob/main/questions.md 只是 1:1 人脸识别不含活体检测是不需要申请授权的,直接永久使用; 1:N ,M:N 需要授权,未明事宜请联系

    https://github.com/AnyLifeZLB/FaceSearchSDK_Android/assets/15169396/46cca423-1cc9-4861-bec9-7457f68ad986

    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1044 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:41 · PVG 07:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.