CVPR 2022 Protecting Facial Privacy: Generating Adversarial Identity Masks via Style-robust Makeup Transfer

原文链接:https://openaccess.thecvf.com/content/CVPR2022/papers/Hu_Protecting_Facial_Privacy_Generating_Adversarial_Identity_Masks_via_Style-Robust_Makeup_CVPR_2022_paper.pdf

摘要

·最近,一些研究采用了对抗样本来保护照片不被未经授权的人脸识别系统识别。

·然而,现有的生成敌对人脸图像的方法存在许多局限性,如视觉困难、白盒设置、可转移性弱,难以应用于保护人脸隐私。

·在本文中,我们提出了adversarial makeup transfer GAN(AMT-GAN),这是一种新的人脸保护方法,旨在构建对抗的人脸图像,同时保持更强的黑盒可转移性和更好的视觉质量。

AMT-GAN利用GAN用参考人脸的转移的妆容,合成对抗人脸图像。

·特别地,我们引入了一个新的正则化模块和一个联合训练策略来协调化妆转移中对抗性噪声和cycle consistence损失之间的冲突,实现了攻击强度和视觉变化之间的理想平衡

·实验证明,AMT-GAN不仅能保证视觉质量,对于商业检测器FR-API们的效果也更好。

1 Introduction

·近年来,基于DNN的人脸检测技术快速发展。然而,功能强大的人脸识别系统也对个人隐私构成了巨大的威胁。例如,已经有研究表明,FR系统可以通过大规模的照片分析来识别社交媒体档案和跟踪用户关系。这种对用户的过度监控迫切需要一种有效的方法来帮助个人保护他们的面部图像免受未经授权的FR系统的侵害。

·对恶意FR模型的训练数据集或gallery数据集进行数据中毒(data poisoning attack)攻击,是一种很有前途的保护面部隐私的解决方案,但它们要求对手将有毒的图像注入数据集。一旦目标模型已经被训练,或者识别clean数据集,它们可能变得无效。

·另一种方法是用对抗样本launch躲避攻击(evasion attack),保护面部图像受到非法的攻击。由于只用修改用户的数据而不用考虑目标模型的设置,对抗性的人脸图像更适合在现实场景中保护用户的隐私。

·然而,现有的生成人脸对抗样本的方法有如下限制:

①Accessibility to target model。②Poor visual quality③Weak transferability

·本文从新的角度解决了上述问题。与现有的工作试图对扰动施加各种限制,然后挖掘一个更好的基于梯度的算法来构造对抗性的例子不同,我们专注于组织扰动,虽然它们是可见的,但它们在自然并舒适的条件下保持了高攻击性。我们利用化妆作为key idea来安排扰动。我们提出了AMT-GAN。AMT-GAN首先利用一组生成的对抗网络来构建对抗样本,可以从参考图像中继承化妆风格。为了调和化妆传输中对抗性噪声和周期一致性损失之间的冲突,我们利用编码解码器结构和图像超分辨率中的解纠缠函数和残余密集块,加入了一个新设计的正则化模块。

·贡献:

①提出了AMT-GAN

②我们设计了一个基于特征解纠缠的正则化模块来提高对抗性图像的视觉质量,然后开发了一个联合训练管道来训练生成器、鉴别器和正则化模块,这样生成器就可以同时完成两个任务(即化妆传输和对抗性攻击),并在不同的数据流形之间建立鲁棒的映射。

③在广泛的数据集上实验证明我们的AMT-GAN的有效性,攻击各种商业化的FR api。

2 Related Work

我们首先讨论了在隐私保护的背景下现有的关于对抗攻击的工作,然后是最近关于风格迁移的研究。

·对FR的系统的攻击可以分为白盒和黑盒攻击。

白盒攻击和基于查询的黑盒攻击很大程度上依赖于对目标模型的可访问性。因此,基于可迁移性的黑盒攻击(Transferability-based)更适合保护真实世界中的人脸图像然而,现有的基于可迁移性性的攻击都是为了解决优化问题,不仅耗时,而且可能陷入过拟合,降低可转移性。除此以外,为了保持在不同黑盒模型上的攻击强度,基于可迁移性的黑盒攻击经常使用可感知的噪音生成图像。最近的工作试图通过添加一个新的惩罚函数来解决隐私保护场景的问题,但如图1所示,这些扰动仍然可以察觉利用GAN生成对抗样本可以改善图像噪声,但在对抗任务中保持GAN数据的稳定性仍然具有挑战性。通过从GAN中交换人脸图像的潜在特征来制作对抗样本,然而,它极大地改变了原始的人脸属性(比如从闭上的嘴到张开的嘴),这对社交媒体上的用户来说是不可取的。对FR系统[22,30,37,41]的基于补丁的对抗攻击也因为同样的原因而不兼容。

·风格迁移(style transfer)旨在分离和重组图像的内容和样式信息。在风格转移框架的基础上,提出了

化妆转移makeup transfer,在保持人脸识别结果不变的同时,将参考图像的化妆风格转移到源图像中。

风格迁移和化妆迁移都依赖于cycle consistency loss 来保持源图像的稳定性。

·最近,[46]首次尝试利用化妆转移,在白盒设置中生成敌对的人脸图像。然后,[41]尝试构建具有可转移性的对抗化妆人脸图像来实现黑盒攻击。然而,它不仅攻击成功率较低,而且不能保持图像视觉质量,添加到源图像的修改是异常的和明显的,特别是当参考图像和源图像之间的样式明显不同的时候。

·对抗性噪声可能导致循环一致性损失(cycle consistency loss)的功能紊乱,并在本文中进行了证实。

3 AMT-GAN

·旨在生成可以被认成指定目标的对抗样本。问题可被公式化为:

其中,D(·)代表距离函数,如交叉熵或者余弦相似度。Mk代表对于FR的DNN特征提取器。xA和z代表对抗样本和目标图像。对抗性的化妆转移需要训练一个函数

正在上传…重新上传取消,其中对抗性的图像与y具有相同的化妆风格,与x具有相同的视觉身份

·具体结构如下图所示:

生成器G和判别器DX

生成器G在保证视觉身份仍是原来的身份,但化妆的风格从原领域变成了参考域的前提下,为原图像生成对抗样本。

判别器Dx和Dy区分真图像和生成器生成的假图像。损失函数可以写成:

还使用了循环一致损失:

如图3b所示,当建立逆映射YA→X时,生成的对抗样本G(x,y)作为G的第一个输入。由于对干净域X的样本进行对抗修改,G可能无法提取G(x,y)的特征,因此无法将对抗域YA的对抗性输入回到干净域X。因此,恢复的G(G(x,y),x)可能与源图像x显著不同,即G(G(x,y),x)处于一个意想不到的域,而不是域x。简而言之,由于G的输出的对抗性质,G很难建立一个鲁棒的逆映射YA→X。这种现象使得现有的周期一致性损失不适合用化妆转移生成对抗性的人脸图像。

正则化模块H:为了确保循环一致性损失效果,我们在框架中引入了一个正则化模块H。H被设计用来生成干净的图像H(G(x,y)),其内容、风格和尺寸与G(x,y)相同,但没有对抗性。也就是说,H将生成的图像G(x,y)从对抗性的域YA转换为干净的域Y。G和H的组合保持了一个新的循环一致性,即循环X→YA,Ya→Y,然后是Y→XA,XA→X,如图3c所示。

G(x,y)与源图像x具有相同身份认证但化妆风格为y的对抗图像()

H(G(x,y))是跟G(x,y)相似视觉效果的,但没有对抗属性的图片。

在我们的设计中,正则化模块H遵循与主要网络G和d相同的训练过程。新设计的正则化循环一致性损失表述为:

此外,H应该在视觉上保持G的输出不变,同时减轻对抗效应。所以我们让H接受DX和DY返回的惩罚,这鼓励H重建了在风格转移中G的真实性能,并定义为:

注意在等式2中并不包含H项,是为了使GAN的两人游戏更stable,也是没必要加入H的损失项。

Transferability enhancement module M(转移增强模块M):M由K个预先训练好的人脸识别模型{Mk}k=1,...,K组成,该模型在公共人脸图像数据集上具有较高的精度。当我们训练GANs,并试图模拟我们无法访问的潜在目标模型的决策边界时,这些局部模型就像充当了白盒模型。

其中,Mk表示第k个局部预训练的白盒模型的特征提取器,使用余弦相似度作为距离函数。T(·)表示变换函数,p是是否将在在G(x,y)上进行变换的预定义概率。这两种方法都能降低对抗样本的攻击强度,而对抗性实例的修改在不同的黑盒模型之间具有微弱的可转移性。

此外,H的对抗性攻击损失被定义为:

Auxiliary Objectives(辅助目标):直方图匹配(直方图匹配即将某幅影像或某一区域的直方图匹配到另一幅影像上。使两幅影像的色调保持一致。),表示为HM(x,y),通常用于模拟参考y的颜色分布,同时保留x的内容信息。在这里,我们使用这个目标函数来确保嘴唇、眼影和面部区域的化妆相似性,以及h的重建能力。具体地说,化妆损失定义为:

此外,当参考图像是源图像本身时,期望生成器G和正则化模块H保留原始的内容和样式信息,这称为自重构。这一目标对于生成器G保持资源图像的结构信息和避免人脸属性的失真具有重要意义。自重构路径的定义为:

其中,LPIPS[42]函数度量两幅图像之间的感知相似性。

Total loss:

AMT-GAN 人脸对抗样本 CVPR2022相关推荐

  1. 论文盘点:GAN生成对抗样本的方法解析

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 引言 对抗样本的生成方式很多.一般情况下会分成三大类,第一种是基于梯度的生成方式 ...

  2. 基于GAN的恶意软件对抗样本生成(Python实现)

    资源下载地址:https://download.csdn.net/download/sheziqiong/85947946 资源下载地址:https://download.csdn.net/downl ...

  3. 苏涛:对抗样本技术在互联网安全领域的应用

    导读: 验证码作为网络安全的第一道屏障,其重要程度不言而喻.当前,卷积神经网络的高速发展使得许多验证码的安全性大大降低,一些新型验证码甚至选择牺牲可用性从而保证安全性.针对对抗样本技术的研究,给验证码 ...

  4. 使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解+注释版)02 人脸识别 下

    文章目录 1 测试鉴别器 2 建立生成器 3 测试生成器 4 训练生成器 5 使用生成器 6 内存查看 上一节,我们已经建立好了模型所必需的鉴别器类与Dataset类. 使用PyTorch构建GAN生 ...

  5. 使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解+注释版)02 人脸识别 上

    文章目录 1 数据集描述 2 GPU设置 3 设置Dataset类 4 设置辨别器类 5 辅助函数与辅助类 1 数据集描述 此项目使用的是著名的celebA(CelebFaces Attribute) ...

  6. GAN 系列的探索与pytorch实现 (数字对抗样本生成)

    GAN 系列的探索与pytorch实现 (数字对抗样本生成) 文章目录 GAN 系列的探索与pytorch实现 (数字对抗样本生成) GAN的简单介绍 生成对抗网络 GAN 的基本原理 大白话版本 非 ...

  7. 建议收藏!近期值得读的 9 篇「对抗样本」最新论文

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考.在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 本期我们筛选了 9 篇「对抗样本」领域的 ...

  8. [深度学习-原理]GAN(生成对抗网络)的简单介绍

    系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之DCGAN基于CIFAR10数据集的例子 深度学习GAN(三)之DCGAN基于手写体Mnist数据集的例子 深度学习GAN(四)之c ...

  9. 深度学习(九) GAN 生成对抗网络 理论部分

    GAN 生成对抗网络 理论部分 前言 一.Pixel RNN 1.图片的生成模型 2.Pixel RNN 3.Pixel CNN 二.VAE(Variational Autoencoder) 1.VA ...

最新文章

  1. leeds计算机科学理学硕士,利兹大学数学及计算机科学理学硕士研究生申请要求及申请材料要求清单...
  2. anroid 图片处理加载对比(image loader,Picasso ,glide,fresco)
  3. Python爬虫之Scrapy框架使用selenium
  4. wxWidgets:wxScopedPtr类用法
  5. 《进化——我们在互联网上奋斗的故事》一一1.1 靠谱工程师向管理者的转变...
  6. java单例模式的应用_java单例模式的简单应用例子
  7. SmartGit使用教程
  8. Angular2学习笔记——在子组件中拿到路由参数
  9. python json库安装_jsonc库的安装以及简单使用
  10. 开始VC6学习之旅2
  11. word中打开vba编辑器方式
  12. Leetcode之整数转罗马数字
  13. 微信公众号申请开通微信支付
  14. 健身环1536级小结:相当适合码农的锻炼方式
  15. python+大数据学习打卡day1
  16. 【BI学习心得10-时间序列实战】
  17. 三个基本的布尔逻辑算符是_什么是布尔逻辑运算符?布尔逻辑运算符一共有哪几种?...
  18. 【金猿技术展】基于数据控制三维组态的方法及装置——实现数据驱动三维模型的精准运转技术...
  19. SkeyeVSS+SkeyeARS水库水情监测系统保障水库安全度汛解决方案
  20. supper 关键字

热门文章

  1. Pygame飞机大战一个简单的双人模式测试
  2. win10默认浏览器总是自动重置为edge浏览器怎么办?
  3. CentOS之——tar.xz结尾的文件的解压方法
  4. html下拉列表“省市关联列表”js和jq两种方法实现
  5. java 脚本启动 linux,linux可运行的shell脚本与设置开机服务启动(自己总结)
  6. pyspark.sql.functions详解
  7. aspnet是前端还是后端_WEB前端后端简单区别,通俗理解
  8. 微日志:交互体验中的情境感代入
  9. golang 示例测试example_用gomock进行mock测试的方法示例
  10. CMake参考手册(草稿)