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,一经查实,立即删除!

相关文章

Linux常用指令(二)——文件管理

Linux文件管理 2.1 创建文件 touch2.2 复制文件 cp2.3 删除文件 rm2.4 移动文件 mv2.5 重命名文件 rename2.6 查看文件 cat2.7 查看文件的类型 file2.8 编辑文件 vim2.9 打印文件内容 cat2.10 变更文件所有者 chown2.11 修改文件权限 chmod 更加完整的Linux常用指令 2.1 创建文…

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 …

mediasoup udp端口分配策略

mediasoup-worker多进程启动时&#xff0c;rtcMinPort/rtcMaxPort可以使用相同的配置。 for (let i 0; i < numWorkers; i) { let worker await mediasoup.createWorker({ logLevel: config.mediasoup.worker.logLevel, logTags: config.mediasoup.work…

框架和库:你需要知道的一切

在编程领域&#xff0c;框架和库是两个常见的概念。虽然它们都可以帮助我们更有效地编写代码&#xff0c;但它们之间有着明显的区别。在本文中&#xff0c;我们将探讨框架和库的定义、区别以及如何选择使用它们。 什么是框架&#xff1f; 框架是一种开发工具&#xff0c;它提供…

缺陷之灵魂操作bug

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

Android 13.0 根据app包名授予app监听系统通知权限

1.概述 在13.0的系统rom产品定制化开发中,在一些产品rom定制化开发中,系统内置的第三方app需要开启系统通知权限,然后可以在app中,监听系统所有通知,来做个通知中心的功能,所以需要授权获取系统通知的权限,然后来顺利的监听系统通知。来做系统通知的功能,接下来来实现…

【多媒体文件格式】AMR

AMR 自适应多速率音频压缩&#xff08;Adaptive multi-Rate compression&#xff0c;简称AMR&#xff09;是一个使语音编码最优化的专利。AMR被标准语音编码 3GPP在1998年10月选用&#xff0c;现在广泛在GSM和UMTS中使用。它使用1-8个不同的比特率编码。 AMR 也是一个文件格式…

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

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

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

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

估计量的评价指标

评价估计量优劣的指标有无偏性、有效性和一致性 我们观察世界&#xff0c;是对观察到的事物在大脑中形成的估计值&#xff1b;我们用仪器测量某个参数&#xff0c;是通过仪器获得该参数的估计值。那么&#xff0c;估计值的优劣如何来评价&#xff1f; 无偏性 估计值的样本均…

[SSD综述1.3] SSD及固态存储技术30年简史

依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< 前言 在我们今天看来,SSD已不再是个新鲜事物。这多亏了存储行业的前辈们摸爬滚打了将近半个世纪,才有了SSD的繁荣,可惜很多前辈都没有机会看到这。所有…

ActiveMQ、RabbitMQ、RocketMQ、Kafka介绍

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

(04)Mycat实现分库

1、如何选择分库表 #客户表 rows:20万 CREATE TABLE customer(id INT AUTO_INCREMENT,NAME VARCHAR(200),PRIMARY KEY(id) );#订单表 rows:600万 CREATE TABLE orders(id INT AUTO_INCREMENT,order_type INT,customer_id INT,amount DECIMAL(10,2),PRIMARY KEY(id) ); #…

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

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

深入理解Java中的ThreadLocal

简介&#xff1a; 在多线程编程中&#xff0c;线程安全是一个关键问题。而ThreadLocal提供了一种轻量级的方式来实现线程级别的共享变量&#xff0c;每个线程都拥有独立的副本。本文将通过示例&#xff0c;详细解释ThreadLocal的使用方法和原理。 使用示例&#xff1a; 下面是…

PTA: h0116. 波兰表达式

波兰表达式 题目输入格式输出格式 提示输入样例输出样例 代码 题目 &#xff08;PTA题目描述有误&#xff0c;应该是波兰表达式&#xff09;逆波兰表达式是一种把运算符前置的算术表达式&#xff0c;例如普通的表达式2 3的逆波兰表示法为 2 3。逆波兰表达式的优点是运算符之间…

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

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

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

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

Docker compose容器编排

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