资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

概览

快速导览

获得支持

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

  • 在百度云控制台内 提交工单,咨询问题类型请选择人工智能服务
  • 如有需要讨论的疑问,欢迎进入 AI社区 与其他开发者们一同交流。

离线识别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安装到需要激活的设备上,然后填写已经购买的序列号,在界面上点击激活即可(为使用方便,我们为您设计了一个简单的激活用户界面)

  1. 获取序列号:从管理后台购买获取序列号。
  2. SDK中填写序列号:将序列号填写到SDK的可视化界面中。
  3. 启动激活:点击「激活」按钮。
  4. SDK自动激活:SDK自动拉取授权文件并完成授权,激活完毕。

如激活成功,将会立即在界面上有明确的弹窗提示,请留意查看;如激活失败,也会反馈具体的错误信息。

离线激活(安卓后续版本支持)

此种激活方式,适用于设备完全不可联网的情况,优势在于可避免联网激活,满足业务对网络的严格要求,以及设备批量注册需求。您需要在后台配置好硬件指纹并完成和序列号的绑定,然后将授权文件放到SDK的指定位置。

  1. 获取序列号:从管理后台购买获取序列号。
  2. 采集硬件指纹:将SDK置于设备上,运行激活程序,获取硬件指纹。
  3. 配置授权:在后台将硬件指纹绑定到具体序列号上。
  4. 下载授权文件:绑定成功后下载授权文件。
  5. 设备激活:将授权文件放到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. 检测采集:通过视频流实时检测跟踪,并采集到符合质量要求的人脸图片,用于后续的识别。
  2. 活体判断:为可选步骤,主要保障业务操作者为真人,避免业务作弊。加上这步的校验,即只有满足活体判断通过,人脸图片才会被采集。
  3. 对比识别: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镜头,可以检测识别更远的人脸。

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适配的镜头类型有限,难以覆盖市面上所有双目模组。您可以查看下方的图像适配指标文档,只需满足文档中的图像/数据要求,即可自行进行模组适配。

[镜头模组图像适配指标.pdf]

我们也诚挚欢迎各镜头模组厂商参与到SDK的合作中来,我们会积极与您进行产品、技术、商务等多方面对接。测评效果较佳的模组,将会作为SDK官方适配模组,并在所有技术资料中优先推荐用户使用。您可以将合作申请发送到下方咨询邮箱,我们接到您的申请后会尽快与您取得联系,感谢您的信任。

合作邮件:ai#baidu.com( #替换成@符号 )

开发板选择(Android)

推荐使用RK3399,推荐硬件厂商及型号

机器选择(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以上人脸库)
  • 业务常为集中时段的高并发(如考勤、地铁通行)

典型场景及设备类型

  • 园区刷脸考勤通行
  • 社区闸机
  • 楼宇门禁
  • 轨道交通
  • 机场、火车站安检
  • 医疗挂号
上一篇
REST-API-SDK
下一篇
功能介绍