人脸防欺骗——基于皮肤斑块的快速安全的生物识别实现人脸识别防欺骗方法

本文主要是介绍人脸防欺骗——基于皮肤斑块的快速安全的生物识别实现人脸识别防欺骗方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 概述

深度学习的进步促使面部识别技术在许多领域得到应用,例如在线身份验证(eKYC)和电子设备的安全登录。面部识别是一种生物识别技术,对安全性要求很高。近年来,为了提高人脸识别技术的可靠性,人们引入了人脸防欺骗(FAS)技术。然而,现有方法在实践中存在一些问题。在服务器端部署 FAS 模型,集成多个组件,会引发隐私和安全问题。由于用户的面部图像是通过网络传输并存储在服务器上的,因此隐私泄露的风险很高。此外,发送图像的过程非常耗时,会影响用户体验。

本文提出了一种新型面部防欺骗(FAS)模型,利用面部图像中的皮肤斑块来解决这些问题。传统方法会将整个面部图像发送到服务器,因此存在隐私泄露的风险,而本文提出的模型只将特定区域的皮肤发送到服务器。此外,传统方法需要花费大部分处理时间对要发送的图像进行加密和解密,而建议的模型只发送不包含任何个人身份信息的皮肤斑块,因此无需对图像进行加密和解密。

为了评估新方法的有效性和鲁棒性,我们从准确性和延迟等多个方面进行了实验,结果发现,该方法在保持低延迟的同时,还能高精度地检测伪造信息。 在安卓设备上演示时,该方法能准确检测伪造攻击,延迟时间小于 100 毫秒。
论文地址:https://arxiv.org/pdf/2308.04798.pdf

2. 算法架构

如上所述,传统人脸防欺骗技术的主要风险来自传输和存储图像的过程。例如,一个模型的加密和解密耗时约 240 毫秒,而主要功能–卷积神经网络(CNN)推理–仅需 20 毫秒。传输整个面部图像会造成严重的延迟,而且在存储数据时还会引发隐私问题。

以往的研究已经探讨了在人脸防伪应用中分离人脸图像结构和纹理的方法。基于补丁的人脸伪造检测算法主要有两种方法。一种是提取特定面部特征(如眼睛、鼻子、嘴巴)的补丁图像作为输入特征,如下图所示。另一种方法是通过将人脸分割成多个子补丁来提取人脸作为输入特征。然而,这两种方法都会带来隐私风险。此外,第一种方法需要为每个面部部分使用四个不同的模型,可能会造成相当大的计算负担。

以往的研究表明,面部皮肤贴片可有效地用作各种深度学习分类任务的输入,因此我们假设面部皮肤贴片也可用于面部防欺骗。

研究建议采用以下方法

我们将人脸识别反欺骗定义为一项区分真假人脸的分类任务。我们设计了一个模型来从图像中确定这一点,并使用特定的阈值来确定人脸的真假。然后,需要大量的人脸图像数据来训练这个模型。本文使用了一个名为 CelebASpoofing 的大型高质量图像数据集。在每次迭代中,都会使用 RetinaFace 对原始图像中的人脸区域进行裁剪。然后将裁剪后的面部图像输入脸部模型,以获得面部地标。这些地标用于识别与面部特征不重叠的皮肤斑块。提取的皮肤斑块不会包含个人身份信息。最终收集了 10,000 多个皮肤斑块,包括真实样本和不同类型的攻击实例。为了从面部图像中提取面部补丁,我们还使用了一种名为 “补丁提取模块”(PEM)的技术。面网模型用于识别输入面部图像上的地标。然后对人脸图像进行对齐,以提取高质量的人脸补丁。候选区域的选择侧重于那些缺乏显著面部特征的区域,尤其是左脸颊、右脸颊和下颌区域。CNN 用于从提取的斑块中提取特征。该模型将两个不同的斑块结合起来,以做出更准确的判断。

3. 实验结果

评估人脸防欺骗模型性能的三个指标是:攻击呈现分类错误率(APCER)、真实呈现分类错误率(BPCER)和平均分类错误率(ACER)。误差率(BPCER)和平均分类误差率(ACER)。这些指标的计算方法如下。

  • apcer = fp / (tn + tp)
  • bpcer = fn / (fn + tp)
  • acer = (apcer + bpcer) / 2

请注意,TP(真阳性)表示被正确分类为假的人脸图像,TN(真阴性)表示被正确分类为真的人脸图像,FP(假阳性)表示被错误分类为假的人脸图像,FN(假阴性)表示被错误分类为真的人脸图像。负)代表被错误归类为真实的假人脸图像。

在对所提方法进行性能评估时,使用了三个测试数据集:Rose-Youtu、MSU 和 Mobile-Replay。结果如下表所示。在三个不同的数据集上,与各种算法相比,所提出的模型表现出了卓越的性能。特别是,虽然 CDC 在所有数据集上都表现最佳,但本文提出的模型与 CDC 相比更加轻量级,使其在后端基础设施中的部署非常方便和实用。

此外,与 FaceDs 和 FASNet 等最先进的模型相比,所提出的模型取得了不相上下的结果,并明显优于 LBP 和色彩纹理等传统算法。结果表明,所提出的模型能有效地应对面部防欺骗的挑战。

此外,还对延迟进行了实验。反欺骗的处理时间包括图像传输、加密和解密以及模型推理。对传统模式(resnet34)和建议模式(双流 resnet34)的延迟时间进行了评估,结果如下表所示。

拟议模型的传输和推理时间略大于传统模型,但总体延迟仅为传统模型的 28%。省略加密和解密部分加快了整个过程。

4. 总结

本文提出了一种新颖的面部防欺骗模型,利用面部皮肤斑块作为输入特征。该方法无需传输面部图像,也无需对面部图像进行加密和解密。与传统方法相比,它消除了个人数据泄露的风险,并将反欺骗过程的时间大幅缩短至约四分之一。

这篇关于人脸防欺骗——基于皮肤斑块的快速安全的生物识别实现人脸识别防欺骗方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010561

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法