[img=16%,16%]https://github.com/user-attachments/assets/84da1e48-9feb-4eba-bc53-17c70e321111[/img]
关于「 FaceAI SDK」
Umbrella FaceAI SDK is on_device Offline Android Face Detection 、Recognition 、Liveness Detection Anti Spoofing and 1:N/M:N Face Search SDK
保护伞FaceAI SDK是设备端可离线不联网Android 人脸识别、动作及近红外IR活体检测、人脸图质量检测以及人脸搜索(1:N和M:N)SDK,可快速集成实现人脸识别,人脸搜索功能
当前版本阐明 V1.9.4 (建议升级到GitHub Demo版本)
- 删除不需要权限,上架Google Play认证
- 优化光线不佳活体检测和录入人脸活体校验
- 优化SDK体验,支持自定义管理摄像头
- 完善UVC协议USB红外双目摄像头人脸识别
建议[Fork] + [Star] 本项目Repo以便第一手获取更新:FaceVerificationSDK
人脸识别FaceAI SDK最新版源码唯一托管地址: https://github.com/AnyLifeZLB/FaceVerificationSDK
国内代码托管地址Gitee不是最新: https://gitee.com/onDeviceAI/FaceVerificationSDK (不方便FQ请联系获取最新代码)
简要阐明
SDK包罗动作活体、静默活体检测,1:1人脸识别以及1:N , M:N人脸识别检索,全部功能都在设备终端离线执行,SDK本身不用联网,不生存不上传任何人脸信息敏感资料更具隐私安全
其中活体检测支持张嘴、微笑、眨眼、摇头、点头 随机两种组合验证(支持去除特定的动作),低端机离线验证速度正常,1.9.0已经支持UVC红外双目摄像头。
SDK支持Android(5,15],建议设备设置 CPU为八核64位2.4GHz以上 摄像头RGB 宽动态镜头分辨率720p以上,帧率大于30并且无拖影。
实验室测试结果能覆盖95%的高中低端手机平板,识别乐成率>99%;特别DIY系统/定制硬件,如USB摄像头,双目摄像头等如有题目请先提Issues附带系统版本、设备型号、错误log等信息;
或发邮件到 FaceAISDK.Service@gmail.com ,VIP用户添加 微信:HaoNan19990322 或 WhatsApp: +8618707611416
SDK 工作原理简介
FaceAISDK 工作原理根据设置好的人脸识别阈值、识别种类的等参数,从系统相机、USB外接摄像头设备乃至RTSP视频流获取连续连续图像帧转为Bitmap后
送入SDK引擎,同时监听处理SDK返回的各种错误提示和结果。你可以自定义管理视频图像来源,SDK已经演示了系统相机CameraX,USB设备,RTSP流处理。
使用场景和区别
【1:1】 移动考勤签到、App免密登录、刷脸授权、刷脸解锁、巡更打卡真人校验
【1:N】 小区门禁、公司门禁、智能门锁、智慧校园、景区、工地、社区、酒店等
【M:N】 公安布控、人群追踪 监控等等 (测试结果可使用 MN_face_search_test.jpg 模拟)- private void initFaceVerificationParam(Bitmap baseBitmap) {
- FaceProcessBuilder faceProcessBuilder = new FaceProcessBuilder.Builder(this)
- .setThreshold(0.85f) //阈值设置,范围限 [0.8,0.95] 识别可信度,也是识别灵敏度
- .setBaseBitmap(baseBitmap) //1:1 人脸识别对比的底片,仅仅需要SDK活体检测可以忽略比对结果
- .setLivenessType(LivenessType.SILENT_MOTION) //活体检测可以有静默活体,动作活体或者组合也可以不需要活体NONE
- .setLivenessDetectionMode(LivenessDetectionMode.FAST) //硬件配置低用FAST动作活体模式,否则用精确模式
- .setSilentLivenessThreshold(silentLivenessPassScore) //静默活体阈值 [0.88,0.99]
- .setMotionLivenessStepSize(1) //随机动作活体的步骤个数[1-2],SILENT_MOTION和MOTION 才有效
- .setExceptMotionLivelessType(ALIVE_DETECT_TYPE_ENUM.SMILE) //活体去除微笑,或设置其他某种
- .setVerifyTimeOut(16) //活体检测支持设置超时时间 [9,22] 秒
- .setProcessCallBack(new ProcessCallBack() {
- /**
- * 1:1 人脸识别 活体检测 对比结束
- *
- * @param isMatched true匹配成功(大于setThreshold); false 与底片不是同一人
- * @param similarity 与底片匹配的相似度值
- * @param vipBitmap 识别完成的时候人脸实时图,仅授权用户会返回。可以拿这张图存档案和你的服务器再次严格匹配
- */
- @Override
- public void onVerifyMatched(boolean isMatched, float similarity, float silentLivenessScore, Bitmap vipBitmap) {
- showVerifyResult(isMatched, similarity, silentLivenessScore);
- }
- //人脸识别,活体检测过程中的各种提示
- @Override
- public void onProcessTips(int i) {
- showFaceVerifyTips(i);
- }
- //动作活体检测时间限制倒计时百分比
- @Override
- public void onTimeCountDown(float percent) {
- faceCoverView.startCountDown(percent);
- }
- /**
- * 发送严重错误,会中断业务流程
- *
- */
- @Override
- public void onFailed(int code, String message) {
- Toast.makeText(getBaseContext(), "onFailed错误:" + message, Toast.LENGTH_LONG).show();
- }
- }).create();
- faceVerifyUtils.setDetectorParams(faceProcessBuilder);
- cameraXFragment.setOnAnalyzerListener(imageProxy -> {
- //防止在识别过程中关闭页面导致Crash
- if (!isDestroyed() && !isFinishing()) {
- //2.第二个参数是指圆形人脸框到屏幕边距,可加快裁剪图像和指定识别区域,设太大会裁剪掉人脸区域
- faceVerifyUtils.goVerifyWithImageProxy(imageProxy, faceCoverView.getMargin());
- //自定义管理相机可以使用 goVerifyWithBitmap
- }
- });
复制代码 接入使用
- 1.首先Gradle 中引入依赖
implementation 'io.github.anylifezlb:FaceAISDK:1.9.?' //及时升级到github最新版
- 2.更新本SDK 接入演示代码到最新版本,熟悉后Copy Demo代码到你的主工程
- 3.办理项目工程中的第三方依赖库和主工程的冲突比如CameraX的版本等,Target SDK不同导致的冲突
- 4.调解JDK版本到java 11 以上。Android Studio设置Preferences -> Build -> Gradle -> JDK的版本为 11+
- 5.集成过程中的题目可以GitHub 提issues或者详细描述你遇到的题目发邮件到FaceAISDK.Service@gmail.com
目前SDK默认使用java11. kotlin 1.7.20 打包,假如你的项目较老还在使用
kapt, kotlin-android-extensions导致集成冲突,建议尽快升级项目或者VIP联系定制
更多使用阐明下载SDK源码工程代码到Android Studio 以及下载Demo APK得手机体验完备的流程和结果
内里有详尽的注释阐明和使用方法介绍,SDK源码熟悉完成后有肯定Android基础大概3小时可集成到你的主工程
其中
模块描述appMain主工程,faceAILib 是人脸识别相关源码faceAILib人脸识别Lib module模块/verify/*1:1 人脸检测识别,活体检测页面,静态人脸对比/UVCCamera/*双目近红外摄像头管理与IR活体检测等/search/*1:N 和 M:N 人脸识别搜索页面,人脸库管理/addFaceImage人脸识别和搜索共用的添加人脸照片录入模块Demo 下载体验
扫码后选择在欣赏器中打开点击下载安装,或直接输入地址 https://www.pgyer.com/faceVerify
服务定制
假如SDK不能匹配你的应用场景或需要特别双目摄像头活体检测定制化,请发邮件到FaceAISDK.Service@gmail.com
也可以加微信 HaoNan19990322 ,备注人脸识别
接待关注Fork+Star获取最新动态,提出使用建议等 https://github.com/AnyLifeZLB/FaceVerificationSDK
提升接入效率,进步SDK识别正确率
提升接入效率
- 去蒲公英下载APK Demo 体验SDK 的根本功能,看看是否满意业务需求;人脸搜索可以一键导入200+张人脸图再录入你本身的
- 更新GitHub 最新的代码,花1天左右时间熟悉SDK API 和对应的注释备注,断点调试一下根本功能;熟悉后再接入到主工程
- 欲速则不达,肯定要先跑乐成SDK接入指引Demo。熟悉后再接入到主工程验证匹配业务功能;有题目可以GitHub 提issues
进步SDK识别正确率
- 使用高设置硬件参数设备和摄像头抗干扰强;保持镜头整齐干净
- 录入高质量的人脸图,如(images/face_example.jpg)(证件照输入目前优化中)
- 光线环境好,检测的人脸无遮挡,没有化浓妆 或 粗框眼镜墨镜、口罩等大面积遮挡
- 人脸图大于 300300(人脸部分区域大于200200)五官清晰无遮挡,图片不能有多人脸
- 人脸搜索功能(1:N&M:N)人脸录入不戴粗框的深色眼镜,使用宽动态抗干扰成像清晰摄像头
常见题目
常见题目请参考:https://github.com/AnyLifeZLB/FaceVerificationSDK/blob/main/doc/questions.md
全部的开发测试都在手机和平板举行,特别定制硬件如 RK3288 等适配需要兼容适配,SDK1.9.0以上版本已经支持UVC
协议的USB 双目摄像头IR近红外活体,买对应的USB接口的双目摄像头插入手机USB口就能体验结果(不确定品质联系我推荐)
快速接入
Demo 以main主工程 --> faceAiLib 的方式演示,熟悉本SDK 接入Demo 后可以先Copy faceAiLib到你主工程先跑起来
再根据业务情况修改完善。
熟悉后大约3小时就能集成乐成,丰富产品功能同时可大大降低公司研发投入实现降本增效。
References
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |