当前位置: 首页 > news >正文

金字塔监督在人脸反欺骗中的应用

介绍

论文地址:https://arxiv.org/pdf/2011.12032.pdf

近年来,人脸识别技术越来越普及。在智能手机解锁和进出机场时,理所当然地会用到它。人脸识别也有望被用于管理今年奥运会的相关人员。但与此同时,人们对人脸欺骗的关注度也越来越高,而人脸反欺骗(FAS)这一防止人脸欺骗的技术领域也备受关注。
恶搞技术每年都在发展。随着新类型的欺骗变得越来越现实,需要有一种稳健的算法,能够在没有经过现有模型训练的场景下检测欺骗。传统的基于二进制分类的模型(如"0"代表真实,"1"代表欺骗)比较容易建立,性能也比较高,但有一个弱点,就是难以学习到内在的、有辨识度的欺骗模式。
因此,最近在FAS任务中提出了Pixel-Wise Supervision,其目的是学习更细粒度的像素/斑点级特征,对识别更有用。

在本文中,在综合回顾了以往的方法后,如上表所示,他们提出了一个新的框架,称为Pyramid Supervision,它可以从多尺度的空间环境中学习局部细节和全局语义信息。在本文中,他们将介绍该框架及其性能。
在5个FAS基准数据集上进行了大量的实验,发现Pyramid Supervision不仅提高了现有的Pixel-Wise Supervision的性能,而且还能在补丁层面识别欺骗的痕迹,提高了模型的可解释性。可解释性;

新框架"金字塔监督

金字塔 在现有的方法中很容易引入监督,以提高其绩效。在本文中,我们展示了一个在两种典型方法中引入金字塔监督的例子。二进制掩模监督和深度图监督。
首先,金字塔二元掩码监督的图,将金字塔监督应用于二元掩码监督,如下图所示。

从RGB输入图像(3×256×256)中提取多尺度特征(_F__8,_F__4,F__2,F1),提取各特征后采用平均池化法。此外,每个特征(_F__8,_F__4,F__2,F1),用1x1 Conv进行特征到掩模的映射,得到多尺度二元掩模(Θ8Θ4Θ2Θ1)。多尺度二元掩模预测可以表述为: 1.可制定如下:

每一个生成的多尺度二元掩码都要进行变换和并联,最后应用二元分类。对于每个像素的地面真值_(Y_),可以直接使用已经注释的二进制掩码标签,也可以使用生成的粗二进制掩码。转换为与输入图像相同的多尺度掩模标签(Y8Y4Y2Y1)。
预测的多尺度二进制掩码和地面真相大小相同,通过累积每个尺度每个位置的二进制交叉熵(BCE)来计算损失函数(Lpyramid)。

在训练过程中,网络的整体损失函数(Loverall)可以表述如下_Lbinary_将是最后一次二进制分类的BCE。在测试过程中,只使用最终的二进制分数。

接下来,金字塔深度图监督应用于深度图监督,如下图所示。

如图所示,CDCN从输入图像(3×256×256)中提取多级特征,并预测灰度深度图(32×32)。与金字塔二元掩模监督类似,预测的深度图D32(32×32)和生成的Pseduo深度都被下采样并调整为相同的比例(32×32、16×16等)。
金字塔深度损失(LdepthPyramid)可制定如下。

这里,Di代表预测深度图的比例尺_i_。另外,LMSE和LCDL分别代表均方误差(MSE)和对比度深度损失(CDL)。对比深度损失(CDL)是CVPR2020中提出的损失函数,其公式如下。

这是一种新引入的损失,因为常用的使用欧氏距离的Contrasive Loss没有考虑相邻像素信息,细节信息丢失,影响泛化性能。


(出典:深度空间梯度和时间深度学习的人脸防欺骗技术)

在训练过程中,只使用LdepthPyramid,在测试过程中,计算所有尺度预测的深度图的平均值作为最终得分。

实验

如上所述,在基于Pixel-Wise Supervision的FAS中,主流的Backbone可以分为两类。
1)基于二进制掩码监督的网络(如ResNet和DenseNet)。
2)基于伪深度监督的网络(如DepthNet)。

在此,分别以具有代表性的ResNet50和CDCN作为基线,并与金字塔监督的模型进行比较。

数据集内类型测试 (OULU-NPU)

数据库内测试是对特定数据集的性能评估。使用一个代表性的数据集OULU-NPU来评估性能。为了公平的比较,使用原始协议和指标,指标是攻击展示分类错误率(APCER)、展示分类错误率(BPCER)和ACER的平均值计算出来的。使用ACER,其计算方法是APCER是指被误判为真实的欺骗行为的百分比,PCER是指被误判为欺骗行为的百分比。PCER是指被欺骗和误判的真品比例。下表显示了使用OULU-NPU进行Intra-Dataset测试的结果,其中Prot.代表OULU-NPU提供的四种协议。

从ACER来看,重点是提出的金字塔监督(PS),可以看到它在四个协议中持续降低和提高性能。换句话说,它在光照、攻击介质和输入摄像机等外部环境方面的泛化性能有所提高。
从模型来看,CDCN-PS在四个协议中实现了比SOTA的模型更好或性能相当。ResNet50-PS显示出非常好的效果,在协议4中表现得比CDCN-PS更好,虽然前三个协议的性能没有那么高,但在协议4中最难达到高性能。这表明,即使在训练数据有限的情况下,金字塔监督也是非常有效的。

数据集内交叉类型测试(SiW-M)

通过SiW-M的跨类型测试验证未知攻击的泛化性能。如下表所示,与传统的Pixel-Wise Supervision相比,ResNet50-PS和CDCN-PS实现了整体更好的EER,分别提高了17%和12%。

跨数据集内类型测试

他们使用四个数据集,OULU-NPU(O),CASIA-MFSD(C),Idiap Replay-Attack(I)和MSU-MFSD(M)。其中,随机选取3个数据集进行训练,剩余1个数据集用于测试。下表显示了结果。

可以看出,金字塔监督的实施显著提高了ResNet50-PS的性能(HTER),尤其是"O&C & I to M"和"I&C & M to O"的性能(HTER)提高了-4.48%和-5.03%。
同样,CDCN-PS在"O & C & I to M"、“O & M & I to C”、"I & C & M to O"的表现(HTER)分别提高了-2.48%、-4.21%、-1.16%。我们表明,金字塔监督也有助于在多源域上提供丰富的多尺度指导。

可视化

下图是SiW-M在Cross-Type测试中预测的真假二元图。

从"Live"、"Replay"和"Transp.Mask"的预测结果来看,ResNet50 8x8和ResNet50-PS的表现都不错,表现出较高的识别可信度。另一方面,对于未知攻击方法的预测,如部分打印和半掩模,显示出信心的下降。
从ResNet50 8x8的结果中,可以看到,在第3行第2列中,除了眼睛区域的Print区域外,其他面部区域的预测置信度都很低。另一方面,金字塔监督的使用显著提高了欺骗定位方面的可解释性。预测的8x8和4x4地图分别揭示了面部皮肤区域和冒充媒介的高(真)和低(假)分数位置。
随着欺骗攻击的发展,网络的可解释性将在欺骗的定位和理解上变得越来越重要。

总结

在本文中,他们提出了一种新的金字塔监督,为精细化学习提供了更丰富的多尺度空间背景。
它可以很容易地引入传统方法。实验结果也表明其在泛化和解释性能上都有很高的有效性。要实现安全可靠的人脸识别系统,高泛化性能和高可解释性是不可缺少的。
未来,我们期望通过将其纳入更先进的架构和基于像素的标签,进一步提高系统的性能。

相关文章:

金字塔监督在人脸反欺骗中的应用

介绍 论文地址:https://arxiv.org/pdf/2011.12032.pdf 近年来,人脸识别技术越来越普及。在智能手机解锁和进出机场时,理所当然地会用到它。人脸识别也有望被用于管理今年奥运会的相关人员。但与此同时,人们对人脸欺骗的关注度也…...

vue3——两种利用自定义指令实现防止按钮重复点击的方法

方法一:利用定时器设置时间,下方代码设置时间为1秒 但是有个缺点:请求如果很慢,1秒钟还没有好,那么该方法就没用了 // 利用定时器:1秒之后才能再次点击app.directive(preventReClick, {mounted: (el, bind…...

Chrome谷歌浏览器Console(控制台)显示文件名及行数

有没有这样的困扰?Chrome谷歌浏览器console(控制台)不显示编译文件名及行数? 设置(Settings)- > 忽略列表(lgnore List)-> 自定义排除规则(Custom exclusion rules) 将自定义排除规则…...

Vue3+Element Plus 实现table表格中input的验证

实现效果 html部分 <template><div class"table"><el-form ref"tableFormRef" :model"form"><el-table :data"form.detailList"><el-table-column type"selection" width"55" align&…...

安宝特方案|解放双手,解决死角,AR带来质量监督新体验

AR质量监督 解放双手&#xff0c;解决死角 在当今制造业快速发展的背景下&#xff0c;质量监督成为确保产品高质量和完善的管理制度的关键环节。然而&#xff0c;传统的质量监督方式存在诸多挑战&#xff0c;如人工操作带来的效率低下、查岗不及时、摄像头死角等问题。 为了解…...

Django教程(005):基于ORM操作数据库的部门管理系统

文章目录 1、功能介绍2、新建项目3、创建app4、 表结构创建6、生成表7、静态文件管理8、部门管理8.1、部门列表8.2、添加部门8.3、删除部门8.4、编辑部门9、员工管理9.1、员工列表9.2、使用ModelForm添加员工9.3、编辑员工9.4、删除员工10、完整代码下载地址1、功能介绍 部门添…...

git等常用工具以及cmake

一、将git中的代码克隆进电脑以及常用工具介绍 1.安装git 首先需要安装git sudo apt install git 注意一定要加--recursive&#xff0c;因为文件中有很多“引用文件“&#xff0c;即第三方文件&#xff08;库&#xff09;&#xff0c;加入该选项会将文件中包含的子模…...

Mybatis(四)特殊SQL的查询:模糊查询、批量删除、动态设置表明、添加功能获取自增的主键

实体类&#xff1a; 数据库&#xff1a; 1、模糊查询 方案一&#xff1a; 不适用#{ }&#xff0c;’%?%‘ 问号是属于字符串的一部分 不会被解析成占位符&#xff0c;会被当作是我们字符串的一部分来解析&#xff0c;所以我们执行的语句中找不到占位符&#xff0c;但是我们却…...

JS原型与原型链

JS原型与原型链 JavaScript中一切引用类型都是对象&#xff0c;对象就是属性的集合。 Array类型、Function类型、Object类型、Date类型、RegExp类型等都是引用类型。 原型是什么 总计一句话就是&#xff08;继承里的父亲&#xff0c;你可以使用你的原型里的函数&#xff09;…...

Python编程学习第一篇——Python零基础快速入门(六)(4)异常处理

我们已经了解了Python的基本数据类型、变量和基本的逻辑控制语句&#xff0c;基于这些基础知识可以编写一些小程序了&#xff0c;但是在写程序的时候我们会发现&#xff0c;有时候程序并不是按我们预期的方向执行&#xff0c;有的直接报错&#xff0c;有的没有报错&#xff0c;…...

GraphHopper-map-navi_路径规划、导航(web前端页面版)

文章目录 一、项目地址二、踩坑环境三、问题记录3.1、graphhopper中地图问题3.1.1. getOpacity不存在的问题3.1.2. dispatchEvent不存在的问题3.1.3. vectorLayer.set(background-maplibre-layer, true)不存在set方法3.1.4. maplibre-gl.js.map不存在的问题3.1.5. Uncaught Ref…...

2-46 基于matlab的声音信号的短时能量、短时过零率、端点检测

基于matlab的声音信号的短时能量、短时过零率、端点检测。通过计算计算短时能量、调整能量门限&#xff0c;然后开始端点检测。输出可视化结果。程序已调通&#xff0c;可直接运行。 2-46 短时能量 短时过零率 端点检测 - 小红书 (xiaohongshu.com)...

力扣630.课程表 II

力扣630.课程表 II 反悔堆 将课程按照结束时间从大到小排序每次取一个判断当前是否能学完该课程如果能学完就将持续时间加入堆 更新答案如果学不完就判断该课程持续时间是否比之前学过的最大的还大 用时更短的话就将旧的弹出 class Solution {public:int scheduleCourse(ve…...

数字IC后端流程简述

1. 设计输入 目标:接收前端设计(如RTL代码和约束文件)的输出。 工具:前端设计工具(如Synopsys Design Compiler或Cadence Genus)。 步骤: 确保前端设计的RTL代码经过综合并生成了门级网表(Netlist)。 收集约束文件(Constraints),如时序约束(SDC文件)、功率约束等…...

数学建模--整数规划和非线性规划

目录 整数规划 非线性规划 总结 整数规划中分支定界法的具体步骤和实现细节是什么&#xff1f; 初始化&#xff1a; 分支&#xff1a; 定界&#xff1a; 剪枝&#xff1a; 终止条件&#xff1a; 非线性规划中的梯度法、牛顿法和拟牛顿法的比较分析有哪些&#xff1f;…...

Linux-查看dd命令进度

查看dd命令进度 一、概述1. 在一个终端执行拷贝任务2. 在另一终端执行进度命令 一、概述 系统&#xff1a;Ubuntu 22.04 在使用 dd 命令做拷贝大量数据的时候&#xff0c;因为并没有输出&#xff0c;所以比较难判断当前进度&#xff0c;因此可以使用下面的命令作为进度查看 …...

高效微调 100 多种大语言模型:先计算法,急速推理!

hiyouga/LLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory Stars: 26.9k License: Apache-2.0 LLaMA-Factory 是一个用于高效微调 100 多个大型语言模型&#xff08;ACL 2024&#xff09;的 WebUI。 多种模型&#xff1a;LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Y…...

opencv grabCut前景后景分割去除背景

参考&#xff1a; https://zhuanlan.zhihu.com/p/523954762 https://docs.opencv.org/3.4/d8/d83/tutorial_py_grabcut.html 环境本次&#xff1a; python 3.10 提取前景&#xff1a; 1、需要先把前景物体框出来 需要坐标信息&#xff0c;可以用windows自带的画图简单提取像素…...

qt--电子相册

一、项目要求 设计一个电子相册&#xff0c;点击上一张&#xff0c;切换到上一张图片&#xff0c;点击下一张&#xff0c;切换到下一张图片。 要求&#xff1a;图片的展示可以循环&#xff08;QList<QString>&#xff09; 要求&#xff1a;界面美观 二、项目代码 本质是通…...

【MSP430】MSP430F5529几个定时器

MSP430F5529共有四个定时器&#xff0c;其中三个是Timer_A定时器&#xff0c;一个是Timer_B定时器。 这些定时器在MSP430F5529微控制器中发挥着重要的作用&#xff0c;不仅支持多重捕获/比较、PWM输出和内部定时功能&#xff0c;还具有丰富的中断处理能力。这些特性使得MSP430…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...