分享一个离线版 Android 人脸检测,人脸识别和活体检测 SDK

2023-02-06 18:48:13 +08:00
 snowflake007

FaceVerificationSDK

Offline Android Face Detection & Recognition And Alive Detect SDK 离线版 Android 人脸检测,人脸识别和活体检测 SDK

简要说明

本 SDK 支持 Android 5+,包含人脸检测,人脸识别和动作活体检测,所有处理都是离线终端执行,敏感资料不发送后台 Server ,更具隐私安全; 其中活体检测支持张嘴,微笑,眨眼,摇头,点头 随机两种组合验证(摇头点头也可拆分为左右上下 4 个动作),低端机离线验证速度正常。

前期测试效果能覆盖 95% 的中高低端机器,识别成功率>99% ,实验数据仅供参考,最低端手机完整的兼容性功能通过设备为 2016 年低端机魅蓝 Note3 。 特殊系统设备特殊硬件,如有问题请先提 Issues 附带系统版本,设备型号,错误 log 等信息,其他定制化需求请联系 anylife.zlb@gmail.com 交流

人脸识别方案为:MobileFaceNets ,解释器为 TensorFlow lite ; 预计 23 年第二季度 方案会升级,同时官方也会更新解释器。

使用场景

[ 1:1 ]   识别手机考勤系统,机场 /卡口人证对齐,免密码登录,酒店入驻、刷脸支付、刷脸解锁
[ 1:N ]  考勤机,物业管理业主出入凭证等,(暂未优化 1:N 识别速度! SM-9700 百张底片最差 5s 左右,最好 50ms )

接入使用

#### 3.6.9 更新说明

* 提高中高端设备识别精确度,低配设备时间换效率吧
* 优化活体检测链路的完整性和作弊检测


//Gradle
implementation "io.github.anylifezlb:Face-Verification:3.6.9"

``` 
//更多说明请看代码和下载 Demo 体验

        FaceProcessBuilder faceProcessBuilder = new FaceProcessBuilder.Builder(this)
            .setThreshold(0.8f)                 //threshold (阈值)设置,范围仅限 0.7-0.9 ,默认 0.8
            .setBaseBitmap(baseBitmap)          //1:1 底片「底片请设置为正脸无遮挡,并如 Demo 裁剪为仅含人脸」
            .setFaceLibFolder(BASE_FACE_DIR_1N) //1:N 底片库 ( 1 还是 N 中检测只能有一种)
            .setGraphicOverlay(mGraphicOverlay) //遮罩层,人脸模型标记画面演示,只是辅助调试用
            .setLiveCheck(true)                 //是否需要活体检测,需要发送邮件,详情参考 ReadMe
            .setVerifyTimeOut(10)               //活体检测支持设置超时时间 9-16 秒
            .setProcessCallBack(new ProcessCallBack() {
                @Override
                public void onCompleted(boolean isMatched) {
                     //only 1:1 人脸识别检测会有 Callback
                }

                @Override
                public void onMostSimilar(String imagePath){
                    //only 1:N 人脸识别检测会有 Callback
                }

                @Override
                public void onFailed(int code) {

                }

                @Override
                public void onProcessTips(int actionCode) {
                    showAliveDetectTips(actionCode);
                }
            })
            .create();

    faceDetectorUtils.setDetectorParams(faceProcessBuilder);
```


更多使用说明下载参考本 Repo 和下载 Demo 体验,里面有比较详尽的使用方法,其中 

* NaviActivity Demo 演示导航页面
* Verify11Activity 人脸检测识别,活体检测页面( 1:1 )
* AddBaseImageActivity 更换底片页面,仅供参考建议业务方使用自拍裁剪后使用本程序处理获取高质量底片
* 1:N 识别暂未优化

其中活体检测的使用需要你发送邮件到 anylife.zlb@gmail.com 申请,内容包括
APP 简要描述,App 名称 ,包名 ,功能主页截屏和 下载链接 5 项内容。

如果是 H5 web 应用需要使用人脸识别,可以封装 JsBrodge 调用交互使用。如果需要减少包体积,模型文件可以私有部署

Demo 下载

请前往下载: https://www.pgyer.com/faceVerify (托管服务如果失效请 github 下载代码打包)

服务定制

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

Github: https://github.com/AnyLifeZLB/FaceVerificationSDK

4889 次点击
所在节点    Android
4 条回复
yolee599
2023-02-06 19:11:54 +08:00
现在门禁的活体检测都要求 RGB + IR 双摄像头了,单摄像头容易攻破
snowflake007
2023-02-07 17:11:04 +08:00
@yolee599 是的,门禁的场景要更高的要求
snowflake007
270 天前
贴子没法删除或者更新 ? https://v2ex.com/t/963089#reply0

Dep
snowflake007
269 天前
方案已经重构,帖子没法更新。 最新查看 https://v2ex.com/t/963089

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX