摘要
1、简介
1.1、我们的贡献
2、背景
2.1、对抗攻击
2.2、Faster R-CNN
3、攻击模型
4、攻击模型
4.1、攻击一个图像分类器
4.2、扩展到攻击Faster R-CNN
5、评估
5.1、数字干扰停止标志
5.2、物理攻击
6、讨论和将来的工作
7、结论
鉴于直接操作数字输入空间中的图像像素的能力,对手可以很容易地产生难以察觉的扰动来欺骗深度神经网络(DNN)的图像分类器,正如前面的工作所证明的那样。在这项工作中,我们提出了ShapeShifter,这是一种解决更具挑战性的问题的攻击,即利用物理上的对抗扰动来愚弄基于图像的目标检测器,如Faster 的R-CNN。攻击目标检测器比攻击图像分类器更困难,因为需要在多个不同尺度的边界框中误导分类结果。将数字攻击扩展到物理世界又增加了一层困难,因为它需要足够强大的扰动来克服由于不同的观看距离和角度、光照条件和相机限制而造成的真实世界的扭曲。结果表明,原提出的增强图像分类中对抗性扰动鲁棒性的期望变换技术可以成功地应用于目标检测设置。变形机可以产生相反的干扰停止信号,这些信号经常被Faster R-CNN作为其他物体错误地检测到,对自动驾驶汽车和其他安全关键的计算机视觉系统构成潜在威胁。
对抗性的例子是故意设计来欺骗机器学习模型来产生一个选择的预测的输入实例。深度神经网络(DNN)在计算机视觉领域的成功并不能使其免于这种威胁。通过添加难以察觉的对抗扰动,可以将最先进的DNN图像分类器的准确率降低到接近零的水平。反例的存在不仅揭示了DNN有趣的理论性质,而且对其在安全关键系统中的应用提出了严重的现实问题。自动驾驶汽车是一个例子应用程序,在保证对对抗攻击的鲁棒性之前,不能完全信任它。了解DNNs漏洞的迫切需要引起了机器学习、计算机视觉和安全研究人员的极大兴趣。
虽然提出了许多对抗攻击算法,但攻击真实世界的计算机视觉系统是困难的。首先,现有的攻击算法大多只专注于图像分类任务,而在许多实际应用中,一个图像中会有多个目标。目标检测是一种对图像中多个目标进行识别和定位的模型,适用于多种基于视觉的场景。攻击目标检测器比攻击图像分类器更困难,因为需要在多个不同尺度的边界框中误导分类结果。
更大的困难是DNN通常只是整个计算机视觉系统的一个组成部分。对于许多应用,攻击者通常没有能力直接操作管道内的数据。相反,他们只能操作系统之外的东西,即。物理环境中的物质。图1说明了物理对抗攻击背后的直觉。为了获得成功的攻击,物理对抗攻击必须足够强大,能够在由于不同的观看距离和角度、光照条件和摄像机限制而造成的现实世界扭曲中生存下来。
已有的工作既可以攻击目标检测器的数字,也可以攻击物理上的图像分类器。然而,到目前为止,物理攻击目标探测器的现有尝试仍然不能令人满意。在[13]中显示了一个不能被Faster R-CNN目标检测器检测到的扰动停止标志。然而,摄动非常大,他们测试了它与糟糕的纹理对比度的背景,使受扰的停止标志很难看到,即使是人类。最近的一个短笔记[7]声称能够产生一些对抗性的贴纸,当附加到一个停止标志时,可以欺骗YOLO目标探测器[17],也可以转移到欺骗Faster R-CNN。然而,他们没有透露用于创建贴纸的算法,只展示了一段短距离室内实验的视频。对于其他计算机视觉领域的威胁模型,我们建议读者参考[1]的调查。在这项工作中,我们提出了ShapeShifter,第一个强大的有针对性的攻击,可以欺骗一个最先进的更快的R-CNN目标探测器。为了使攻击具有鲁棒性,我们采用了期望变换技术[3,4],并将其从图像分类任务转化为目标检测设置。作为一个案例研究,我们生成了一些反向干扰的停止信号,这些信号可以被更快的R-CNN作为实际驱动测试中的目标对象持续错误地检测到。我们的贡献概述如下。
-据我们所知,我们的工作是针对Faster R-CNN的第一次可重复和强大的目标攻击。最近的尝试要么只能进行非目标攻击,要么需要“极端模式”的扰动(用研究人员的话说)来持续地工作于,要么没有揭示方法的细节。我们在GitHub4上开源了我们的代码。
-我们证明了最初提出的图像分类的期望变换技术可以应用于目标检测任务,并显著增强了结果扰动的鲁棒性。
-通过仔细研究Faster R-CNN对象检测算法,我们克服了模型的不可微性,成功地利用梯度下降和反向传播进行了基于优化的攻击。
-我们产生的干扰停止标志,可以持续愚弄Faster R-CNN在真正的驱动测试(视频可在GitHub存储库),呼吁迫切需要改善和加强基于视觉的目标探测器。
本节提供了对抗攻击的背景信息,并简要介绍了我们在这项工作中试图攻击的Faster R-CNN目标检测器。
给定一个机器学习模型C和一个良性实例x \in X ,用C正确分类。非针对性的对抗性攻击的目标是找到另一个实例x^{\prime} \in \chi ,例如C\left(x^{\prime}\right) \neq C(x) 和C\left(x^{\prime}\right) \neq C(x) ,对一些实例度量d(., .) 和扰动预算\epsilon>0 。对目标攻击,我们进一步需要C\left(x^{\prime}\right)=y^{\prime},其中y^{\prime} \neq C(x) 是目标类。通常距离度量d(., .) 在计算机视觉中是l_2 距离d\left(x, x^{\prime}\right)=\left\|x-x^{\prime}\right\|_{2}^{2}和l_{\infty} 距离 d\left(x, x^{\prime}\right)=\left\|x-x^{\prime}\right\|_{\infty} 。
[23]的工作是第一个发现DNNs对抗性例子的存在。随后的几项工作改进了计算成本,使微扰变得人类难以察觉[8,15]。大多数针对DNN的对抗攻击算法都假设模型是可微的,并利用模型的梯度信息对输入实例进行微调,以获得期望的模型输出[5]。Sharif等人首先演示了一种物理上可实现的攻击,通过戴一副反向制作的眼镜来愚弄面部识别模型。
Faster R-CNN是最先进的一般目标探测器之一。采用两级检测策略。在第一种状态中,区域建议网络用于生成几个称为区域建议的与类无关的边界框,这些区域建议可能包含目标。在第二阶段,使用分类器和回归器分别输出每个区域建议的分类结果和细化的边界盒坐标。在这两个阶段中,通过共享卷积层,大大降低了计算成本。Faster R-CNN更难攻击,因为一个目标可以被多个不同大小和长宽比的区域提案覆盖,需要对所有区域建议的分类结果进行误导,才能骗过检测。
现有的生成对抗性示例的方法通常会产生难以察觉的干扰,从而愚弄给定的机器学习模型。我们在[19]之后所做的工作产生了一些可以察觉到的扰动,但这些扰动是有限的,因此人类不会轻易被这些扰动所愚弄。我们在目标检测上下文中研究这种扰动(例如,停止标志)。我们选择这个用例是因为目标检测器可能用于安全相关和安全相关的设置(例如,自动车辆)。例如,对交通标志识别系统的攻击可能会导致汽车错过停车标志或行驶速度超过法律允许的速度。
我们假设对手拥有机器学习模型的白盒级访问权限。这意味着敌手可以访问模型结构和权值,以达到敌手可以同时计算输出的程度(前向传播)和梯度(后项传播)。这也意味着对手不必实时构造扰动。相反,对手可以研究该模型并使用Carlini-Wagner攻击等方法为该模型进行攻击。这种类型的对手与定义为无法访问模型架构或权重的黑箱对手是不同的。虽然我们对对手的选择是最强大的,但现有的研究表明,在没有白盒级访问的情况下,构建难以察觉的扰动是可能的。然而,我们的方法是否能够在只有黑盒访问的情况下产生可感知的扰动仍然是一个开放的问题。Liu等人的结果表明迭代攻击(像我们的)不像非迭代攻击那样容易转移。
与之前的工作不同,我们限制了对手,这样他们就不能操纵从相机收集的像素的数字值,每个用例都使用这些像素来感知世界。这是与现有的难以察觉的扰动方法的一个重要区别。因为这些方法会产生难以察觉的干扰,所以在实际实现时,这些干扰很可能不会欺骗我们的用例。也就是说,当打印并在我们的用例中呈现给系统时,这些扰动必须在打印过程和传感管道中都存在,以便欺骗系统。这并不是一个不可克服的任务,如Kurakin等人。[10]已经为图像分类系统构建了这种难以察觉但物理上可实现的对抗扰动。最后,我们还通过限制对手可能产生的扰动的形状来限制对手。对于我们的用例来说,这是一个重要的区别,因为我们可以很容易地创建一个在现实世界中不存在的奇怪的“停止标志”。我们也不给对手修改像Kurakin等人[10]图像中所有像素的空间,而是将它们限制在我们认为不显眼和物理上真实的某些像素上。
我们的攻击方法ShapeShifter的灵感来自于中描述的迭代的、变量变化的攻击以及对转换技术的期望。这两种方法最初都是为了图像分类而提出的。我们在图像分类设置中描述了这两种方法,然后展示如何扩展它们来攻击Faster R-CNN目标检测器。
使F:[-1,1]^{h \times w \times 3} \rightarrow R^{K} 是一个图像分类器,以高h、宽w的图像为输入,输出K个类的概率分布。攻击者的目标是创建一个图像x' ,它看起来像一个类y的目标x,但将被归类为另一个目标类y'。
变量的攻击:表示L_{F}(x, y)=L(F(x), y) 作为计算模型输出F(x)与目标标签y之间距离的损失函数,给定原始输入图像x和目标类y,变量变换攻击[5]提出如下优化公式。
\underset{x^{\prime} \in \mathbb{R}^{h \times w \times 3}}{\arg \min } L_{F}\left(\tanh \left(x^{\prime}\right), y^{\prime}\right)+c \cdot\left\|\tanh \left(x^{\prime}\right)-x\right\|_{2}^{2}
使用tanh可以确保每个像素在[−1,1]之间。常数c控制修改后的目标x与原始图像x之间的相似度。在实践中,c可以通过二叉搜索来确定。
变换上的期望:
对转换的期望的思想很简单:在优化的每个迭代中添加随机扭曲,使得到的扰动更健壮。给定一个可以平移、旋转和缩放的变换t,M_{t}\left(x_{b}, x_{o}\right) 是一个使用t转换目标图像x_o 然后将其覆盖到背景图像x_b 上的操作。
M_{t}\left(x_{b}, x_{o}\right)也可以包括掩膜操作,只保留x_o 的特定区域。当我们想要限制扰动的形状时,这是很有帮助的。在加入随机畸变后,式(1)变为
\underset{x^{\prime} \in \mathbb{R}^{h \times w \times 3}}{\arg \min } \mathbb{E}_{x \sim X, t \sim T}\left[L_{F}\left(M_{t}\left(x, \tanh \left(x^{\prime}\right)\right), y^{\prime}\right)\right]+c \cdot\left\|\tanh \left(x^{\prime}\right)-x_{o}\right\|_{2}^{2}
其中x为背景图像训练集。当模型F可微时,可通过梯度下降法和反向传播法求解。期望可以用经验平均值来近似。
一个目标检测器F:[-1,1]^{h \times w \times 3} \rightarrow\left(R^{N \times K}, R^{N \times 4}\right) 采用一个图像作为输入,并且输出N个检测目标。每个检测包含一个预先定义K类的分布和检测到的目标位置,用4个坐标表示。请注意,根据输入图像,对象检测器可以输出更多或更少的检测目标,但是为了简单起见,我们选择按置信度排序的前n个检测目标。
如第2.2节所述,Faster R-CNN采用两阶段方法。第一阶段的区域建议网络输出多个区域建议,第二阶段的分类器对每个区域建议进行分类。
\operatorname{rpn}(x)=\left\{r_{1}, \ldots, r_{m}\right\} ,其中ri是区域建议代表它的四个坐标,并且使x_r 是区域r覆盖的子图像。用L_{F_{i}}(x, y)=L\left(F\left(x_{r_{i}}\right), y\right) 是第i个区域建议的分类损失。通过以下优化,同时攻击所有的分类在每个区域的建议。
\underset{x^{\prime} \in \mathbb{R}^{h \times w \times 3}}{\arg \min } \mathbb{E}_{x \sim X, t \sim T}\left[\frac{1}{m} \sum_{r_{i} \in r p n\left(M_{t}\left(x^{\prime}\right)\right)} L_{F_{i}}\left(M_{t}\left(x^{\prime}\right), y^{\prime}\right)\right]+c \cdot\left\|\tanh \left(x^{\prime}\right)-x_{o}\right\|_{2}^{2},
为了简单,我们滥用符号M_{t}\left(x^{\prime}\right)=M_{t}\left(x, \tanh \left(x^{\prime}\right)\right) 。然而,对于计算问题,大多数模型通过使用启发式(如非最大抑制)来修剪区域建议。剪枝操作通常是不可微的,因此很难对式(3)进行端到端的优化。因此,我们通过先运行区域建议网络的前向遍历来近似地解决这个优化问题,并在每次迭代中将修剪后的区域建议作为固定常数固定在第二阶段分类问题上。我们凭经验发现这个近似足以找到一个好的解。
我们通过使用Inceptionv2卷积特征提取组件欺骗一个预先训练好的Faster R-CNN模型来评估我们的方法。该模型在Microsoft Common Objects in Context (MS-COCO)数据集上进行训练,并在Tensorflow目标检测AP模型动物园储存库5中公开可用。MS-COCO数据集包含80个一般目标类,从人和动物到卡车和汽车和其他常见对象。尽管我们的方法可能被用于攻击任何类,但我们选择专注于攻击stop sign类,因为它对自动驾驶汽车很重要,而且与自动驾驶汽车相关,其中基于视觉的目标检测器可能被用来帮助做出决策。选择停车标志的另一个好处是它的平面形状,可以很容易地打印在纸上。其他的类,比如狗,当被印在纸上时,不太可能被人类视为真实的物体。虽然3D打印对抗实例用于图像识别是可能的,我们留下3D打印对抗实例反对目标探测器作为未来的工作。
我们通过执行方程(3)中描述的优化过程来生成具有对抗性的停止标志。超参数C是确定微扰强度的关键。更小的C值将导致更明显的扰动,但是当我们稍后进行物理攻击时,这种扰动对现实世界的扭曲也会更健壮。然而,当单纯地使用l2距离作为正则化时,很难选择合适的C。为了获得足够强大的扰动,需要使用非常小的C,其结果是创建了人类难以识别的停止信号。l2距离不是人类感知的完美度量,人类感知往往对浅色物体的颜色变化更敏感。根据这个观察,我们只允许扰动改变停止标志的红色部分,而保留白色文本不变。这使我们能够产生更大、更健壮的扰动,同时在字母和红色部分之间提供足够的对比,这样人类就可以很容易地识别出扰动是一个停止信号。在[13]中生成的对抗性停止标志没有考虑到这一点,并且在视觉上更加明显。自动化其他目标的这个过程,我们留下作为未来的工作。
我们进行了两次有针对性的攻击和一次无针对性的攻击。我们选择person和sports ball作为两个目标类,因为它们在大小和形状上都比较相似,可以停止标志。我们的方法允许攻击者使用任何目标类,但是扰动需要达到其目的并欺骗目标检测器。对于某些目标类,这可能意味着创建偏差如此之大的扰动,以至于它们可能与受害类完全不同。我们还注意到,一些类在小尺度下更容易被检测到,比如kite,而另一些类(比如truck)在目标太小时就无法被检测到。这可能是经过目标检测器训练的MS-COCO数据集的一个工件。然而,最终攻击者可以在目标类中进行选择,并且在足够的时间内,可以根据目标类的方式找到最适合欺骗目标检测器的目标类。对于每一次攻击,我们都会产生一个高可信扰动和一个低可信扰动。用较小的c值产生了较高的置信度扰动,使其更加明显,同时也更加稳健。根据目标类,可能很难产生有效的扰动。我们为每个目标类手动选择c,使数字攻击在保持扰动不太明显的情况下,获得较高的成功率,即在美国,我们尽量保持红色。我们用c = 0.002表示高置信度扰动,用c = 0.005表示低置信度扰动,分别表示“运动球”定向攻击和非定向攻击。我们分别用c = 0.005和c = 0.01来表示“人”目标攻击中的高可信度扰动和低可信度扰动。我们创建的6个扰动如图2所示。
我们通过打印出图2中所示的受扰的停止标志来对目标检测器进行物理攻击。然后,我们在一个可控的室内环境中,从不同的距离和角度拍摄照片。我们还通过从一辆从远处接近标志的移动车辆上录制视频来进行汽车驾驶测试。根据当时的天气情况,闪电的情况也有所不同。
设备:我们使用佳能Pixma Pro-100照片打印机打印出高置信度扰动的标识,使用惠普DesignJet打印出低置信度扰动的标识。对于静态图像,我们使用了佳能EOS Rebel T7i单反相机,配备了EF-S 18-55mm IS STM镜头。我们的汽车驾驶测试中的视频是用安装在汽车挡风玻璃上的iPhone 8 Plus拍摄的。
室内的实验:在[6]的实验设置之后,我们在不同的距离(5 '到40 ')和角度(0◦,15◦,30◦,45◦,60◦,从标志的切线拍摄打印的敌对停止标志的照片。该设置如图3所示,其中摄像机位置由红点表示。照相机总是对准那个标志。我们打算用这些距离-角度组合来模拟车辆从[13]的距离接近标志时的视角。表1和表2分别总结了我们的高置信度扰动和低置信度扰动的结果。对于每个距离-角度组合,我们显示被检测类和检测的置信度。如果检测到多个边界框,我们将报告得分最高的一个。低于30%的置信值被认为未被检测到;我们决定使用30%的阈值,而不是Tensorflow目标检测API中默认的50%,来对我们自己(“攻击者”)施加更严格的要求。因为一个目标可以同时被检测为停止信号和目标类,所以我们认为只有当目标类的置信度在所有被检测的类中最高时,我们的攻击才算成功。
表1显示,我们的高置信度扰动在各种距离和角度下都能获得很高的攻击成功率。例如,我们实现了目标成功率87%,误导目标探测器探测停车标志作为一个人,以及更高的诸多成功率93%当我们攻击的目标是使检测器未能检测到停车标志(如15 ' 0◦)或检测它的类不是一个停车标志。运动球目标攻击的目标成功率较低,但达到了相同的非目标成功率。我们的非目标攻击总是在中距离将检测错误地引入时钟类,但在较长的距离中则不那么健壮。总的来说,干扰是不太强大的非常高的视角(60◦从标志的切线),因为我们没有模拟的视角失真的优化。正如预期的那样,低置信度扰动(表2)实现了低得多的攻击成功率,这表明在进行更具挑战性的驱动测试时需要使用高置信度扰动(在下一节中进行描述)。表3显示了一些来自我们室内实验的高可信扰动样本。
测试的驾驶:我们在停车场进行了试车,以免用停车标志干扰其他车辆。我们把一个购买的真正的停止标志作为一个控制和我们的印刷干扰并排停止标志。从200英尺开外开始,我们慢慢地开着车(从5英里每小时到15英里每小时),同时用iPhone 8 Plus从仪表盘上录制视频,分辨率为4K,每秒24帧。我们提取了所有的视频帧,对于每一帧,我们从Faster R-CNN目标检测模型中得到检测结果。因为我们的低信心攻击在室内表现出相对较小的健壮性,所以我们只包括我们的高信心攻击的结果。与我们的室内实验类似,我们只考虑可信度得分至少为30%的检测。在图4中,我们展示了视频帧示例(矩形图像),以便读者了解符号相对于整个视频帧的大小;我们还显示放大的视图(正方形图像),更清楚地显示Faster R-CNN检测结果。图4a中的人-微扰总计为405帧,部分如图所示。在每一帧视频中都能准确地检测到真实的停止信号,具有很高的可信度。另一方面,受干扰的停车标志只被正确检测到一次,而190个框架将受干扰的停车标志识别为中等自信的人。在214帧的其余帧中,目标探测器未能探测到扰动停止标志周围的任何东西。
图4b所示的运动球扰动的视频有445帧。真正的停车标志始终被正确识别,而被干扰的停车标志从未被检测为停车标志。当车辆(摄像机)靠近被扰动的停止标志时,160帧被检测到是一个中等可信度的运动球。其中一帧被检测为apple和sports ball,其余284帧未检测到扰动停止标志周围。最后,非目标扰动的视频(图4c)共计367帧。未受干扰的停止信号始终被正确检测到,而受干扰的停止信号被检测到bird 6次,其余361帧从未被检测到。
探索黑盒可转移性:我们还试图了解我们的高置信度扰动在多大程度上能够愚弄其他目标检测模型。对于图像识别,我们知道高置信度的目标攻击无法传输。为此,我们将我们的高可信扰动输入到来自zoo7的其他8个MS-COCO训练的模型中。表4显示了我们的扰动是如何从Faster R-CNN接收v2传输到其他模型的。为了更好地理解可转让性,我们检查了最坏的情况。也就是说,如果一个模型成功地检测到图像中的一个停止标志,我们就说扰动未能传递或攻击该模型。我们报告了在我们的室内实验中的15幅角距图像中,模型成功检测到至少有30%置信度的停车标志的图像的数量。我们还报告了所有检测到的停止信号的最大置信度。表4显示了生成的扰动缺乏可转移性。非目标摄动在大多数情况下不能传递,其次是运动球摄动,最后是人摄动。最易迁移的模型是速度更快的R-CNN Inception-ResNet-V2模型,其次是SSD MobileNet-V2模型。对图像识别的迭代攻击通常也不能传输,所以我们的攻击也不能传输就不足为奇了。我们把对可转让性的深入探索留给了以后的工作。
在物理世界中有许多变化是真实系统必须处理的。图5显示了一组来自MS-COCO dataset8的非标准停止标志示例。这些例子展示了不同语言的停车标志,或者上面有涂鸦或贴纸,或者被元素遮挡。在每一种情况下,人们都不太可能把这个标志误解为除了停止标志以外的任何东西。它们都具有典型的八角形,并且以红色为主。然而,物体探测器看到的是别的东西。与以往的图像识别的反例研究不同,我们的反例干扰是公开的。它们与图5中的示例一样,与标准的停止标志有很大的偏差。一个人可能会注意到这些巨大的偏差,一个训练有素的人甚至可能会猜测它们是用来对抗的。但他们可能不会被我们的干扰所愚弄。然而,我们的结果表明,使用现成的目标检测器的自动化系统会被愚弄。图2e所示的数字扰动看起来确实像是在右上角画了一个棒球或网球。图4b显示了目标检测器如何将图像的这一部分检测为一个高置信度的运动球。这可能看起来不公平,但是当这些模型部署在自动化系统中时,攻击者有很大的自由。即使在非自动化系统中,人们可能也不会想到图2d,因为它没有任何可识别的类人特征。攻击者也可以在不限制形状和颜色的情况下产生扰动,并将它们附加到某些任意对象上,比如街灯或垃圾桶。未经训练的眼睛可能会将这些扰动视为某种艺术品,但自主系统可能会看到完全不同的东西。正如[20]中所描述的,这种攻击可以使用我们的方法扩展到对象检测器。事实证明,要对抗这些对立的例子是很困难的。许多防御沦为所谓的“梯度掩蔽”或“梯度模糊”问题[2]的牺牲品。最有希望的防御方法是对抗性训练,它还需要扩展到在ImageNet数据集上具有良好性能的模型。对抗性训练是否能减轻我们明显的、大偏差(例如,大l_p 距离)扰动的风格也不清楚。
我们展示了最先进的Fast R-CNN目标探测器,虽然之前被认为对物理对抗攻击更健壮,但实际上可以被高度自信地攻击。我们的工作证明了MS-COCO-learned目标探测器的脆弱性,并假设安全和安全关键系统需要考虑目标检测系统的敌对输入的潜在威胁。许多现实世界的系统可能不像我们的工作中那样使用现成的预先训练好的目标探测器。为什么一个有安全隐患的系统会关心检测运动球呢?很可能不会。尽管我们的攻击风格是否可以应用于利用对象探测器的安全或安全关键系统还有待证明,但是我们的攻击提供了测试这类新漏洞的方法。