ADVHAT: REAL-WORLD ADVERSARIAL ATTACK ON ARCFACE FACE ID SYSTEM 笔记

2024-03-05 01:32

本文主要是介绍ADVHAT: REAL-WORLD ADVERSARIAL ATTACK ON ARCFACE FACE ID SYSTEM 笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Abstract

论文提出了一种新的、简单的、可以复制的方法,可以在不同的拍摄条件下攻击最佳的公开Face ID系统ArcFace。
本文通过在在帽子上粘贴对抗 sticker 的方法来产生攻击。

Introduction

近些年对深度神经网络的对抗攻击正逐渐被重视,其中一个原因是对抗攻击已经可以在现实世界中被部署。之前提出了对普遍Face ID 模型的攻击方法,但该方法一个缺点是你需要用纸裁剪出复杂的形状,另一个缺点是拍摄条件是固定的。
AdvHat的优点如下:

  • 通过在帽子上粘贴 sticker 进行攻击现实攻击
  • 很容易复制这种攻击,只需要打印一张彩色长方形纸。
  • 一种攻击可以在不同的拍摄条件下起作用。
  • 我们提出了一种不干胶投影的新技术使图像在攻击过程中变得真实。
  • 该攻击可以转移到其他面部识别模型。

Background and related works

Adversial attacks

对抗攻击的基本观点:稍微更改输入,使得神经网络分类错误。
先前工作将任务总结如下:
在这里插入图片描述

其中,cgt是正确分类,ct是目标实现的错误分类,r是对x的微小扰动。
若只是使分类出错,那么该攻击是 untargeted 的,若想让分类识别为特定分类,则攻击是 targeted 的。
之前提出的方法有:quasi-newton L-BFGS-B method , Fast Gradient-Sign Method(FGSM) 。
值得一提的是,在使用投影梯度下降(PGD)时,搭建对抗样例时,在迭代程序中使用动量是一种好的方法来提高对抗攻击的鲁棒性。
本文讨论的是白盒输入感知对抗攻击。

Attacks in physical world

Kurakin 等人发现将对抗样本印在纸上,然后用照相手机拍摄,仍然可以成功的造成攻击。这证明了在现实领域的研究潜力。
事实证明,构造现实世界对抗性示例的最成功范例是期望转换(EOT)算法。这种方法考虑到在现实世界中,对象通常会经历一系列转换(缩放,抖动,亮度和对比度变化等)。 任务是找到一个对抗示例,该示例在这组转换T下是可靠的。
Adversarial Patch,在这项工作中,作者使用EOT进行了一系列转换,包括旋转和平移,以构造ImageNet [28]分类器的通用补丁。值得注意的是,作者使用的是L0而不是大于1的范式。
另一个论文基于 L0-limited 的使用通过对抗眼镜来进行攻击。该论文提出一个方法,基于Total Variation loss(TV) 和 non-printability score(NPS)将对抗干扰画在眼镜框架上。TV loss旨在使图像更平滑。 因此,对于设备上的不同图像插值方法而言,攻击变得更稳定,并且对人来说更不显眼。 NPS旨在处理数字RGB值的差异以及实际打印机复制这些值的能力。
总体来说,以前的工作大多数用到了 L0-limited perturbation、EOT、TV loss、NPS。
另一种有趣的方法使用嵌套对抗示例的概念,其中针对近距离和远距离生成了单独的不重叠的对抗扰动。 此攻击是为更快的R-CNN和YOLOv3设计的。

Proposed method

本文的目标是生成一个可以挂在帽子上的矩形图片,它可以诱导 Face ID 系统减少与正确分类的相似度,使之低于判定阈值。
为达成目标,我们使用一个攻击管道:

  1. 我们对矩形图像应用了一种新颖的非平面变换,该变换模仿了将矩形图像放在帽子上之后的形式。
  2. 我们将获得的图像投影到高质量的人脸图像上,并且投影参数的扰动较小,以使我们的攻击更加鲁棒。
  3. 我们将获得的图像转换为ArcFace输入的标准模板。
  4. 我们减少了两个参数的总和:初始矩形图像的TV loss以及所获得图像的嵌入与ArcFace计算的锚点嵌入之间的余弦相似度。

Off-Plain Sticker Transformation

我们将变形过程拆分为两步:贴纸的平面外弯曲和贴纸的俯仰旋转。
我们将平面外弯曲模拟为3d空间中的抛物线变换,改变换将初始坐标为(x,y,0)的点映射到(x‘,y,z’)的新点。新的点位于方程 z = a * x2的抛物柱面上。所有轴的原点位于贴纸的中间。 经过此转换后,贴纸每个点的新z‘(平面外)坐标等于a·x’2。并且:

在这里插入图片描述

这个公式确保了贴纸的几何长度不会改变。
为模仿贴纸的俯仰旋转,我们应用一个3d的仿射变换来获得坐标。
由于无法评估这些参数的确切值,因此在攻击过程中我们会稍微改变抛物线速度和旋转角度,以使攻击更加可靠。

Sticker Projection

我们使用空间变换层(STL)将获得的 sticker 投影到面部图像上。在攻击中,我们轻微的改动投影的参数。
将 sticker 投影到高质量的面部图像上是非常关键的。在人脸识别系统中应用并创建人脸标准模板的图像插值方法使用相邻像素的值,这就是为什么如果我们将贴纸投影到小脸(馈入到ArcFace输入)上,那么贴纸边界上的RGB值与实际情况下的RGB值不同,因为它们也使用脸部像素的值。

Final Transformation

我们使用STL将带有标签的图像转换为ArcFace的标准模板。 与之前相同,在攻击过程中我们稍微更改了转换参数。

Loss Function

我们将通过许多参数变化获得的一批图像送入ArcFace的输入。第一个要最小化的 loss 是得到图像的嵌入 ex 和这个人的一些锚点的嵌入 ea之间的余弦相似度。

在这里插入图片描述

考虑到之前提及的原因,我们还要最小化 TV loss。

在这里插入图片描述

最后的 loss 函数是前两个 loss 的权重和。

在这里插入图片描述

我们没有使用NPS loss 是因为它在我们的实验中没有起到作用。

Experiments and results

我们使用了一个 400 * 900 的图片作为sticker图片,然后将这个sticker投影到600 * 600 的人脸图片上,然后将其缩放到 112 * 112。

Attack Method

如前所述,我们在将图像输入到ArcFace之前对其进行了随机修改。 我们构造了一批生成的图像,并使用整个管道在初始标签上计算平均梯度。 由于每个变换都是可微的,因此我们可以直接评估梯度。
可以注意到这批图片上的stickers在一次迭代中都是一样的,只有变换的参数是不一样的。
我们使用有动量、迭代的FGSM与有效的启发式算法进行试验。
我们将攻击分为两个阶段。第一阶段,我们使用 5/255 的步长和 0.9 的动量。在第二阶段中,我们使用 1/255 的步长和0.995的动量。TV loss的权重一直为 1e - 4 。
我们使用一张带有 Sticker 的固定图像作为验证,在该验证中,我们将所有参数设置为最真实的外观值。
我们使用最小二乘法通过线性函数对最后100个验证值进行插值:第一阶段进行100次迭代之后,第二阶段进行200次迭代之后。 如果该线性函数的角系数不小于零,则:1)在第一阶段,我们进入攻击的第二阶段; 2)在第二阶段,我们停止攻击。

Sticker Localization

为了找出最适合粘贴位置的位置,我们对粘贴位置进行了两个实验。 首先,我们使用贴在eyez线上方不同高度的标签攻击数字域中的图像。 事实证明,较低的放置会导致更好的验证值。 此外,我们在每次迭代后相对于空间变换器层参数上的梯度值更改标签的放置。 我们限制了使贴纸高于眼睛的位置。 在我们的实验中,贴纸总是向下移到眼睛。
鉴于以上所述,我们在攻击过程中将帽子和贴纸放在尽可能低的位置,以取得最佳效果。 因此,我们在实验中戴上了帽子。
图4中显示了一些典型的对抗性贴纸示例。该模型看起来像在贴纸上画了一个抬起的眉毛。 根据文章[45],眉毛是人类面部识别的最重要特征。 因此,我们认为贴纸上会出现某种眉毛。 该模型绘制了脸部最重要的特征,并且抬起了眉毛,因为这是使眉毛比平常高的唯一原因。

Testing Protocol

首先,我们评估固定条件下攻击的成功率和特征。 在此实验中,我们仅使用光线均匀的全脸照片。 下一步,我们研究针对面部旋转和光照条件不同角度的攻击的鲁棒性。 最后,我们探讨了预备攻击对其他移动设备的可转移性。
我们将CASIA-WebFace数据集中的前1000个类别用作识别器的其他类别。 由于攻击成功与否取决于Face ID系统中使用的阈值,因此我们不会介绍成功躲避攻击的百分比。 它可能会根据人脸识别的目的而有很大差异。 除了成功率,我们探索以下数值。

  • 真实标注的嵌入与戴帽子的样本嵌入之间的余弦相似度,这是基本相似度。
  • 真实标注的嵌入与对抗样本嵌入之间的余弦相似度,这是最终相似度。
  • 比较基本相似度与最终相似度之间的不同。
  • CASIA中的1000个分类的 top-1 相似度。

Experiments with fixed conditions

Experiments with various conditions

在这里插入图片描述

在这里插入图片描述

Experiments with transferability

最后,我们检查了针对其他Face ID模型的攻击的鲁棒性。 这些模型取自InsightFace Model Zoo。 这些网络具有不同的架构,与LResNet100E-IR ArcFace @ ms1m-refine-v2相比,它们使用了不同的损失函数和数据集进行训练。
我们使用第一个实验中的照片来评估相似性:一张全脸照片,一副戴着帽子的照片,一副在帽子上贴有对抗性标签的照片。 我们计算10个人的基线和最终相似度。 每个模型的基线相似度和最终相似度之间的差异如图8所示。
我们观察到,现实世界中的攻击行为就像数字领域中的常规对抗性攻击一样。 尽管攻击强度降低,但仍使人难以识别。

Conclusion and future work

我们提出了一种攻击人脸ID系统的新方法,称为AdvHat。 我们的方法可以轻松重现,并且可以在不同的拍摄条件下有效地攻击最佳的公开人脸ID模型。 实验结果证明了我们对最新的Face ID系统ArcFace攻击的鲁棒性。 将来,我们希望将我们的模型应用于最先进的面部检测器。

这篇关于ADVHAT: REAL-WORLD ADVERSARIAL ATTACK ON ARCFACE FACE ID SYSTEM 笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus