如果您的需求是与人脸比对、人脸实名认证、在线图片活体检测API搭配使用,请获取最新版本SDK及示例工程。
人脸识别的应用场景,核心可以分为三大类:
你是你
,通常用于需要验证用户身份真实性的场景,如。
你是你
,通常用于需要验证用户身份真实性的场景。
而以上场景的几乎所有业务过程,核心可以分为两个步骤:
要想确保人脸识别的应用效果得到保障,最为核心的一个环节即人脸的获取,即人脸采集。目前市面上所有人脸识别应用落地,面临的主要问题就是应用环境复杂,包括光照、遮挡、作弊攻击等一系列环境因素干扰,涉及产品策略、硬件选型、施工方案等多个维度地综合作用,才能不断提升最终效果。
为了更好地帮助您完成人脸采集步骤,下文将详细介绍采集过程中的一些SDK、API、硬件相关内容,希望对您的人脸识别集成有所帮助。
采集SDK本身仅对动作等行为进行活体校验,验证用户所做动作是否符合要求。针对手机翻拍、PS照片,头模攻击等行为,需配合云端活体检测算法模型共同使用,才可达到最优拦截效果。百度公有云的接口、、等都包含云端活体检测模型,请在云端接口调用时,选择liveness_control的阈值(建议值为NORMAL)进行控制。
目录导览如下,文档内容较长,但前后具备相关性,建议顺序阅读。
如果在阅读文档后,对内容有任何疑问,可以通过以下几种方式联系我们:
磨刀不误砍柴工,在正式讲解人脸采集细节前,让我们先梳理下必要的前置准备工作。
在进入实际开发前,请先阅读 ,指南中详细地讲解了开放平台账号及应用的创建及管理操作。
新手指南中主要讲解三件事情:
AppID
、API-Key
、Secret-Key
,这是应用的唯一标识,是您调用API接口的基本操作单元(主要用于权限配置、应用高级配置等)。
Access_token
,是调用API时的鉴权凭证,具体可参考 。
以上三项事宜是使用公有云服务的必备步骤,也是后续很高频使用的内容。
客户端SDK将人脸采集这个步骤放到前端解决。内部封装了离线人脸检测、跟踪、质量校验、图片捕捉功能,但权威数据源核验、1:1、1:N识别还需调用在线API接口。
目前对外开放iOS
、Android
两个版本,客户端SDK需要 ,流程分为以下几步:
完成后,您即可下载SDK及官方提供的示例工程源码。
SDK默认配备4个产品线授权数量(产品线指:基于应用维度,如一款APP即为一条产品线,如手机百度 iOS/Android APP,依据为Bundle ID或者Package name),4个授权基本可以满足大部分的产品业务需求,如果需要更多的产品线授权,请。
SDK的使用,涉及有效期,有效期过后,SDK本地功能将会不可用,SDK会自动向百度服务器请求拉取最新的授权license,如果对这个产品线的授权在服务端操作了延期,则SDK会在过期后的第一次初始化时,自动更新本地license。
搭配人脸识别公有云API使用时,采集SDK为免费产品,在上线前请将产品授权替换为正式授权再发布上线,否则,C端用户在使用过程中,若直接上测试授权,授予过期后,需要在有网的条件下拉取线上的鉴权进行更新,会出现客户APP的网络出现异常的情况导致服务不可用。
实际使用中,方案的最终使用,都需要配合前端采集的硬件设备,目前对于常规人脸需求,几种选型方案如下:
P.S. 人脸采集SDK为移动端人脸采集场景使用,支持iOS&Android手机系统,若您的场景为开发板以及一体机场景,建议申请,采集SDK不保证在非手机设备的适配性,不支持横屏,不涵盖后置摄像头场景。
以上仅为简单列举,后文会对硬件选型进行详细介绍。
人脸采集后,仅是在前端设备上拿到人脸图片,实际的权威数据源人脸实名认证、1:1人脸识别、1:N人脸搜索识别仍要通过API调用实现。
目前平台提供的接口分为以下几种:
写在最前,采集SDK在本地会做质量校验,输出图片后,调用云端接口时,建议将云端接口的质量控制参数调整为NORMAL,不建议使用HIGH,避免采集SDK通过后,由于云端质量严格导致用户访问失败,重新录制,而降低用户体验。
人脸识别或对比的最终效果,取决于人脸在采集过程中,采集到的人脸是否符合标准质量要求。从业务使用角度,主要影响两个核心业务步骤:
明明是本人却过不去
的情况。
人脸的质量检测,概括起来包括以下几点:
另外在实际采集过程中,也会将姿态作为一个重要控制指标:
人脸采集步骤,需要做好以上5项的条件判断,从而确保最终识别效果。
下面让我们一起详细看看这5个质量检测项:
人脸中各个部位的遮挡程度判断,区域可以分为:左眼
、右眼
、鼻子
、左脸颊
、右脸颊
、嘴巴
、下巴
,共7个区域。通常某一个或者多个区域遮挡面积过大,会影响最终的识别效果,可以通过区域的遮挡值,在产品侧给用户比较明确的产品反馈提示,供用户参考调节。
每个区域的建议阈值选择如下:
说明:左右位置的表示,是以当前检测图片的方向确定。如实际场景中为人物的左脸颊,但是在分析时,则认为是右脸颊。
下面展示三个示例图片,用于理解遮挡的概念:
分析:脸颊有一定头发遮挡,但都在阈值范围内,整体问题不大。不过为了更好的识别效果,如果可以向用户反馈提示文案的话,可提示用户重新整理右脸颊侧的头发,并重新录入人脸。而文案触发机制可以设定一个更严格的产品自定义阈值。
分析:脸部各区域都些许遮挡,都未到达阈值,大小相对适中,不影响正常使用。对于识别精准度比较严格的场景,倒也可以提示重新录入。
分析:右眼明显遮挡严重,随是艺术照示意,但是在实际应用场景中,主要由于发型原因,存在很多眼镜部分被头发遮挡较严重的情况,产品应用时建议提示用户整理下头发再重试。
分析:因为戴墨镜,导致左右眼遮挡很大,这种情况可直接提示用户摘下眼镜,并重新录入一张。同理,对于口罩、长发等也可以如此操作。
人脸的模糊程度,取值范围:0~1,0是最清晰,1是最模糊,通常 小于0.7 即可认为是符合条件。
下面展示三个示例图片,用于理解模糊度的概念:
分析:模糊度极接近0,十分清晰,可放心使用。
【示例二:人脸些许模糊】
分析:模糊度接近于0,远小于0.7(建议的阈值),可放心使用。
【示例三:人脸十分模糊】
分析:模糊度接近于1,不可使用。这种情况通常为摄像头未对好焦距,如手机没有拿稳,或摄像头焦点主体错误,通常可提示用户保持身体稳定不动,正视镜头即可。
人脸部分光照的灰度值,反映脸部的光照情况,以及客户端SDK中,YUV的Y分量
;取值范围[0~255],0表示光照不好。人脸过暗对于识别会有显著影响,所以通常在所有质量校验中,要优先保持人脸的光照充足。
人脸采集过程中,常遇到的光线问题,一般分为以下几种:
以上问题,主要原因主要分为以下几种:
所有问题中,逆光往往是最严重的问题,大部分的人脸采集设备是在白天作业,摄像头在逆光情况下,采集到的脸部光照会很暗,导致识别不到人脸或者识别效果差。这种情况,通常可以有以下几种应对措施:
从接口返回值来看,推荐阈值如下:
下面展示一个例子,用于理解光照的概念:
分析:过暗的情况,人脸的识别往往存在误差,甚至识别不到,这种情况需要在采集设备周围增加补光设备。
分析:阴阳脸。往往是光源位置角度问题,导致某一边人脸光线明显不足,需要确保实际应用过程中,光线分布均匀。
姿态角分为Pitch
、Roll
、Yaw
,用于表示人脸在空间三维坐标系内的角度,常用于判断识别角度的界限值。
Pitch:三维旋转之俯仰角度,范围:[-90(上), 90(下)],推荐俯仰角绝对值不大于20度;
Roll:平面内旋转角,范围:[-180(逆时针), 180(顺时针)],推荐旋转角绝对值不大于20度;
Yaw:三维旋转之左右旋转角,范围:[-90(左), 90(右)],推荐旋转角绝对值不大于20度;
各角度范围示意图如下:
从姿态角度来看,这三个值的绝对值越小越好,这样代表人脸足够正视前方,最利于实际注册/识别使用。
但在实际应用场景中,由于摄像头的布设位置,往往无法拿到正对人脸的图片,主要分为以下几种情况:
Pitch
和Yaw
角度变化范围较大,所以采集到的人脸往往存在大量的俯角过大、侧脸等,导致识别效果不佳。这种情况通常是调整摄像头角度(摄像头与水平面夹角减小)、调整最小检测人脸(在行人靠近摄像头时尽可能早些拿到人脸)、增加摄像头数量(不同角度互相补充,避免采集死角),实际项目实施中,还是要通过实地考察,基于现场环境一点点调节摄像头角度;
Pitch
角度过大;门禁方面,摄像头往往置于成人身高平视高度,但多为门框侧面,如果行人朝向正门,侧面对视摄像头,如摆放不当,会造成采集的人脸Yaw
角度过大。以上两种主要场景,需要基于实际场景情况动态调整安装位置,尽量避免角度过大的同时,避免用户动作不要太大。
下面展示两个示例图片,用于理解姿态角的概念:
分析:通常线下应用过程中,难以获得相对正面的人脸图像,姿态判断需要作为一个标准的校验项。
分析:如果是将摄像头置于棚顶或室外高处,往往获取到的人脸图片,pitch
值比较大,需要特别关注。
可以使用v3/detect
接口中的qualities->completeness
参数判断。此参数用于判断人脸完整度,返回只有0或1两种结果, 0为人脸溢出图像边界,1为人脸都在图像边界内。通过此参数可以简单判断人脸是否全部置于画面内,做一定的条件校验。
可以使用v3/detect
接口中的qualities->type
参数判断,此参数分为human
和cartoon
两个值,取值范围为[0~1],置信度大于0.5即可判断为真人或者卡通。通过此参数可以简单判断画面中是否存在真实人脸,避免一些动画、素描、油画等人像的仿冒。
根据应用场景及安全性要求的不同,目前提供不同的活体检测算法和策略,具体包括:
实际采集过程中,为了确保业务流程的合理性,需要确保采集的图片为真人操作,避免其他用户恶意伪造作弊。而以上几种活体检测策略,需要根据业务场景选择最合适的一个或组合方式。下面简单举例一些常见的活体攻击类型:
客户端采集SDK在前端离线随机通过屏幕上闪烁不同颜色的光线,判断当前用户是否真人操作。通过颜色活体进行面部反光鉴别的同时,百度特加入独有的瞳孔反光识别,提升整体的攻击拒绝率指标。需要强调的是,在此策略下,前端仅仅检测面部反光的情况,并不返回活体分数,或对视频和真人做出区分。在炫瞳活体检测的过程中,SDK会随机抓取图像,并在动作通过后将抓取的图像上传到后端服务器进行活体判断。
客户端采集SDK在前端离线随机要求用户配合做出眨眼、张嘴、点头、抬头、左摇头、右摇头动作,同时检测用户完成情况。需要强调的是,在此策略下,前端仅仅检测动作的通过情况,并不返回活体分数,或对视频和真人做出区分。在做动作的过程中,SDK会随机抓取图像,并在动作通过后将抓取的图像上传到后端服务器进行活体判断。
该方案的优势在于:随机动作可以增加攻击的成本,并且大大降低打印照片等攻击通过的概率,而这些正好对于后端检测算法来说属于较难案例。
有动作活体检测,不推荐单独使用,需要结合静默图片活体检测一起使用。对于APP场景,一般推荐都可以使用客户端SDK,增加有动作活体检测步骤,提升人脸验证过程的安全性。
该方案为接入成本最低的使用方式,只需提交一张人脸图片即可。但是活体检测的效果不是十分理想,主要是由于:区别于客户端随机抓拍的方式,H5拍照为主动有意识拍照,因此攻击者可以更加方便的设法减少出现后端算法判断的线索,并且在这个过程中用户可以调用后置摄像头进行拍照,前置摄像头和后置摄像头由于焦距的不同,会使后置摄像头拍摄的攻击图片更难分辨真假。另外,H5拍照只上传一张图片,增加了误判的可能性。
攻击拒绝率(TRR)) |
---|
关于以上数值的概念介绍**:
客户端SDK,具备SDK本地的众多人脸采集相关功能,可以更高效准确地,实时采集到符合质量的人脸,配合摄像头等设备,能够快速构建实时人脸采集能力。
设备端离线实时监测视频流中的人脸,同时支持处理静态图片或者视频流。
对当前检测到的人脸持续跟踪,动态定位人脸轮廓,稳定贴合人脸。
对当前检测到的人脸持续跟踪,并动态实时展现人脸上的核心关键点。
在人脸检测及追踪过程中,完成人脸图片采集,并输出预设条件的人脸图片
在人脸检测及追踪过程中,实时校验人脸的姿态角度、遮挡、清晰度、光照条件,符合质量条件的才会被采集。
通过屏幕上闪烁不同颜色的光线,判断当前用户是否真人操作。通过颜色活体进行面部反光鉴别的同时,百度特加入独有的瞳孔反光识别,提升整体的攻击拒绝率指标。
实时反馈,人脸中眼睛,嘴巴,头部姿态的状态,通过给用户设定完成相关动作,判断是否是活体。支持指定生效的动作及应用顺序。
SDK内部支持高度可定制化参数,对人脸检测、追踪、采集、质量模块进行个性化调整。
SDK内部所有UI层代码、音频文件全部开源,可根据实际业务需求任意调整。
提供iOS、Android端,适应各种应用场景及设备类型需求。
客户端SDK中,内置了人脸质量检测模块。在人脸检测及追踪过程中,实时校验人脸的姿态角度、遮挡、清晰度、光照条件,符合质量条件的才会被采集,此质量校验为本地离线校验。
通过屏幕上闪烁不同颜色的光线,判断当前用户是否真人操作。通过颜色活体进行面部反光鉴别的同时,百度特加入独有的瞳孔反光识别,提升整体的攻击拒绝率指标。
客户端SDK,离线本地实时反馈,人脸中眼睛,嘴巴,头部姿态的状态,通过给用户设定完成相关动作,判断是否是活体。支持指定生效的动作及应用顺序。
在检测人脸过程中,可设置检测到的最小人脸尺寸,小于该尺寸或比例的人脸不会被检测到。
在检测人脸过程中,可设置采集图片时的人脸姿态角度阈值,阈值范围内才会采集人脸。
在检测人脸过程中,可设置人脸关于光照、清晰度、各部位遮挡的阈值,符合条件才会采集图片。
可设置采集人脸图片的数量、大小、以及人脸与图片的大小比例,超过图片边界将用黑色填充。
支持眨眼、张嘴、摇摇头、左右转头、上下点头六个指定动作,可设定具体生效的动作,以及校验顺序。
SDK本地采集人脸的过程,完全无需联网。但人脸对比、人脸搜索、人脸属性分析能力需要调用API使用。产品策略方面,因API使用需要使用在线鉴权token,生成token的API Key和Secret Key,考虑到数据安全和维护成本,建议都置于Server端,并下发token到客户端产品,实际的API调用,由Server端做中转控制。
SDK支持采集图片的大小设置,以及人脸和采集图片的比例设置,可基于业务需要,对采集图片大小进行适当地进一步加工。如剪裁(人脸不小于100px)、分辨率压缩(最小宽度200px左右)、质量压缩(控制在0.8以上),以上三种处理方式也可以组合叠加使用。
对安全有进一步需求的话,为防止人脸传输过程中被篡改,可对SDK本地输出的人脸图像做加密处理,在server端进行相应解密操作,进一步增强安全性。
可基于Phone
形式,快速搭建人脸采集前端设备。摄像头实时输入视频流,对视频流中的人脸实时处理,并输出符合条件的人脸图片。
对于远程开户、刷脸登录、移动考勤等手机端场景,可将iOS/Android SDK集成到现有APP应用中,在设备端离线完成人脸采集,确保采集图片质量的同时,提供更加流畅的交互体验。也可以基于微信小程序,或者H5形式,完成业务快速落地。
暂无要求。需要注意的是需要根据业务特点,做好系统版本或者浏览器版本的兼容工作。
乐词热成像人脸识别测温仪解决方案
乐词智能办公能测体温的人脸识别测温仪考勤打卡一体机,乐词智能人脸识别测温设备成新宠
人脸识别测温终端支持双目活体检测,秒内识别。企业如何实现无接触式考勤打卡成了最近热议的话题。既要精准地检测员工的体温,又要实现身份识别,记录考勤同时重要。
在乐词智能(.cn)的入口,上岗了一套其自主研发的全自动刷脸测温神器。仅需几毫秒,就可实现一体化完成人脸抓拍、比对、测温、口罩检测、语音播报等功能。当员工未佩戴口罩时,会提醒他佩戴口罩。当体温正常时,会自动打开通行闸道并记录上班时间。当系统发现人员体温异常时,会立即发语音警报信息,并自动定位异常体温人员,抓怕人脸图像传送到后台。
),用于有开发能力的客户对接设备协议,可以修改此处地址为客户平台连接地址。请勿随意修改该地址,否则可能会导致设备连不了平台,造成设备离线。
1、点击设置界面,基本设置
2、输入设备连接的服务端地址,点击保存。
如已经拥有管理账号可跳过此步骤,注册需输入公司名称、手机号(管理账号)、密码、确认密码,确认无误点击注册
若还没有管理账号,请先注册,登录输入管理账号、密码、验证码后点击登录即可
界面分为左侧为菜单栏,右侧为内容显示区如下图所示
操作步骤,选择左侧菜单栏,设备管理,设备列表,点击添加设备按钮,输入设备编号(Linux设备通过搜索工具获取,Android设备通过设备本地二维码获取)输入相关设备信息点击确定。
第三方地址:为通行(体温)记录,设备日志,回调地址,可以设置第三方地址为用户平台地址,设置成功后,通行(体温)记录,设备日志会通过该地址主动发送到用户平台
操作步骤,选择需要修改的设备,点击编辑,在第三方地址输入框输入相应回调接口地址信息,点击确定
1、进入设备列表,点击需要修改的设备ID
2、进入设置界面后,找到外设设置,点击外设设置
3、点击获取,先获取设备已有配置信息,设置辐射率,点击设置即可
身份识别模式,在人脸(需先录入人脸数据)+体温两个条件多通过后,才会通过放行,陌生人自动预警并抓拍保存留存(需在设备系统设置打开陌生人上传开关,设置间隔),设置步骤:
1、进入设备列表,点击需要修改的设备ID
2、进入设置界面后,找到外设设置,点击外设设置
3、点击获取,先获取设备已有配置信息,设置打开体温校验模式,点击设置即可
全开识别模式,所有通行人员多会自动识别并测量体温,无需录入人脸数据
1、进入设备外设设置,点击获取,先获取设备已有配置信息,设置打开全开模式开关(系统设置),打开体温校验模式(外设设置)如果需要报警触发继电器,需修改继电器工作模式(系统设置)
单体温检测模式,不识别人脸,仅判断体温并抓拍照片留存
在全开模式的基础上,修改人脸识别模式到模式1,关闭活体开关(设备人脸参数设置)
可以通过设置语音合成引擎(固件版本大于等于4.58支持),设置设备使用讯飞语音合成引擎,以支持播报体温。
1、进入平台,设备系统设置功能,点击获取,获取设备当前设置项数据,找到语音合成引擎,选择讯飞,点击设置。
可以通过设置口罩提醒开关(固件版本大于等于4.58支持),设置设备检测未戴口罩提醒功能。
1、进入平台,设备人脸参数设置功能,点击获取,获取设备当前设置项数据,找到口罩提醒,选择开启或关闭,点击设置。
4.9 设备本地数据(体温)监控(Linux设备)
通过设置打开本地服务接口开关(固件版本大于等于4.58支持),可以使设备具备内网数据(体温)监控功能。
1、进入平台,设备外设设置功能,点击获取,获取设备当前设置项数据,找到本地服务接口开关,选择开启或关闭,点击设置。
2、设置成功后,可在内网通过访问http://设备ip:10088进入设备本地数据(体温)监控,设备ip通过搜索工具搜索获取。
3、导出本地记录数据,点击右上角导出按钮,选择导出记录时间段。
登录成功后,点击右上角用户名,选择下拉菜单用的数据监控,可按F11进入全屏模式,体温监控会实时显示最近通行的人员体温跟抓拍图片信息,出现体温异常人员会预警提示
进出分析,展示最近50条进出记录的详细信息,包括进出人员姓名、进出时间、人员人脸信息、进出时抓拍图片、进出时检测的人员的体温信息灯信息
设备端开启陌生人抓拍上传后,可通过陌生人抓拍查看每个设备的陌生人抓拍信息,支持按设备,按时间段查询相应设备及时间段的抓拍信息
区域管理用于设备分区管理,通过设置区域负责人手机,对应绑定微信的手机号即可接收设备的微信消息通知
人员管理,通过人员管理可新增人员,批量导入人员信息,批量上传人脸
2、下载导入模板,编辑完数据后,点击上传
1、新建一个上传文件夹(批量上传需选择文件夹)
2、将人脸照片按规则命名后,存放在同一个文件夹或将需要上传的人脸文件压缩成Zip格式,放入上传文件夹。
主体ID_人员编号.jpg,如主体Id(可通过系统设置-主体设置查看)是 1,人员编号是2020,则对应人脸图片名为:1_2020.jpg
手机号.jpg,如对应人员手机号是,则该人员的人脸图片应命名为:.jpg
人脸图片或副人脸图片,任选一个上传即可,请根据具体使用场景选择图片命名
2、选择需要上传的人脸照片所在的文件夹
人脸为通过管理平台上传的人脸图片,副人脸为终端用户通过小程序自行上传的人脸图片
操作步骤,菜单栏选择人员列表,点击人脸头像
操作步骤:勾选需要授权的人员,出现更多下拉菜单选择批量群授权,选择需要授权到哪些设备,确认无误后,点击确定,提示操作成功,表示授权成功
部门管理,用于人员信息分部门管理,通过部门负责人手机,对应绑定微信的手机号即可接收对应部门下人员通行(体温)数据的微信消息通知
9 通行(体温)记录
通行(体温)记录,包含每个设备上报的人员信息、体温信息以及抓拍图片
点击对应记录课显示记录详细信息
10 通行(体温)记录导出
操作步骤:点击展开后,会出现通行时间,选择需要导出记录的时间段,点击导出后,会下载对应数据报表(部分浏览器可能会拦截重定向窗口,这种情况不能下载表报需要关闭浏览器的拦截设置)
文章来源:企鹅号 - 一卡易
世界上充斥着大数据集。但是,照片和视频方面的大量应用场景使面部识别技术发挥了作用。面部识别系统会分析视觉数据以及由安装在现代城市中的闭路电视摄像机生成的数百万个图像和视频,以确保安全。
那么,人脸识别实际上是什么?
面部识别是一种能够通过图像,视频或任何视听系统识别或验证人脸的技术。这种识别技术利用生物识别软件来识别个人的面部特征。
如今,人脸识别已被用来使世界更安全,更智能,更便捷。
机场:机场当局在国际航班安检时使用面部识别。
付款方式:面部识别系统已成为付款中不可缺少的部分,它可以通过扫描个人的生物特征来实现非接触式付款方式。
医疗保健:面部识别有助于患者检查过程,实时情绪检测,患者跟踪,某些疾病或状况的诊断,人员识别和设施安全。
零售:在零售领域,面部识别有助于定制购物体验,减少入店行窃,使员工能够提供更好的客户服务,并提高零售商店的安全性。
教育:面部识别系统可以使机构监控学生的出勤和行为,从而改善学生的学习体验。它可以增强学习参与度和安全性。
世界各地的主要科技公司都在开发先进的面部识别技术。特别是,中国,美国,俄罗斯,日本,以色列和欧洲的科技巨头正在引领潮流。
· 中国已经安装了数百万台连接面部识别软件的摄像头。
· 俄罗斯宣布将扩大自己的安全监控网络。
· 在欧洲和其他发达国家,面部识别用来发现进入商店的小偷,并进入企业来监视员工和访客。
· 在美国,警察使用该技术在录像中搜索嫌疑犯。