计算机视觉模型虽然功能强大,但它们在高维输入(像素)上运行,这使得它们特别容易受到对抗性扰动的影响。即使是对图像进行微小、精心构造的改变,通常人眼难以察觉,也可能导致卷积神经网络(CNN)等精密模型错误分类物体、未能检测到它们,甚至为图像区域分配不正确的标签。对抗性攻击在计算机视觉模型上表现出来,并适应于核心计算机视觉任务。在之前讨论的基础攻击方法(第2章)的基础上,例如投影梯度下降(PGD)攻击和Carlini & Wagner(C&W)攻击,我们现在将重点放在它们在视觉任务中的应用和改进。图像中的扰动限制攻击视觉模型的一个核心要点是保持感知相似性。如果生成的对抗性图像在人类观察者看来与原始图像相同或非常相似,则通常认为这种攻击更有效或更危险。实现这一目的的常用数学限制包括使用 $L_p$ 范数来限制扰动:$L_{\infty}$ 范数: 此范数衡量施加到任何单个像素的最大改变量。限制 $L_{\infty}$ 范数确保没有单个像素与其原始值偏差过大,通常会导致微小而广泛的变化。从数学上看,对于原始图像 $x$ 和对抗图像 $x'$,扰动 $\delta = x' - x$ 满足 $||\delta||_{\infty} = \max_i |\delta_i| \le \epsilon$,其中 $\delta_i$ 是第 $i$ 个像素的变化,$\epsilon$ 是一个小的预算。$L_2$ 范数: 此范数衡量所有像素上扰动的整体欧几里得幅度。受 $L_2$ 限制的攻击通常会导致比 $L_{\infty}$ 更平滑、更不明显的噪声模式,因为它们限制了扰动的总能量。约束条件是 $||\delta||_2 = \sqrt{\sum_i \delta_i^2} \le \epsilon$。$L_0$ 范数: 此范数计算已更改的像素数量。 $L_0$ 攻击仅修改少量稀疏的像素子集,有时改变很大,这可能有效但如果更改的像素聚类,则可能更容易被注意到。约束条件是 $||\delta||_0 = \sum_i \mathbb{I}(\delta_i \neq 0) \le k$,其中 $k$ 是要修改的最大像素数量。虽然 $L_p$ 范数计算方便,但它们不总是与人类感知完全一致。研究仍在继续,开发基于更符合感知标准的攻击,例如结构相似性指数(SSIM)或在频域中操作图像的技术。针对目标检测和分割的攻击对抗性攻击不止于简单图像分类。它们对更复杂的视觉任务构成重要威胁:目标检测攻击目标检测器识别图像中的多个物体并围绕它们绘制边界框。攻击旨在以多种方式干扰这个过程:物体消失: 扰动图像,使检测器无法识别一个或多个清晰存在的物体。错误分类: 导致检测器将不正确的标签分配给正确定位的物体(例如,检测到“狗”却将其标记为“猫”)。物体生成/幻觉: 引入扰动,使检测器识别并框定场景中不存在的物体。边界框操控: 改变预测边界框的大小或位置,即使物体已被检测并正确分类。创建有效攻击通常需要修改攻击优化过程中使用的损失函数。攻击者可能不仅仅是最大化单一输出的分类损失,而是针对与物体存在分数、检测框内的类别概率或边界框回归输出相关的损失。digraph G { rankdir=LR; node [shape=box, style=rounded, fontname="Helvetica", fontsize=10, margin=0.2]; edge [fontname="Helvetica", fontsize=9]; subgraph cluster_orig { label = "原始检测"; style=filled; color="#e9ecef"; OrigImg [label="输入图像"]; Detector1 [label="物体检测器"]; Boxes1 [label="正确边界框\n(例如,“汽车”,“人”)"]; OrigImg -> Detector1; Detector1 -> Boxes1; } subgraph cluster_adv { label = "对抗性攻击"; style=filled; color="#ffc9c9"; Perturb [label="扰动\n生成(例如,PGD)", shape=ellipse, style=dashed, color="#fa5252"]; AdvImg [label="对抗性图像"]; Detector2 [label="物体检测器"]; Boxes2 [label="修改后的边界框\n(例如,“人”未被检测到,\n “汽车” -> “卡车”)"]; AdvImg -> Detector2; Detector2 -> Boxes2; } OrigImg -> Perturb [style=dashed, label="输入", color="#f03e3e"]; Perturb -> AdvImg [style=dashed, label="应用 δ", color="#f03e3e"]; {rank=same; Detector1; Detector2;} {rank=same; Boxes1; Boxes2;} }流程图展示了对抗性扰动如何修改物体检测器的输出,导致漏检或错误分类。语义分割攻击语义分割模型为图像中的每个像素分配一个类别标签。针对这些模型的攻击旨在引起像素级别的错误分类。这可以表现为:物体边界上的微小变化。大片连续区域被分配错误的类别标签。引入无意义的分割区域。攻击生成通常涉及最大化像素级分类损失(例如,交叉熵在所有像素上的平均值),同时受到感知约束($L_p$ 范数)的影响。定向攻击可能试图将属于一个类别的所有像素(例如,“道路”)更改为另一个特定类别(例如,“水”)。应用迁移攻击和基于查询的攻击迁移攻击等技术,这些技术生成的扰动能够成功欺骗其他模型,在计算机视觉中具有高度相关性,这是由于标准架构(如ResNet、VGG)和预训练模型的普遍存在。攻击者可能会针对本地可用的代理模型生成扰动,然后将这些扰动用于攻击目标黑盒视觉API。类似地,仅依赖模型输出(置信度分数或最终标签)的基于分数和基于决策的攻击也可以应用。然而,图像输入的高维度通常使这些攻击计算成本高昂,需要对目标模型进行大量查询。高效查询策略是黑盒设置中攻击视觉系统的一个活跃研究方向。理解这些计算机视觉特有的攻击方式对于开发适应图像数据带来的独特挑战的模型和防御措施很重要。图像的高维特性和人类感知的细节使得计算机视觉成为对抗性操作的适宜场景。