简介

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

框架

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

_images/compent.png

技术背景

1.技术概要

1.深度神经网络

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

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

2.多平台支持

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

4.算法功能

1. 人脸检测

人脸检测采用最先进的深度学习算法,通过千万张图片先验知识的学习,该技术 目前在复杂环境下依旧能够快速准确的对人脸进行检测。

2. 人脸跟踪

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

3. 人脸关键点检测

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

4. 人脸特征提取

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

5. 人脸质量评分

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

6. 红外活体检测

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

7. RGB活体检测

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

解决方案选型

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

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

_images/local_compare_coud_sync1.png

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

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

_images/cloud_compare1.png