人脸采集和活体检测,以及负样本测试集

 

人脸数据采集的意义

  1. 搜集识别算法、活体检测等算法训练样本
  2. 搜集识别、活体检测等算法准确性的测试集

人脸采集和动作活体

  1. 人脸库采的照片有半张嘴,要么闭眼的情况,是采集时让用户进行动作活体导致——眨眼、张嘴。
  2. 采集应该在动作活体之前或者之后进行,比如动作活体之前增加一个请注视屏幕的环节。

动作活体时采集的照片对识别性能的影响

  1. 采集到张嘴眨眼的照片,对识别或者静默活体校验有什么影响?
  2. 主要是会影响识别性能,影响多少需要专门的测试库进行测试比较,所以需要准备相应的测试库。
  3. 而且各个人脸识别应用场景都应该建立标准库,以测试得出准确率,达到上线指标再上线。
  4. 但在开启服务阶段,建立测试集难度有点大,只能先搜集数据。

建立负样本测试集

  1. 在做动作活体时有意识的采集闭眼的照片或者张嘴的照片,就可以采集负样本测试集。
  2. 负样本测试集的数量没有那么高的要求,几百几千几万都可以做标准库。
  3. 最好能离线测试,而不是上线后去进行测试。
  4. 如果能上传整个识别过程的视频最好,可以根据需要去切分帧出来。记录的视频也可以用于动作活体的训练。
  5. 没检测到人脸的照片,也可以用来训练人脸检测算法。

视频数据采集

  1. 视频的话会有编码压缩,对动作活体和人脸识别影响不大,但对静默活体可能是有影响的,所以最好是视频和图片都有。
  2. 人脸检测采集SDK需要支持传视频流,SDK是一直在处理视频流。业务方在触发开始采集和结束操作时,可以打开SDK的视频采集开关。
  3. 人脸SDK接收的是byte[]类型的数据,不管是照片流还是视频流,业务方只需要在传入数据的时候按照这个格式来传递就可以。
  4. 常见的非活体攻击类型主要有:1、照片攻击;2、屏幕播放攻击(包括视频或者照片或者远程遥控);3、软件模拟。使用目前的打印照片翻拍和手机(多种不同手机类型)屏幕翻拍,已经足够覆盖大部分常见的攻击,包括软件模拟(等效于翻拍)。剩下的一些可能的非活体攻击,如易容等(也有目前我们暂时还没有想到的某种攻击方式),攻击成本可能会比较高

人脸识别平台视频流数据的存储方案

  1. 视频流数据是一帧一帧的,每一帧数据都是byte[ ]格式。
  2. 前端形成视频流的时候没有视频压缩编码,直接把每一帧串联成视频发到后台。

人脸数据采集需求汇总

  1. 视频流:调用SDK将发起注册、识别时的视频流采集下来,供动作活体和人脸识别算法。
  2. 发送视频流。目前是为了积攒样本所以要采集视频流,后期大规模使用的使用的时候,如果考虑到带宽和存储空间,就不用采集了,或者随机采集部分用户的就可以。
  3. 人脸照片:调用SDK进行配置,扩大框脸范围。例如采集动作活体前和动作活体中的照片,供对比研究不同脸部姿态对识别性能的影响。
  4. 发送照片。如果能发送完整照片最好,如果不能,就发送人脸框扩大区域。

静默活体对人脸数据采集的要求

  1. 发送完整照片,是为了看到有人恶意用屏幕或者照片翻拍的边框,为活体检测算法考虑的。
  2. 静默活体部署在后端要求尽可能的传送越多的数据越好,等后面算法足够完善了就不需要这么多数据了,只需要针对性的采集就可以。比如发现某个用户或者某种类型的照片在活体或者识别上效果不好,就针对性的采集就好了。
  3. 静默活体算法的本质是判断当前照片的纹理是活人还是纸张屏幕等其它非人体皮肤的物质,再加上去检测是否有照片或者屏幕的边框。缺点是很难通用,不同场景就得训练不同模型,因为不同相机的成像质量不同。
  4. 需要采集比较多的数据进行算法训练,需要业务方配合。

静默活体和动作活体结合

  1. 动作活体和静默活体结合使用,而不是只用哪一种,比如以动作活体为主,将静默活体算法的活体通过率调高,非活体攻击尽可能的拦截。
  2. 百度旷视等各家云平台活体检测算法,至少都有四五种,就是因为哪一种其实都是不可靠的。
  3. 凡是能防住视频攻击的动作活体,一定不只是简单的动作活体,内部可能嵌了不少其它辅助活体检测算法,就比如摩尔纹检测,边框检测,肤色检测等等。

人脸采集交互

  1. 设置一个区域,人脸落在这个区域里面才会检测,落在这个区域外面,就提示请靠近摄像头中心。人脸过大和过小都可以给出提示,比如请靠近摄像头,请远离摄像头。
  2. 如果不提这些要求,大规模使用后,千奇百怪各种姿态都会看到的。甚至画一个小头,引导用户摆在合适的位置。
  3. 重点是不合规姿态下,要有反馈提示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV是一种广泛应用于计算机视觉领域的开源计算机视觉库。在人脸识别任务中,我们需要训练一个可以识别人脸的模型。为了训练这个模型,我们需要准备一个样本数据集,该数据集包含正样本样本。 正样本指的是我们希望模型成功识别出来的人脸图像。这些正样本应该是尽可能多种多样的人脸,包括不同年龄、种族、性别、表情等。我们可以从各种渠道获取这些正样本,如网络上的公开数据集、社交媒体等。为了获得更好的效果,我们还可以通过手动标注人脸位置和关键点来提供更准确的数据。 样本指的是非人脸的图像。这些样本可以是各种各样的图片,包括风景、动物、物体等。目的是让模型能够区分人脸和非人脸样本的数量应与正样本数量相当,以保持数据平衡,并帮助模型更好地学习区分特征。 在构建样本数据集时,我们应该尽可能地获取更多的样本,以提高模型的鲁棒性和准确性。此外,还应该注意数据的质量和多样性。优质的样本数据集对于训练出高质量的人脸识别模型至关重要。 总之,构建一个包含正样本样本人脸识别样本数据集是进行人脸识别模型训练的关键步骤。该数据集应该包含多样性的人脸样本和与之相等数量的样本,以在训练过程中有效区分人脸和非人脸。同时,我们应该重视数据的质量和多样性,以提高模型的准确性和鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值