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

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

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

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行