AdvFaces: Adversarial Face Synthesis

AdvFaces: Adversarial Face Synthesis
AdvFaces:对抗性人脸合成

摘要

我们提出了AdvFaces,一种自动对抗人脸合成方法,通过生成对抗网络学习在显著面部区域产生最小的扰动。一旦AdvFaces经过训练,它就可以自动产生难以察觉的扰动,从而避开最先进的人脸匹配器,攻击成功率分别高达97:22%和24:30%,用于混淆和模拟攻击。

1. introduction

我们强调对抗性人脸生成器的以下要求:

  • 生成的对抗人脸图像应该在感知上是真实的,这样人类观察者就可以将图像识别为与目标主体相关的合法人脸图像。
  • 人脸需要被干扰,这样他们就不能被识别为黑客(混淆攻击)或自动匹配目标对象(模拟攻击)由AFR系统。
  • 扰动的量应该由黑客控制。这将允许黑客将学习模型的成功作为扰动量的函数来检验。
  • 对抗性示例应该是可转移的和模型不可知的(即将目标AFR模型视为黑盒)。换句话说,生成的对抗示例在其他黑盒AFR系统上也应该具有较高的攻击成功率。

本文提出了一种自动对抗人脸合成方法AdvFaces,该方法为探测人脸图像生成对抗掩码,满足上述所有要求。然后,可以将对抗性掩码添加到探测人脸图像中,以获得一个对抗性人脸示例,该示例可用于冒充任何目标身份或混淆自己的身份(见图4)。本文的贡献可以总结如下:

  1. 一个GAN, AdvFaces,学习生成视觉逼真的对抗人脸图像,这些图像被最先进的AFR系统错误分类。

  2. 通过AdvFaces生成的对抗人脸是模型不可知的和可转移的,并且在5个最先进的自动人脸识别系统上取得了很高的成功率。

  3. 可视化的面部区域,其中像素是扰动和分析不同的图像分辨率对扰动量的影响。

  4. 一个开源的自动对抗脸生成器,允许用户控制扰动的量。

3. AdvFaces

我们的目标是合成一个在视觉上看起来属于目标人物的人脸图像,然而自动人脸识别系统要么不正确地将合成图像与另一个人匹配,要么与真人的画廊图像不匹配。图5概述了建议的框架。

AdvFaces由生成器G、鉴别器D和人脸匹配器F组成(参见图5和算法1)。
在这里插入图片描述
图5:在混淆设置中提出的对抗性生成方法的概述。给定探测人脸图像,AdvFaces自动生成一个对抗掩码,然后将其添加到探测中以获得对抗人脸图像。
算法1
在这里插入图片描述
生成器G:所建议的生成器接受一个输入人脸图像x∈X,并输出一个图像G(x)。生成器以输入图像x为条件;对于不同的输入人脸,我们将得到不同的合成图像。
由于我们的目标是获得一个度量上接近原始输入图像x的对抗图像,因此我们不希望干扰原始图像中的所有像素。出于这个原因,我们将生成器的输出视为加性掩模,对抗人脸为x + G(x)。如果G(x)中像素的大小最小,则对抗图像主要由探针x组成。在这里,我们将G(x)表示为“对抗掩模”。为了限定对抗性掩模的大小,我们通过最小化L2范数在训练过程中引入一个扰动铰链损失
在这里插入图片描述
式中∈ [0;1)是控制允许的最小扰动量的超参数。
为了实现我们模仿目标对象或混淆自己身份的目标,我们需要一个人脸匹配器F来监督AdvFaces的训练。对于混淆攻击,目标是生成一个与任何主体的图库图像不匹配的对抗图像。在每次训练迭代中,AdvFaces试图通过恒等损失函数最小化输入探针x和生成图像x + G(x)的人脸嵌入之间的余弦相似度:
在这里插入图片描述
对于模拟攻击,AdvFaces通过以下方式最大化随机选择目标探针y的人脸嵌入与生成的对抗人脸x + G(x)之间的余弦相似度:
在这里插入图片描述
微扰和身份损失函数强制网络学习可以最小扰动的显著面部区域,以逃避自动人脸识别系统。

鉴别器:类似于之前关于gan的研究[12,17],我们引入了一个鉴别器,以促进生成图像的感知真实感。我们使用全卷积网络作为基于patch的鉴别器[17]。

这里,鉴别器D旨在通过GAN损失来区分探针x和生成的对抗人脸图像x + G(x):
在这里插入图片描述
最后,AdvFaces以端到端方式进行训练,目标如下:
在这里插入图片描述
其中λi和λp分别是控制恒等损失和微扰损失相对重要性的超参数。请注意,LGAN和l摄动鼓励生成的图像在视觉上与原始人脸图像相似,而liidentity则优化了高攻击成功率。我们通过farg minGmaxDLg将AdvFaces训练为最小化游戏。经过训练,生成器G可以对任何输入图像生成对抗的人脸图像,并且可以在任何黑箱人脸识别系统上进行测试。

4. 实验结果

评估指标:我们通过(i)攻击成功率和(ii)结构相似性(SSIM)来量化AdvFaces和其他最先进基线产生的对抗性攻击的有效性。
混淆攻击的攻击成功率计算为:
在这里插入图片描述
每次比较包括受试者的对抗探针和登记图像。这里,τ是一个预先确定的阈值,例如,在0.1% FAR4处计算。定义模拟攻击的攻击成功率为:
在这里插入图片描述
在这里,比较包括与目标探针合成的对抗性图像,并与目标的登记图像相匹配。 我们通过 10 倍交叉验证来评估模拟设置的成功率,其中每倍都包含一个随机选择的目标。
与之前的研究[34]类似,为了衡量对抗样本与输入人脸之间的相似度,我们计算了图像之间的结构相似指数(SSIM)。SSIM是−1(完全不同的图像对)到1(相同的图像对)之间的归一化度量:
在这里插入图片描述
数据集:我们在CASIA-WebFace上训练AdvFaces,然后在LFW上进行测试。

  • CASIA-WebFace由属于10,575个不同主题的494,414张人脸图像组成。

  • LFW包含5,749个不同主题的13,233张网络收集图像。为了计算攻击成功率,我们只考虑至少有两张人脸图像的受试者。经过筛选,共有1680名受试者的9614张人脸图像可供评估。

我们在Tensorflow中使用ADAM优化器,整个网络的β1 = 0.5和β2 = 0.9。每个小批由32张人脸图像组成。我们训练AdvFaces 20万步,固定学习率为0:0001。由于我们的目标是生成高成功率的对抗性面孔,因此身份丢失是至关重要的。我们经验地设λi = 10.0, λp = 1.0。我们训练了两个独立的模型,并分别为混淆和模拟攻击设置 = 3.0和 = 8.0。所有实验均使用Tensorflow r1.12.0和NVIDIA Quadro M6000 GPU进行。具体实现见附录A。

面部识别系统:在我们所有的实验中,我们使用了5个最先进的面部匹配器。其中三个是公开的,分别是FaceNet [31], spheres[20]和ArcFace[6]。我们还报告了两种商用现货(COTS)面部匹配器,COTS- a和COTS- b8的结果。在训练过程中,我们使用FaceNet[31]作为白盒人脸识别模型F。本文中所有的测试图像都是由同一模型生成的(仅使用FaceNet进行训练),并在不同的匹配器上进行测试。

4.1 与最先进的比较

在表1中,我们发现与最先进的技术相比,AdvFaces生成了类似于探针的对抗性面。此外,在混淆和模拟设置中,对抗性图像在4个最先进的黑盒AFR系统上获得了很高的混淆攻击成功率。AdvFaces学习扰动人脸的显著区域,不像PGD [22], FGSM[13]会扰动图像中的每个像素。因此,我们发现尽管PGD和FGSM的成功率很高,但探针与合成面之间的结构相似性很低。另一方面,GFLM[5]在几何上扭曲了人脸图像,从而导致低结构相似性。此外,最先进的匹配器对这种几何变形具有鲁棒性,这解释了GFLM在人脸匹配器上的低成功率。A3GN也是一种基于gan的方法,但是在模拟设置中无法获得合理的成功率。在图6中,我们看到,除了成功率高之外,本文方法生成的对抗人脸在视觉上也很吸引人,并且与基线相比,探针图像和合成图像之间的差异几乎无法区分。
在这里插入图片描述

4.2 消融实验

为了分析系统中每个模块的重要性,在图7中,我们分别通过去除GAN损失(LGAN)、微扰损失l摄扰和身份损失liidentity来训练AdvFaces的三个变体进行比较。GAN损失有助于保证合成人脸的视觉质量。单独使用生成器时,会引入不需要的工件。没有提出的扰动损失,对抗性掩模中的扰动是无界的,因此,导致缺乏感知质量。身份损失是确保获得对抗图像的必要条件。在没有身份丢失的情况下,合成图像无法躲避最先进的人脸匹配器。我们发现AdvFaces的每个组件都是必要的,以便获得一个对抗的脸,不仅在感知上是真实的,而且可以逃避最先进的人脸匹配器。
在这里插入图片描述
图7:AdvFaces的变体分别没有GAN损失、微扰损失和身份损失。

4.3 AdvFaces学习什么?

在训练过程中,AdvFaces学习干扰可以逃避人脸匹配器的显著面部区域F(在我们的例子中是FaceNet[31])。这是由Lperturbation来执行的,它惩罚大的摄动,从而将摄动限制在显著像素位置。在图8中,AdvFaces合成了与探测对应的对抗性掩码。然后,我们对掩模进行阈值,以提取扰动幅度超过0.40的像素。可以推断,眉毛、眼球和鼻子包含AFR系统用来识别个体的高度判别性信息。因此,干扰这些显著区域足以逃避最先进的人脸识别系统

4.4 扰动量的影响

微扰铰链损失,Lperturbation由一个超参数限定。也就是说,对抗性掩码的L2范数必须至少为。如果没有这个约束,对抗性掩码将变成一个空图像,探针没有任何变化。使用,我们可以观察到攻击成功率与图9中探针和合成对抗面之间的结构相似性之间的权衡。越高,摄动限制越小。这以较低的结构相似性为代价产生了更高的攻击成功率。对于模拟攻击,这意味着对抗图像可能包含黑客和目标的面部特征。在我们的实验中,我们分别为模拟和混淆攻击选择 = 8.0和 = 3.0。

5. 总结

我们提出了一种新的对抗人脸合成方法,即AdvFaces,该方法可以自动生成具有不可察觉扰动的对抗人脸图像,从而避开最先进的人脸匹配器。在GAN的帮助下,以及所提出的扰动和身份损失,AdvFaces学习人脸匹配器识别所需的像素位置集,并且只干扰那些显著的面部区域(如眉毛和鼻子)。经过训练后,AdvFaces可以生成高质量和感知上真实的对抗示例,这些示例对人眼无害,但可以避开最先进的黑盒人脸匹配器,优于其他最先进的对抗人脸方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JOSEF约瑟 数显三相电压继电器 HJY-931A/D 导轨安装

名称:数字交流三相电压继电器型号:HJY-93系列品牌:JOSEF约瑟电压整定范围:10~450VAC额定电压:200、400VAC功率消耗:≤5W HJY系列 数字交流三相电压继电器 系列型号 HJY-931A/D数字式交流三相电压继电器&am…

qt5.15.2+vs2019源码调试开发环境搭建

说明 一些qt文件不进行源码调试无法知道其中的原理。提高软件质量,从概念原理及应用角度看待必须知道qt类运行原理。 1.安装 在网上找到qt安装包qt-unified-windows-x64-4.5.1-online.exe,安装qt5.15.2,有选择Qt Debug Information Files …

缺陷之灵魂操作bug

一、前言 正常来说,我们在测试缺陷的时候都是按照case来测试的,但是有些场景,例如说发散思维这种场景,就会找到一些比较不太正常、不好复现的缺陷,然后如果要辅助研发修复,就会极为痛苦。 二、场景描述 大…

jmeter接口测试项目实战详解,零基础也能学,源码框架都给你

1.什么是jmeter? JMeter是100%完全由Java语言编写的,免费的开源软件,是非常优秀的性能测试和接口测试工具,支持主流协议的测试 2.jmeter能做什么? 1.JMeter是100%完全由Java语言编写的软件性能测试的GUI的测试工具&a…

C++二分查找算法的应用:最小好进制

本文涉及的基础知识点 二分查找 题目 以字符串的形式给出 n , 以字符串的形式返回 n 的最小 好进制 。 如果 n 的 k(k>2) 进制数的所有数位全为1,则称 k(k>2) 是 n 的一个 好进制 。 示例 1: 输入:n “13” 输出:“3” …

ActiveMQ、RabbitMQ、RocketMQ、Kafka介绍

一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字:解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接,推送系统人员信息,通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整,或者推送过…

@Configuration 注解的 Full 模式和 Lite 模式!

Configuration 注解相信各位小伙伴经常会用到,但是大家知道吗,这个注解有两种不同的模式,一种叫做 Full 模式,另外一种则叫做 Lite 模式。 准确来说,Full 模式和 Lite 模式其实 1. 概念梳理 首先我们先来看一下 Spr…

YOLO算法改进6【中阶改进篇】:depthwise separable convolution轻量化C3

常规卷积操作 对于一张55像素、三通道(shape为553),经过33卷积核的卷积层(假设输出通道数为4,则卷积核shape为3334,最终输出4个Feature Map,如果有same padding则尺寸与输入层相同(…

网易按照作者批量采集新闻资讯软件说明文档

大家好,我是淘小白~ 今天给大家介绍的爬虫软件是网易按照作者采集的软件 1、软件语言: Python 2、使用到的工具 Python selenium库、谷歌浏览器、谷歌浏览器驱动 3、文件说明: 4、配置文件说明: 5、环境配置 安装Python&am…

Docker compose容器编排

Docker compose容器编排 1、Docker compose简介 docker-compose是docker的编排工具,用于定义和运行一个项目,该项目包含多个docker容器,在如今的微服务时代,一个项目会存在多个服务,使用docker一个个部署操作的话就会…

[动态规划] (五) 路径问题: LeetCode 62.不同路径

[动态规划] (五) 路径问题: LeetCode 62.不同路径 文章目录 [动态规划] (五) 路径问题: LeetCode 62.不同路径题目解析解题思路状态表示状态转移方程初始化和填表返回值 代码实现总结 62. 不同路径 题目解析 (1) 机器人从左上角到右下角有多少方法 (2) 机器人只能向左或者向右…

Screens for Mac 中文版 远程桌面连接控制工具

Screens Mac 版是Mac os平台上的一款Mac VNC 客户终端,能够自由访问远程计算机设备, Screens Mac 版支持各种强大的远程控制辅助工具,例如剪切板共享、快捷方式自定义、安全连接、多屏幕支持、快速扫描连接等。 Screens 4 for mac支持多种远程桌面协议&…

2023年上半年网络工程师试题

2023年上半年网络工程师试题 【试题一】 阅读以下说明,回答问题1至问题4将解答填入答题纸对应的解答栏内。 【说明】 某企业办公楼网络拓扑如图1-1所示。该网络中交换机Switch1-Switch4均是二层设备,分布在办公楼的各层,上联采用千兆光纤…

Jupyter Notebook交互式开源笔记本工具

1、官网 http://jupyter.org/ 2、什么是Jupyter Notebook Jupyter Notebook一个交互式的开源笔记本工具,可以用于编写、运行、和共享代码、文本、图形等内容。 如下文本、代码、图形 支持多种编程语言,包括python、R和Julia等,可以走一个…

C语言编译过程总结

开发C程序有四个步骤:预处理、编译、汇编和链接。任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。 我们创建一个test.c为例来讲解程序编译的…

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题 1. div变块级设置1.1 先看不设置的效果1.2 再看设置之后的效果 2. 解决 table 中 td 内容过长问题2.1 CSS实现(文字溢出控制td显示字数,显示省略号&#x…

手机转接器实现原理,低成本方案讲解

USB-C PD协议里,SRC和SNK双方之间通过CC通信来协商请求确定充电功率及数据传输速率。当个设备需要充电时,它会发送消息去给适配器请求充电,此时充电器会回应设备的请求,并告知其可提供的档位功率,设备端会根据适配器端…

英伟达发布 Windows 版 TensorRT-LLM 库

导读英伟达发布了 Windows 版本的 TensorRT-LLM 库,称其将大模型在 RTX 上的运行速度提升 4 倍。 GeForce RTX 和 NVIDIA RTX GPU 配备了名为 Tensor Core 的专用 AI 处理器,正在为超过 1 亿台 Windows PC 和工作站带来原生生成式 AI 的强大功能。 Tens…

大模型在代码缺陷检测领域的实践

静态代码扫描(SA)能快速识别代码缺陷,如空指针访问、数组越界等,以较高ROI保障质量及提升交付效率。当前扫描能力主要依赖人工经验生成规则,泛化能力弱且迭代滞后,导致漏出。本文提出基于代码知识图谱解决给机器学什么的问题&…

大数据Doris(十六):Doris表的数据划分

文章目录 Doris表的数据划分 一、Partition 二、 Bucket 三、PROPERTIES 四、 ENGINE Doris表的数据划分 Doris支持单分区和复合分