简介

DFACE是一个专门为物联网设备和移动端优化的离线人脸识别SDK,支持边缘计算异构模式,可覆盖CPU,GPU等计算类型。 SDK包含了人脸检测,人脸识别,人脸跟踪,RGB活体检测,双目活体检测,人脸98关键点,姿态估计,人脸质量评估,口罩检测,性别年龄检测等常用的模块。 DFACE以其功能强大,运行速度快而稳定等特点,已被广泛用于工业消防,智能楼宇,智能教育,智能零售等各个行业,得到各界极高的评价。

框架

下图描述了DFACE的基本框架。 主要由8个功能模块组成,每个模块负责一部分功能,例如人脸检测(DfaceDetect),特征提取(DfaceRecognize),活体检测(DfaceRGBLiveness),人脸质量评估(DfaceAssessment)等。

_images/compent.png

技术背景

1.技术概要

1.超效深度神经网络

识别和速度往往会有一个平衡,例如识别精度越高,速度越慢。我们选择最佳的能效比方案 ,识别网络采用先进的MobileNet V3结构,同时增加亚洲人脸训练比例,即使在性能较差的设备端运行也能保持较高的精度。

嵌入式设备往往较为苛刻,例如ARM的计算性能一般,内存比较小。 我们针对ARM对算法做了底层的加速优化,利用模型剪枝,蒸馏,量化等压缩技术把模型进一步缩小,从而使其能够运行在嵌入式终端中。

2.多平台支持

由于我们的端到端设计,因此能够实现一套代码多处编译的效果。目前 我们的SDK支持Linux, Windows, Android, IOS 等系统,支持Intel,AMD, ARM等不同架构的CPU。

3.开箱即用

由于我们出色的架构和代码技巧,SDK可以很容易做到各个平台快速安 装和部署。面对用户层,我们采用热插拔加载模式,用户只需引入头文件,无需 依赖任何第三方库,即可运行我们的 SDK。各个平台兼容性良好,真正做到开箱 即用的感觉。

4.算法功能

1. 人脸检测

人脸检测采用最先进的深度学习算法,通过千万张图片先验知识的学习,该技术 目前在复杂环境下依旧能够快速准确的对人脸进行检测并定位,检出率达到 99.97%,4ms-20ms 每帧,效果领先。

2. 人脸跟踪

多人脸持续跟踪算法,适合多人识别应用场景。

3. 人脸关键点检测

基于深度学习的98人脸关键点回归技术,能够在复杂环境下稳定地运行,包括不 同光照变换、各种姿态、表情变化的人脸。区别于传统的ASM,CLM等关键点技术, 我们把人脸局部关键点搜索全部CNN化,模型鲁棒性更强,关键点定位更加准确。

4. 人脸姿态预测

整合深度学习和3D技术,能够智能的判断相机前人脸的3D深度信息,例如俯 角,仰角,偏航角,xyz等。

5. 人脸特征提取

人脸识别往往把不同的人脸图片信息映射到同一纬度的特征向量,我们优化了损 失函数,可以做到相同类别的人脸差异很小,而不同类别的人脸差异很大,因此很适 合做高精度人脸识别。目前每个人脸特征统一到1024字节大小的数组,方便后续的 人脸比对。

6. 人脸质量评分

提供基于深度学习的人脸质量评分网络, 非常适合人脸预处理,避免无效人脸注册和识别。

7. 红外活体检测

基于双目视差原理计算人脸深度,同时对红外反射形成的图像进行分析,更有效的进行活体判断。能抵御视频回放,打印照片等常用的攻击手段。

8. RGB活体检测

工业级RGB静默活体检测,可以在一个普通的摄像头下即可进行静默活体判断,能有效抵御视频回放攻击,打印照片攻击,面具攻击等。相对于传 统的主动活体,RGB活体检测用户体验更佳,用途更广泛。

9. RGB活检+双目活检

结合两者活检的优势,做到低成本高安全的支付级别活体检测方案,特别适合 支付应用和银行自助终端设备。

解决方案选型

1.本地提取特征,本地比对,云端同步

本地设备获取摄像头画面,检测人脸,活体判断,人脸特征提取并和本地的数据库比对。云端主要用于人脸库管理,并和本地设备通信同步。

_images/local_compare_coud_sync1.png

2.本地提取特征,云端比对

本地识别设备获取摄像头画面,检测人脸,活体判断,人脸特征提取并上传特征字节数组到云端服务器比对。

_images/cloud_compare1.png