惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
量子位
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
腾讯CDC
I
InfoQ
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
爱范儿
爱范儿

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Android 实现人脸识别 活体检测以及人脸搜索 - 少数派
2025-03-11 · via 少数派

关于「 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版本)

  1. 删除不需要权限,上架Google Play认证
  2. 优化光线不佳活体检测和录入人脸活体校验
  3. 优化SDK体验,支持自定义管理摄像头
  4. 完善UVC协议USB红外双目摄像头人脸识别

建议[Fork] + [Star] 本项目Repo以便第一手获取更新:FaceVerificationSDK

人脸识别FaceAI SDK最新版源码唯一托管地址: https://github.com/AnyLifeZLB/FaceVerificationSDK
国内代码托管地址Gitee不是最新: https://gitee.com/onDeviceAI/FaceVerificationSDK (不方便翻墙请联系获取最新代码)

简要说明

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
也可以加微信  FaceAISDK ,备注 人脸识别

欢迎关注Fork+Star 接入源码获取最新动态,提出使用建议等 https://github.com/AnyLifeZLB/FaceVerificationSDK

提升接入效率,提高SDK识别准确率

提升接入效率

去蒲公英下载APK Demo 体验SDK 的基本功能,看看是否满足业务需求;人脸搜索可以一键导入200+张人脸图再录入你自己的

更新GitHub 最新的代码,花1天左右时间熟悉SDK API 和对应的注释备注,断点调试一下基本功能;熟悉后再接入到主工程

欲速则不达,一定要先跑成功SDK接入指引Demo。熟悉后再接入到主工程验证匹配业务功能;有问题可以GitHub 提issues

提高SDK识别准确率

  1. 使用高配置硬件参数设备和摄像头抗干扰强;保持镜头整洁干净
  2. 录入高质量的人脸图,如(images/face_example.jpg)(证件照输入目前优化中)
  3. 光线环境好,检测的人脸无遮挡,没有化浓妆 或 粗框眼镜墨镜、口罩等大面积遮挡
  4. 人脸图大于 300 300(人脸部分区域大于200200)五官清晰无遮挡,图片不能有多人脸
  5. 人脸搜索功能(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

  1. 2024最详细的AI框架对比指南—PyTorch与TensorFlow到底选谁?
  2. PyTorch、TensorFlow和Keras,深度學習的全面比較與選擇指南