概览
快速导览
获得支持
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
离线识别SDK是一个刚刚来到市场的小家伙,还有很多不足,请各位开发大大不吝指正批评,我们会努力快速优化,做到更好。
SDK基础信息介绍
产品概述
人脸离线识别SDK,包含人脸采集、活体检测、人脸对比/识别、人脸库管理等能力,并全部离线化、本地化。此SDK一经授权激活,可完全在无网环境下工作,所有数据皆在设备本地运行处理,可根据业务需要进行灵活的上层业务开发。核心能力分布如下图所示,后文会详细介绍。
适用场景特点
- 网络:无网、局域网等情况,无法连接公网。如政府单位、金融保险、教育机构等。
- 安全:行业特点所带来的人脸数据敏感性,即使可以连接公网也不可请求。
- 速度:由于各地网络线路、机房部署等诸多原因,网络请求速度存在不可控因素。
- 稳定:需要尽可能避免网络抖动、机房故障等影响,进一步控制可用性影响因素。
规格信息
- 包大小:~ 100M(包含全部功能,可根据需要自定义剪裁)
- 最小人脸检测大小:30px * 30px
- 可识别人脸角度:yaw ≤ ±30°, pitch ≤ ±30°
- 检测速度:70ms 720p*
- 追踪速度:20ms 720p*
- 人脸检测耗时:< 100ms
- RGB图片特征抽取耗时:< 150ms
- RGB活体检测耗时:< 100ms
- 近红外活体检测耗时:< 20ms
- 3D结构光活体检测耗时:< 10ms
- 5万本地人脸库检索速度:< 20ms
如RK3288,检测+活体+识别全流程耗时 < 300ms
备注:以上指标,以RK3288作为参考,由最新版SDK运行在真实设备上,采用真实数据集所得,但算法性能受实际运行设备、实际数据集等情况影响,以上数字仅供参考。
兼容性
Android 5.1+
授权方式
按设备授权
离线识别SDK授权方式为以设备维度为主,每台硬件设备需要一个独立的授权,此授权的校验是基于设备的硬件指纹(指纹的获取SDK初始化时会自动读取并展示),被授权的设备,将在有效期内可以运行SDK。
重新拉取授权的情况:设备授权不变,仅需要重新激活而已。
- 删除SDK或基于SDK开发的应用
- 刷安卓系统
授权失效的情况:需要重新购买序列号,之前的序列号失效。
- 激活一台设备后,此设备硬件变更
- 硬件损坏
序列号
序列号为管理授权的依据。每台被授权的设备,都将对应一个序列号,用于标识对应的设备信息及授权记录。序列号的形式为16位随机英文数字组合,如:3G59-M5JK-889A-7LQA
。您在管理后台购买SDK授权时,购买成功后系统将会发放对应数量的序列号。序列号不限制平台版本,任何开发平台的离线SDK,都可以使用此序列号激活。序列号不限制账号,可供任何设备激活使用。
激活
已购买的序列号,是用于激活的唯一凭证,激活流程主要是将序列号与具体的硬件进行绑定(硬件指纹),从而生成对应硬件设备的授权文件(License),SDK运行前,将会校验授权文件是否和实际硬件信息相匹配。
注意:激活时,设备系统时间需要和当前时间一致,如果差距太大(例如偏差5min以上),激活则无法完成。
联网激活
此种激活方式,适用于设备可首次联网的情况,优势在于激活过程极为简单。您只需将SDK安装到需要激活的设备上,然后填写已经购买的序列号,在界面上点击激活即可(为使用方便,我们为您设计了一个简单的激活用户界面)
- 获取序列号:从管理后台购买获取序列号。
- SDK中填写序列号:将序列号填写到SDK的可视化界面中。
- 启动激活:点击「激活」按钮。
- SDK自动激活:SDK自动拉取授权文件并完成授权,激活完毕。
如激活成功,将会立即在界面上有明确的弹窗提示,请留意查看;如激活失败,也会反馈具体的错误信息。
离线激活(安卓后续版本支持)
此种激活方式,适用于设备完全不可联网的情况,优势在于可避免联网激活,满足业务对网络的严格要求,以及设备批量注册需求。您需要在后台配置好硬件指纹并完成和序列号的绑定,然后将授权文件放到SDK的指定位置。
- 获取序列号:从管理后台购买获取序列号。
- 采集硬件指纹:将SDK置于设备上,运行激活程序,获取硬件指纹。
- 配置授权:在后台将硬件指纹绑定到具体序列号上。
- 下载授权文件:绑定成功后下载授权文件。
- 设备激活:将授权文件放到SDK中,并初始化SDK完成授权。
授权有效期
申请通过后,每个账户给2个测试序列号,用于激活及SDK试用,有效期为自激活日期后的3个月。这两个序列号在有效期内完全免费,您可以用于进行产品试用。试用期到期后也可以在后台申请延期,填写具体延期理由即可。
正式购买
正式购买的序列号,试用期限为永久有效。此「永久」是指绑定到具体设备维度,但如已绑定的硬件设备变更后,授权则可能会失效。
定价方式
离线SDK的授权基于设备维度,每个序列号仅可以授权一台设备。每个账号购买的序列号会累计计算,累计购买量越多,单价越便宜。具体如下所示:
累计购买授权数 | 每个授权单价 |
---|---|
第100-999个 | 119元/个 |
第1000-4999个 | 99元/个 |
第5000个及以上 | 79元/个 |
核心功能
离线人脸检测与追踪
可在设备端,离线实时检测视频流中的人脸。同时支持处理静态图片或者视频流,并对当前检测到的人脸持续跟踪,动态定位人脸轮廓,稳定贴合人脸。
离线质量控制
在人脸检测及追踪过程中,实时校验人脸的姿态角度、遮挡、清晰度、光照条件,符合质量条件的人脸图片才会被采集。
离线人脸采集
针对视频流实时完成人脸图片采集,并输出满足质量过滤条件的人脸图片,可自定义采集人脸大小,采集频率,采集质量等设置。
离线RGB可见光活体检测
针对视频流/图片,通过采集人像的破绽(摩尔纹、成像畸形等)来判断目标对象是否为活体,可有效防止屏幕二次翻拍等作弊攻击,可使用单张或多张判断逻辑。
离线NIR近红外活体检测
针对视频流/图片,利用近红外成像原理,实现夜间或无自然光条件下的活体判断。其成像特点(如屏幕无法成像,不同材质反射率不同等)可以实现高鲁棒性的活体判断。
离线Depth深度图像(3D结构光)活体检测
通过3D建模判断目标对象是否为活体,基于3D结构光成像原理,可强效防御图片、视频、屏幕、模具等攻击。
离线1:1对比
提供本地化的1:1人脸对比功能,高鲁棒性算法,可对应各种姿态、肤色、光照等场景,可有效应用于人证比对、身份核验等场景。
示例工程中包含:
- 图片与图片的比对:两张人脸图片的1:1对比,并返回相似度分值。
- 图片与视频流比对:一张预设的人脸图片,和摄像头实时采集的符合条件的人脸图片进行对比。
离线1:N搜索
提供本地化1:N人脸搜索功能,即在指定人脸集合中,找到最相似的人脸。人脸库可存储于本地数据库中,进行人脸特征值比对。支持通过视频流实时采集人脸,并与人脸库中预设的人脸进行一一对比,返回相似度最高的user及对应分值。
离线人脸库管理
支持人脸库、人脸组、用户、Face4个维度的增删改查设置,人脸库推荐5w以内,实际应用中1W以下最佳,可根据业务需要适当调整。
业务应用策略
通用流程概述
如上图所示,人脸识别的核心业务流程可以分为三个步骤。
- 检测采集:通过视频流实时检测跟踪,并采集到符合质量要求的人脸图片,用于后续的识别。
- 活体判断:为可选步骤,主要保障业务操作者为真人,避免业务作弊。加上这步的校验,即只有满足活体判断通过,人脸图片才会被采集。
- 对比识别:1:1对比主要是判断「你是你」,用于核实身份的真实性;1:N搜索主要判断「你是谁」,用于明确身份的具体所属。
活体检测
活体基础原理
- RGB可见光活体:主要基于图片破绽,判断目标对象是否为活体。例如图像中的屏幕反光、成像畸形等,最主要的应用情形为屏幕的二次翻拍等攻击防御。此种活体对于待检测图片的要求,主要需要满足画面中除了人脸以外,要尽可能保留一些背景内容,用于查找破绽,通常建议人脸与屏幕的长宽比为1:3。为控制达到此比例,建议通过调整最小检测人脸参数,控制采集的人脸不可过大,避免人脸面积占比过高,而导致图片中没有多少背景信息。同时RGB活体受光线影响较大,所以在强光、暗光等场景,容易数值波动较大,主要影响的是「通过率」,产品策略上需要通过适当的补光、使用宽动态镜头抵消逆光等方式缓解。
- NIR近红外活体:主要基于近红外光线反射成像原理,通过人脸呈现来判断是否为活体。即使是夜间或者没有自然光的情况下,依然可以判断活体。因为其成像特点,对于屏幕、图片等攻击形式,基本可以达到近似于100%的活体防御。同时近红外设备的成本,相对性价比更高。
- Depth深度活体(3D结构光):结构光原理是通过主动光发射,在物体上形成光栅,并接受此信息进行活体分析。同样可以不需要自然光。3D结构光的成像更为稳定,抗攻击能力更强,对图像噪声的抗干扰能力也更强,是相对更加安全和稳定的方案,但相应的硬件设备造价也较高,需要根据实际业务成本预算,进行综合考虑。
在实际业务场景中,需要根据场景特点,灵活组合使用以上几种活体方案。当然,为保证业务安全,还需要制定一系列的辅助措施,如证件信息读取、密码、其他生物特征识别等,达到更安全的核验。
产品应用策略
活体判断逻辑简单理解为:满足活体条件才可以采集图片,否则一直反复判断,直到满足活体条件为止。因为我们最终送去识别的图片是RGB图片,所以需要保证活体通过时,在同一时间采集RGB图片,才可真正防止作弊攻击。当多种活体叠加使用时,需要满足所有活体都通过,才能出发此操作,如果有任一活体没有通过,都不可进入识别步骤。
场景及应用方案
- 通行场景:此场景通常保障通行速度为主,确保不影响通行秩序和效率。所以建议无需使用三重活体检测,可仅用NIR活体或Depth活体,保障效率同时仍可保证安全性。
- 身份核验场景:此场景通常保障业务安全性为主,可尽可能提供更加安全的活体方案。如RGB+NIR,或者RGB+Depth,乃至RGB+NIR+Depth,最大程度确保对攻击的拒绝率较高。
- 强光/暗光场景:光线较强的场景,RGB活体会受影响比较严重,建议使用NIR或者Depth活体,同时尽量通过产品策略避免这两种情况的光线,例如添加补光灯、配备遮光板等。
应用方案及模组选择
- 无需活体:如有人值守的场景下,活体检测并无太大的必要(活体检测也会增加额外的业务耗时),现有设备的单目USB摄像头即可。
- 仅用RGB可见光活体:可使用设备自带的USB单目摄像头,输出的RGB图像可直接用于RGB可见光活体算法识别。
- RGB可见光+NIR近红外活体:需要配备能够同时获取RGB、NIR近红外数据的镜头使用。
- RGB可见光+Depth深度活体:需要配备能够同时获取RGB、Depth深度图像数据的镜头使用。
- RGB可见光+NIR近红外+Depth深度活体:需要配备能够同时获取RGB、NIR、Depth深度图像数据的镜头使用。
指标
活体检测存在几个标准的指标,如下所示:
- 拒绝率(TRR):如99%,代表100次作弊假体攻击,会有99次被拒绝。
- 误拒率(FRR):如0.5%,指1000次真人请求,会有5次因为活体分数低于阈值被错误拒绝。
- 通过率(TAR):如99%,指100次真人请求,会有99次因为活体分数高于阈值而通过。
- 阈值(Threshold):高于此数值,则可判断为活体。
温馨提示:此SDK涉及多种离线活体检测模型,加上镜头模组效果各异,使用环境也较为复杂,以下给出综合测试值,仅供参考:
- 拒绝率:> 99.5%
- 误拒率:< 1%
- 通过率:> 99%
阈值选择推荐
活体分值区间为[0~1],大部分情况的活体攻击,活体分值近似于接近0.0,建议阈值如下,高于此阈值的即可判断为活体。
- RGB可见光活体:0.8
- NIR近红外活体:0.8
- Depth深度活体(3D结构光):0.8
人脸1:1对比
人脸对比分为两种常见形态,具体如下:
对比类型:图片vs图片
如果有两张待对比的图片(如证件照图片、与事先获取到的人脸生活照等),则可以直接通过离线SDK进行对比,业务流程如下图所示:
对比类型:实时视频流vs图片
最常见的1:1对比类型,一张事先获取的图片(通常为身份证芯片照、证件照片等),与现场人脸采集的图片进行对比。如果实际应用于为无人看守场景,则需要配备活体检测保障业务安全性。
人脸1:N搜索
将需要识别的人脸图片集注册到本地人脸库中,当有用户需要识别身份时,从视频流中实时采集人脸图片,与人脸库中的人脸集合对比,得到搜索结果。如果需要为无人看守,则需要配备活体检测保障业务真实性和安全性。
设备选型
镜头模组选择
无活体或仅用RGB单目活体
uvc免驱单目USB摄像头,推荐视派尔单目摄像头,默认为3mm焦距镜头,可以选择6mm镜头,可以检测识别更远的人脸。
- 视派尔C-EP28WD400,[产品规格书]
RGB可见光+NIR近红外活体
推荐使用如下品牌的近红外摄像头,可根据场景举例选择合适焦距摄像头。
- 迪威泰DV-BD4044S305AD,[产品规格书];联系人:杨先生;联系电话:18643209187
- 迪威泰DV-BD4053S305AD,[产品规格书];联系人:杨先生;联系电话:18643209187
- 视派尔C-EP35WDLDIR,[产品规格书];联系人:焦先生;联系电话:18676660044
NIR近红外实际检测效果回显示例:
RGB可见光+Depth深度活体(3D结构光)
推荐使用如下品牌的深度摄像头,可根据场景举例选择合适焦距摄像头。
- 奥比中光Astra Mini / Mini S,[产品规格书];联系人:牛妍;联系电话:13571984079;邮箱:niuyan@orbbec.com
Depth实际检测效果回显示例:
是否可以使用其他品牌镜头?
如果您需要使用NIR近红外或者Depth活体,则一定要配备支持对应图像格式类型的镜头模组。目前百度离线SDK适配的镜头类型有限,难以覆盖市面上所有双目模组。您可以查看下方的图像适配指标文档,只需满足文档中的图像/数据要求,即可自行进行模组适配。
我们也诚挚欢迎各镜头模组厂商参与到SDK的合作中来,我们会积极与您进行产品、技术、商务等多方面对接。测评效果较佳的模组,将会作为SDK官方适配模组,并在所有技术资料中优先推荐用户使用。您可以将合作申请发送到下方咨询邮箱,我们接到您的申请后会尽快与您取得联系,感谢您的信任。
合作邮件:ai#baidu.com( #替换成@符号 )
开发板选择(Android)
推荐使用RK3399,推荐硬件厂商及型号
- Firefly AIO-3399J,[产品规格介绍],[固件支持],[联系Firefly] ,联系电话:4001511533
机器选择(Windows)
- 系统:Windows 7、Windows 10系统的设备
- 处理器:推荐Intel i3及以上
- 内存:4.00 GB及以上
- 系统类型:32位、64位
- 具备2个及以上的USB插口
- 安装vs2015环境(不保证其他vs版本兼容性)
方案选型
离线SDK具备离线人脸检测、跟踪、质量校验、图像采集、RGB/NIR/3D结构光活体、离线对比识别、离线人脸库管理,仅需一个SDK即可完成业务能力覆盖。
目前,百度AI开放平台,也支持人脸离线采集SDK搭配公有云人脸比对/人脸搜索API能力的云端方案,以及人脸私有化部署包搭配人脸离线识别SDK的完全本地化方案,您可以根据实际的业务需要,选择合适的产品应用方案,以达到最佳的应用效果。
使用离线SDK
适用的场景特点
- 网络条件不稳定
- 无网络
- 数据安全性高,不允许联网
- 人脸库较小,且变更不频繁,如1w人以下
- 单台设备、单人脸检测与识别
注意:此版本离线SDK暂不支持多线程处理,主要适用于单人脸核验场景,不建议用于多人脸抓拍识别。
典型场景及设备类型
- 人脸门禁
- 人脸闸机
- 人证核验机
- 自助柜机
- 人脸考勤机
- 会场签到
提示:对于离线1:N场景,需要您基于人脸离线识别SDK构造上层的人脸库数据更新业务逻辑,例如小区门口的闸机为纯离线,但是住户的变更信息,如何同步到每一个大门的闸机中。
使用人脸离线采集SDK+人脸比对/人脸搜索API接口
适用的场景特点
- 网络条件良好
- 人脸库量级庞大
- 需要跨地域同步人脸库
- 人脸库更新频繁
- 用户APP产品形态
提示:人脸离线采集SDK具备本地化的人脸检测跟踪、质量校验、人脸采集等功能,与人脸离线识别SDK相比,活体和识别操作使用云端服务完成。
典型场景及设备类型
- 零售会员识别
- 人脸支付
- 手机APP
- 移动考勤
- 远程开户
使用人脸离线识别SDK+人脸私有化部署包
适用的场景特点
- 网络条件较差,或无网、局域网等
- 人脸库庞大,变更频繁(5W以上人脸库)
- 业务常为集中时段的高并发(如考勤、地铁通行)
典型场景及设备类型
- 园区刷脸考勤通行
- 社区闸机
- 楼宇门禁
- 轨道交通
- 机场、火车站安检
- 医疗挂号