简介¶
DFACE是一个专门为嵌入式设备端优化的离线人脸识别SDK,支持边缘计算异构模式,可覆盖CPU,GPU,NPU等计算类型。 SDK包含了人脸检测,人脸特征提取,人脸跟踪,RGB活体检测,IR活体检测,人脸关键点,人脸质量评估,口罩检测,性别年龄检测等常用的模块。 DFACE以其功能强大,运行速度快,性能稳定等特点,已被广泛用于寄存柜,闸机,访客机,考勤打卡机等各个终端设备,得到各界极高的评价。
算法优势¶
1.高性能算法¶
识别和速度往往会有一个平衡,例如识别精度越高,速度越慢。我们选择最佳的能效比方案 ,识别网络采用先进的模型结构,即使在性能较差的设备端运行也能保持较高的精度。 嵌入式设备往往较为苛刻,例如ARM的计算性能一般,内存比较小。 我们针对ARM对算法做了底层的加速优化,利用模型剪枝,蒸馏,量化等压缩技术把模型进一步缩小,从而使其能够运行在嵌入式终端中。
2.高精度算法¶
识别模型和活体模型都采用千万级图像数据训练,算法实际应用准确率高,泛化能力强。识别模型在良好通过率前提下可以控制在万分之一 的误识率。IR活体模型在良好通过率前提下可以控制在万分之一的误识率。
3.多平台支持¶
由于我们的端到端设计,因此能够实现一套代码多处编译的效果。目前 我们的SDK支持Linux, Windows, Android等系统,支持Intel、AMD、 ARM等不同架构的CPU。
4.多硬件加速支持¶
目前支持CPU,GPU,NPU三大硬件平台加速。 CPU支持Arm neon或者Intel SSE4/AVX等SIMD技术加速。 GPU支持openCL加速。 NPU目前支持瑞芯微的RK3566、RK3568、RK3588、RV1109、RV1126等芯片。
5.终端和服务器端配合¶
我们同时提供终端SDK和服务器端SDK。目前终端和服务器端人脸特征码通用,满足各个应用场景需求。
算法功能¶
1. 人脸检测¶
人脸检测采用最先进的深度学习算法,通过千万张图片先验知识的学习,该技术 目前在复杂环境下依旧能够快速准确的对人脸进行检测。
2. 人脸跟踪¶
多人脸持续跟踪算法,适合多人识别应用场景。
3. 人脸关键点检测¶
基于深度学习的106人脸关键点回归技术,能够在复杂环境下稳定地运行,包括不 同光照变换、各种姿态、表情变化的人脸。区别于传统的ASM,CLM等关键点技术, 我们把人脸局部关键点搜索全部CNN化,模型鲁棒性更强,关键点定位更加准确。
4. 人脸特征提取¶
人脸识别往往把不同的人脸图片信息映射到同一纬度的特征向量,我们优化了损 失函数,可以做到相同类别的人脸差异很小,而不同类别的人脸差异很大,因此很适 合做高精度人脸识别。目前每个人脸特征统一到2048字节大小的数组,方便后续的人脸比对。
5. 人脸质量评分¶
提供基于深度学习的人脸质量评分网络,非常适合人脸预处理,避免无效人脸注册和识别。
6. IR活体检测¶
采用千万级红外图像训练的模型,在红外摄像头下更有效的进行活体判断。能抵御视频回放,打印照片等常用的攻击手段。
7. RGB活体检测¶
采用千万级图像数据训练的模型,可以在一个普通的摄像头下即可进行静默活体判断,能有效抵御视频回放攻击,打印照片攻击,面具攻击等。相对于传 统的主动活体,RGB活体检测用户体验更佳,用途更广泛。
8. 头部姿态判断¶
准确判断人脸头部yaw,pitch,roll欧拉角。
9. 口罩检测¶
判断人脸是否佩戴口罩。
10. 遮挡检测¶
判断人脸眼睛,鼻子,嘴巴是否遮挡。
解决方案选型¶
本地设备获取摄像头画面,检测人脸,活体判断,人脸特征提取并和本地的数据库比对。云端主要用于人脸库管理,并和本地设备通信同步。
本地识别设备获取摄像头画面,检测人脸,活体判断,人脸特征提取并上传特征字节数组到云端服务器比对。