活体检测facebagnet阅读笔记

Cassiel_cx Cassiel_cx     2022-10-21     443

关键词:

原文链接:https://openaccess.thecvf.com/content_CVPRW_2019/papers/CFS/Shen_FaceBagNet_Bag-Of-Local-Features_Model_for_Multi-Modal_Face_Anti-Spoofing_CVPRW_2019_paper.pdf

 背景

人脸图像是用于高度准确的人脸识别系统的最容易获得的生物识别模式,但它容易受到许多不同类型的呈现攻击,如高清纸张、视频、面具和头模等。因此,人脸反欺骗检测(FAS)是人脸识别系统中的关键过程,旨在确定捕获的人脸是否真实。基于卷积神经网络 (CNN) 的最先进的方法在该领域呈现出良好的效果。然而,以前的工作专注于一个单一的模态数据,主题数量有限。 最近发布的CASIA-SURF数据集是最大的数据集,由1000个主题和21000个视频剪辑组成,同时具有3 种模态数据(RGB、Depth 和 IR)。

相关工作

现有的FAS方法可以分为两类,一类是基于非深度学习(传统)的方法,另一类是基于深度学习的方法。 

(1)基于非深度学习的方法

先前的FAS方法通常利用手工特征,如LBP、HoG、SIFT和SURF,并且通常采用传统的分类器,如SVM和LDA。为了克服光照变化的影响,《A face antispoofing database with diverse attacks》利用多个DoG滤波器来过滤掉噪声和低频信息,随后使用SVM分类器来区分真假人脸。《LBP - TOP based countermeasure against face spoofing attacks》使用空间和时间描述符来编码丰富的信息。《On the effectiveness of local binary patterns in face anti-spoofing》使用 LBP 描述符从灰度图像中提取判别特征,然后应用 3 个分类器将其作为分类问题执行。

由于传统方法对不同的光照、姿势和特定身份非常敏感,因此这些方法无法捕获具有判别力的特征表示,泛化能力较差。

(2)基于深度学习的方法

最近在许多视觉信息处理领域,如目标检测、图像分类,CNN已被证明是一种有效的方法。 因此,CNN被广泛用于FAS和活体检测。《An original face anti-spoofing approach using partial convolutional neural network》提取特征并应用PCA来提高人脸识别系统的鲁棒性。《Learning deep models for face anti-spoofing: Binary or auxiliary supervision》利用深度图和 rPPG信号作为监督,以提高泛化能力。《Face de-spoofing: Anti-spoofing via noise modeling》通过将欺骗人脸逆分解为真人脸和欺骗噪声模式,引入了解决FAS的新视角。

总体而言,现有方法将FAS视为二分类问题,由于对训练数据的过度拟合,它们无法很好地泛化。《Approximating cnns with bagof-local-features models works surprisingly well on imagenet》从输入图像中提取patch特征,然后在数据集上取得显著改进。

创新点

(1)作者提出了一种基于patch的方法。该方法根据出现的局部图像特征对人脸图像进行分类,表现出强大的性能。

(2)为了防止过度拟合和更好地学习融合特征,在训练期间,使用模态特征擦除模块从一个随机选择的模态中擦除特征。

方法论

图1展示了模型的整体架构。融合网络是从头开始训练的,其中RGB、Depth和IR图像的人脸patch同时输入到网络中,子网络的模态特征在训练期间被随机擦除。

图1 整体网络结构

人脸欺骗特有的判别信息存在于整个人脸区域。因此,研究人员可以使用patch级图像来强制CNN 提取此类信息。 通常的基于patch的方法将全脸分成几个固定的非重叠区域。然后每个patch用于训练一个独立的子网络。在这篇文章中,对于每种模态,作者在从人脸中随机提取的patch上训练一个CNN。作者使用ResNext网络来提取深度特征,该网络由五组卷积模块、一个全局平均池化层和一个softmax层组成。表1显示了网络架构的层数,包括了kernel大小、输出特征图通道数、分组卷积的组数、步长。实验表明,基于patch的特征在不同的攻击中具有很强的区分性。

表1 FaceBagNet网络相关参数

由于不同模态图像的特征分布不同,作者提出的模型也在利用不同模态之间的相互依赖关系。如图 1所示,作者使用具有三个子网络的多流架构来执行多模态特征融合,在res3之后连接三个子网络的特征图。直接连接来自每个子网络的特征不能充分利用不同模态之间的特征。为了防止过拟合和更好地学习融合特征,作者对多模态特征设计了模态特征擦除模型。对于同一batch输入,在训练期间,会随机选择一个模态的子网络特征进行擦除,擦除区域内的相应权重被设置为零。融合网络是从头开始训练的,其中RGB、depth和IR数据同时分别输入每个子网络。

实验

CASIA-SURF数据集是目前最大的FAS数据集,包括三种模态,如图2所示。数据集由6种攻击生成。

图2 CASIA-SURF数据集中不同攻击的示例

攻击表现分类错误率 (APCER)、正常表现分类错误率 (NPCER) 和平均分类错误率 (ACER) 的统计数据作为作者提出的模型的评估结果。

人脸图像的大小调整为112×112。作者使用了随机翻转、旋转、调整大小、裁剪来增强数据。patch是从112×112的图像中随机提取的。使用SGD优化器和循环余弦退火学习率计划。 整个训练过程有250个epoch。优化器的权重衰减和动量分别设置为0.0005和0.9。

相关实验结果如下表所示。

表2 ChaLearn人脸反欺骗攻击检测挑战赛决赛阶段队伍的测试集结果和排名

表3 不同patch大小和数据模态的实验结果比较

人脸检测实战进阶:使用opencv进行活体检测(代码片段)

使用OpenCV进行活体检测在本篇博文中,您将学习如何使用OpenCV执行活体检测。您将创建一个活体检测器,该检测器能够在人脸识别系统中发现假人脸并执行反人脸欺骗。在教程的第一部分,我们将讨论活体检测,... 查看详情

如何通过活体检测

活体检测是[1]在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作。可有效抵... 查看详情

活体检测技术哪家强?实测n种场景告诉你答案

首先,什么是活体检测技术?活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作(配合式),使用人脸关键点定位... 查看详情

活体检测技术哪家强?实测n种场景告诉你答案

首先,什么是活体检测技术?活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作(配合式),使用人脸关键点定位... 查看详情

人脸识别中活体检测的重要性是啥?

是防止被攻击欺诈,提高安全性。人脸活体检测主要是通过识别活体上的生理信息来进行,它把生理信息作为生命特征来区分用照片、硅胶、塑料等非生命物质假座的生物特征。一旦虚假人脸攻击成功,极有可能对用户造成重大... 查看详情

人脸识别中的活体检测是啥?

人脸识别的活体检测有什么好处吗?活体检测技术哪个平台好?活体检测一般是通过人脸做出的一些动作,比如抬头、点头、睁眼、闭眼、张嘴、摇头这些,然后再使用人脸关键点定位和追踪技术,验证是否是本人在操作。比如... 查看详情

静默活体检测能力,有效规避用户实名认证环节风险(代码片段)

静默式活体检测,是华为HMSCore机器学习服务所属的人脸活体检测能力,即无需用户配合做出张嘴、扭头、眨眼等动作,便可实时捕捉人脸,快速判断是否为活体,用户使用过程便捷,综合体验感较佳。技... 查看详情

opencv-活体检测

...cv,python,matlab首先1.构建图像数据集2.实现一个能够进行活体检测的卷积神经网络(我们称之为「LivenessNet」)3.训练活体检测网络4.创建一个能够使用我们训练好的活体检测模型并将其应用于实时视频的Python+OpenCV的脚本 (... 查看详情

多维活体检测,让人脸识别更安全

...脸识别领域的安全风险,主持人用现场合成的视频通过了活体检测和人脸验证,因此人脸识别的安全性引起大众关注。对于活体检测的安全隐患,腾讯优图团队一直保持高度关注,并依托多年积累的技术能力和业务运营经验,已... 查看详情

多维活体检测,让人脸识别更安全

...脸识别领域的安全风险,主持人用现场合成的视频通过了活体检测和人脸验证,因此人脸识别的安全性引起大众关注。对于活体检测的安全隐患,腾讯优图团队一直保持高度关注,并依托多年积累的技术能力和业务运营经验,已... 查看详情

11.4关于人脸活体检测的思考🤔

...息安全部门做反垃圾的经验来看,做了一些自己的思考。活体检测本身是一个反欺诈问题,最主要的就是针对照片欺诈,如果没有活体检测,单纯由照片就可以进行欺骗性的人脸识别。反欺诈向来都是成本之间的竞争,当欺骗成... 查看详情

基于android虹软人脸人证对比,活体检测

最近虹软新增了人证识别、活体检测的功能,好像之前的人脸识别也更新过版本,之前一篇文章用虹软AndroidSDK做人脸识别,写过虹软人脸识别的用法,最近把人脸识别、人证识别,活体检测功能都简单的封装了一下,使用起来... 查看详情

[计算机视觉]人脸应用:人脸检测人脸对比五官检测眨眼检测活体检测疲劳检测

...脸表征检测(五官定位)’、‘眨眼检测’、‘活体检测’以及‘疲劳检测’。人脸检测严格来讲 查看详情

虹软人脸识别-faceid及ir活体检测的介绍(代码片段)

...EO模式新增faceId(类似于之前文章中提到的trackId)?新增IR活体检测功能?新增IR、RGB的活体阈值设置一、faceId介绍1.定义在连续的视频帧中,当一个人脸进入视频画面直到离开,其faceId不变。2.应用场景举例在门禁应用场景下,若... 查看详情

活体检测

活体检测有很多方法:眨眼检测,张嘴检测,摇头检测这里举例眨眼检测算法。眨眼检测算法:利用眼睛纵横比(EAR,eyesaspectratio)通过计算这个EAR的数值,我们可以判断眼睛是张开还是闭合的,从而检测眨眼动作。  EAR=... 查看详情

opencv怎么实现人脸识别活体检测?

...像头。 参考技术B我记得虹软新出的人脸识别SDK是的带有活体检测功能的,他们之前的SDK就有接入opencv的方案的,你可以虹软官方的开发者中心去看看具体有没有接入openc 查看详情

人脸识别活体检测技术讨论:基于背景人脸相对运动的活体判断方法

活体检测是人脸识别安全性的重要保障,是人脸识别厂商将产品普及应用于各行业的重要竞争力。目前活体判断的方法很多,但很难基于一种方法就能达到理想的效果,往往需要多种算法的交叉判断,本文主要介绍一种简单有效... 查看详情

虹软人脸识别活体检测有没有用过的,效果怎么样?

...了的,基本能满足我们的要求。 参考技术B虹软人脸识别活体检测是一种新型的识别方式,用在确认身份的场所,我单位机房就是用虹软人脸识别活体检测的方式来识别解锁,安全性比较高,用起来也比较方便。 参考技术C没有... 查看详情