想象你是写字楼的资深门卫,靠一台人脸识别闸机管理进出。几十年来你练就一双火眼金睛——可最近,有个“不速之客”总想混进机房窃取机密。他既不去黑进系统篡改照片数据库(那是数字攻击),也不砸门撬锁,而是戴上一副印着古怪花纹的眼镜,脸上贴着几张色彩斑斓的贴纸。摄像头一照,闸机居然屏幕一亮:“VIP 已授权,欢迎进入”,放他大摇大摆走了进去。这就是物理世界对抗攻击:不碰系统,不改代码,只靠“穿一身迷惑门卫的伪装”,就让 AI 模型的判断彻底翻车。这身伪装,就是对抗样本从数字世界穿越到实体世界的产物。本篇文章,就把这场“门卫 vs 伪装者”的攻防游戏拆开讲透——你会看到攻击者如何设计伪装、如何在各种光照角度下排练、门卫又如何练眼力反制。

岗位关联

物理世界对抗攻击能力是 AI 安全与数据可信领域工程师的必修课。掌握它,你才能为刷脸支付、自动驾驶、安防闸机等真实系统做安全评测与加固,在攻防博弈中掌握主动。

目录
  1. 可视化演示
  2. 攻击概览
  3. 核心原理
  4. 攻击类型
  5. 攻击载体
  6. 关键技术
  7. 防御措施
  8. 评估方法
  9. 应用挑战
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示对抗样本在物理世界中的攻击过程:从原始图像到扰动生成、对抗样本制作及真实场景部署,逐步演示对抗攻击的四个阶段。

本节配有交互动效(进入视口后自动加载,约 3KB)。

原始图像阶段 模型对原始输入进行正常分类预测置信度高达95%以上 此时无任何扰动模型输出正确分类结果 confidence = softmax(logits)[true_class] 原始图像是攻击的起始点

攻击概览

假设数字攻击是黑客直接潜入门禁系统,把数据库里你的照片换成了通缉犯的脸;那么物理世界攻击,就是攻击者不碰系统,只在自身上下功夫——戴上一副特制眼镜、贴上一块彩色贴纸,让摄像头拍到他的那一刻,门卫模型主动把他认成另一个人。它把对抗样本从“像素世界的魔法”变成了“真实世界的道具”。

对抗样本原本诞生于数字空间:研究者给猫的图片加上微小噪声,模型就把它认成烤面包机。可一旦把这张加了噪点的图片打印出来,举到摄像头前,攻击往往立刻失效——因为相机成像会引入透视变形、光照变化、传感器噪声,数字噪声被“物理翻译”冲得七零八落。物理世界对抗攻击要解决的,正是如何在打印、拍摄、识别的全链路中都保持欺骗效果。

从威胁动机看,现实中的闸机、车载摄像头、安防监控都以物理世界为接口,攻击者无法直接向云端系统注入像素,却能往真实物体上贴一张纸。研究物理攻击,本质上是在回答一个问题:当模型的眼睛从数据变成了真实摄像头,恶意者能用多少种方式骗过它?

这场攻防告诉我们:AI 系统的安全边界不止在服务器里,也在每一盏路灯、每一台闸机的镜头前。理解了“伪装道具”的工作原理,你才真正读懂了物理世界攻击的第一页。

核心原理

门卫为什么会被一副眼镜骗到?因为他“看人”靠的不是直觉,而是一套固化的翻译规则:摄像头把三维世界的光线翻译成二维像素,模型再把这些像素翻译成身份标签。对抗扰动,就是专门针对这套翻译规则设计的“语法陷阱”——图案对人眼来说只是普通装饰,可在模型的翻译体系里,它恰好激活了"VIP"的神经通路。

这套陷阱要生效,必须对抗三个敌人。第一是成像链路:真实物体 → 镜头光学 → 传感器量化 → 数字图像,每一环都会像“口音”一样改写图案,扰动必须足够鲁棒才能在翻译中幸存。第二是不可见性:扰动如果太扎眼,连普通人都能看出异样,攻击就失去了隐蔽性,所以补丁面积、颜色、形态都受约束。第三是物理可实现性:数字世界里像素值可以取任意实数,但物理载体(打印纸、塑料镜片)能呈现的颜色和精度是有限的。

于是,物理攻击的设计本质上是一个多目标优化:既要骗过门卫,又要骗过路人,还要经得起风吹日晒镜头抖。数字攻击只需要在一个静态矩阵上做文章,物理攻击却要在整个“翻译漏斗”里寻找那个在每一层都不会被过滤掉的信号。

理解了这个原理,你就能明白为什么物理攻击的扰动往往不是细密噪点,而是一块块醒目又规则的色块——那是经过成像链路“压力测试”后存活下来的最强信号。

攻击类型

伪装者的目的分两种:一种是让门卫把自己认成某个特定 VIP,这叫仿冒攻击;另一种是让门卫完全认不出自己,既不是 VIP 也不是任何已知人员,甚至让“人脸检测”直接失效,这叫规避攻击。前者像冒名顶替,后者像隐身术。

从目标设定上,攻击又分目标定向和非目标定向。目标定向攻击要求模型输出某个指定标签,例如让“停车”路牌被读成“限速 45”;非目标定向攻击只要求模型猜错,认成谁都行,难度更低。从信息获取上,则区分白盒与黑盒:白盒攻击像拿到了门卫的培训手册(模型结构和权重),可以精确计算梯度;黑盒攻击没有手册,只能不断“试探门卫反应”——观察输入输出对,或者借助迁移性(在本地模型上造的攻击样本,换一个模型也可能生效)。

值得注意的是,物理场景中黑盒更为常见。攻击者面对真实系统往往拿不到模型参数,只能用摄像头拍到的识别结果做反馈。这也使得物理攻击与“查询驱动攻击”“迁移攻击”常常交织在一起。

搞清楚这些分类坐标,后续评估一个攻击 “好不好使” 才有共同的度量衡:是让门卫认错人,还是让他谁都不认识?是拿着手册精准打击,还是盲人摸象式试探?

攻击载体

伪装道具的种类,决定了攻击的隐蔽性和鲁棒性。最常见的载体是对抗贴纸:把精心计算的彩色图案打印出来,贴在路牌、行李箱、车身上。贴纸的优势是即贴即用、成本极低,缺点是平面的图案在视角变化时容易失效,所以设计时往往要覆盖较大面积、使用高对比度色块。

特制眼镜是攻击人脸识别系统的经典载体。研究者曾用打印的眼镜框骗过 FaceID 级别的模型,其优势是立体佩戴,姿态稳定,即便头部转动,图案仍在视野内;劣势是会引人注目。3D 打印结构更进一步,把对抗图案做成物体的立体表面,让多视角下图案都保持正确形状,常用于攻击车辆检测或路牌识别。此外还有光照投影:不改变物体本身,而是把对抗图案做成光斑投射上去,适合远距离动态攻击。

选择哪种载体,本质上是权衡题:面积越大,攻击成功率越高,但被发现的风险也越大;结构越立体,视角鲁棒性越好,但制作成本越高。而所有这些载体都要回到同一个问题——如何让打印出来的图案,在相机的眼中有和模拟器中一样的效果。

这也是为什么物理攻击常被戏称为“打印机的战争”:攻击效果的上限,往往由打印机色域、墨水和材质反射率决定。

关键技术

想让伪装在烈日、阴天、侧脸、远距离下都管用,攻击者不能只试一次运气,而要像排练话剧一样,在无数种“拍摄条件”下反复演练。这就是 EOT(期望变换) 的核心思想:假设拍摄条件服从某种变换分布 T,攻击者优化的不是单张图上的效果,而是在所有可能变换下“平均欺骗成功率”最高的扰动。

有了优化目标,还需要“落笔”的画笔。补丁生成通常用掩码控制可修改区域:把整张图看作画布,掩码 M 像贴纸的剪影,只有剪影内部的像素允许被涂改:

最后还有一层务实的约束——数字到物理的映射:sRGB 色彩要先转换到打印机色域,经历半色调网点化,再经过镜头重采样。研究者常把这类“打印-拍摄”退化也建模成变换 t 加入 EOT,让优化过程提前适应物理世界的残酷。

δ∗=arg⁡max⁡δ  Et∼T[ℓ(f(t(x+δ)), ytarget)]\displaystyle \delta^* = \arg\max_{\delta} \; \mathbb{E}_{t \sim \mathcal{T}}\left[ \ell\left( f\big(t(x + \delta)\big),\, y_{\text{target}} \right) \right]
掩码 M 在补丁位置取 1、其余位置取 0,于是原图 x 被“挖”出一块区域,替换成可学习的补丁图案 p。
  1. M 掩码与图像同尺寸的 0/1 矩阵,补丁覆盖处为 1,是“贴纸剪影”。
    MM
  2. 保留原图原图中除贴纸区域外的地方原样保留,避免干扰背景。
    (1−M)⊙x(1 - M) \odot x
  3. 替换补丁只在贴纸区域内填入可学习的图案 p。
    M⊙pM \odot p

防御措施

门卫要反制伪装者,第一招是练眼力——见多识广。对抗训练就是把已知的攻击样本(贴上补丁的照片)混进训练集,让模型专门学习“这群人戴眼镜的样子,其实是伪装的”。这相当于给门卫看了大量“伪装者图鉴”,之后哪怕没见过完全一样的贴纸,模型也能更警惕。

第二招是进门卸妆。预处理防御在图像进入模型前先“搓一遍脸”:去噪、平滑、随机裁剪、JPEG 压缩,让精细的对抗图案像被卸妆水擦过一样模糊掉。代价是正常图片的识别精度也可能轻微受损,如同卸妆水也会洗掉淡妆。

第三招是看气质。异常检测不直接判标签,而是检查模型输出的一致性:如果一张脸在模型眼里“既像 VIP 又不太确定”,或者中间层特征偏离正常分布,就触发复核。这类似门卫觉得“此人妆容可疑”后要求摘眼镜再验证。物理防护则是加装多路摄像头、红外补光、活体检测,让攻击者需要同时骗过多个“门卫”。

防御的残酷现实是:没有一劳永逸的铠甲。对抗训练见过的补丁样式有限,预处理手段本身也可能被“对抗性卸妆水”破解。真正的防线通常是组合拳——多模态验证 + 训练鲁棒化 + 输入清洗,把攻击成本抬到不值得的高度。

评估方法

评估物理攻击,不能只看实验室 PPT。最核心的指标是攻击成功率(ASR):在 N 次攻击尝试中,有多少次真的骗过了门卫。

但 ASR 高不等于实用。研究者还会测数字-物理迁移成功率:先在数字仿真中生成补丁,再打印出来实地拍摄,看成功率掉多少——这个落差最能反映成像链路的破坏力。接着是鲁棒性指标:分别在不同距离(1 米/3 米/10 米)、不同角度、不同光照下测 ASR,绘制“多远还能骗得过”的衰减曲线。最后是真实场景闭环测试:在目标设备上用实物、真实光线、真实视角做端到端验证,这也是评估的黄金标准。

越接近真实世界的评估越昂贵,但越能暴露模型的真实短板。一个只在仿真里 99% 成功的补丁,到了雨天可能只有 30% 成功率——评估方法的严谨程度,直接决定了安全报告的含金量。

ASR=1N∑i=1N1[f(xi′)=ytarget]\displaystyle ASR = \frac{1}{N}\sum_{i=1}^{N} \mathbb{1}\left[ f(x_i') = y_{\text{target}} \right]
简单说:把 N 张贴了补丁的照片依次送入模型,统计被判成目标标签的比例。
  1. N 攻击总次数测试样本总数,样本越多统计越可靠。
    NN
  2. x_i' 攻击样本第 i 张贴上了对抗补丁、可能还经过了物理变换的照片。
    xi′x_i'
  3. 判断命中事件 “模型把 x_i' 判成目标标签” 为真时记为 1,否则为 0。
    1[f(xi′)=ytarget]\mathbb{1}\left[ f(x_i') = y_{\text{target}} \right]
  4. 取平均命中次数占总次数之比,就是攻击成功率。
    1N∑i=1N[⋅]\frac{1}{N}\sum_{i=1}^{N}[\cdot]

应用挑战

物理世界攻击最令人不安的应用场景是人脸识别:攻击者用一副打印眼镜骗过闸机刷开 VIP 通道,或绕过视频监控的身份确认,直接威胁金融支付与门禁安全。自动驾驶则面临“路牌欺骗”——在停车标志上贴几块小补丁,车载模型就可能把它读成限速标志,造成实质性的交通安全风险。安防监控里,攻击者通过干扰行人检测或车牌识别,让监管系统“选择性失明”。

从 AI 工程实践看,这意味着鲁棒性评估要进入数据可信层的标准流程:上线前做对抗红队测试,上线后持续监控 ASR 指标,出现新攻击样式就补充训练数据。未来攻防还会升级:攻击者会用生成模型自动搜索更隐蔽的补丁,防御方则研究在物理层部署感知融合与主动对抗光源。这场军备竞赛没有终点,只有不断前移的安全基线。

AI 应用场景

人脸识别闸机红队评测

阶段:模型评测与安全审计

解决的问题:传统闸机厂商只测试“正常人脸的识别准确率”,默认用户是配合、无恶意的。但现实中有黑产人员用带对抗纹理的眼镜、贴纸伪装成已授权 VIP 混入办公区。AI 安全团队需要把物理世界攻击作为必测项目,量化 ASR 并输出加固建议。

具体案例:某金融企业园区部署人脸闸机后,安全团队打印了 3 款对抗眼镜框,在 5 米、10 米、15 米距离各测试 200 次,发现其中一款眼镜在 10 米处的仿冒成功率高达 68%。据此推动厂商升级活体检测与多视角融合,将成功率压到 3% 以下。

自动驾驶感知防御

阶段:感知模型训练与鲁棒性加固

解决的问题:路牌识别模型在标准数据集上准确率超过 99%,但真实道路上有贴纸、涂鸦、磨损,甚至恶意贴上的对抗补丁。传统测试没有覆盖“物理世界恶意干扰”,一旦把“停止”牌认成“限速”牌,后果是交通事故。

具体案例:某自动驾驶团队使用 EOT 在仿真中生成 5000 张带对抗贴纸的路牌图,加入训练集并辅以对抗训练,使模型在封闭道路实测中面对物理补丁的误判率从 41% 降至 6%,同时干净样品的精度仅下降 0.8%。

数据可信层安全监测

阶段:数据质量管理与合规审计

解决的问题:银行远程开户、视频监控身份核验等系统,其底层数据链路往往默认真实可信。数据可信层引入对抗鲁棒性指标后,可以持续监测“输入被物理篡改时模型是否还会给出错误的高置信度结果”,防范伪造身份证、面具和对抗贴纸带来的欺诈风险。

具体案例:某风控团队在核身系统前增加对抗检测模块,对每帧人脸计算特征一致性分数,并定期用打印对抗贴纸做内部渗透测试。半年内拦截了 1200 余次疑似物理伪造攻击,将黑产欺诈率降低 37%。

Python 演示

python96 行
import numpy as np  class PhysicalAttacker:    """合成图像演示: 数字攻击 vs 物理(EOT)攻击成功率对比"""     def __init__(self, size=16, patch=4):        self.size = size        self.patch = patch        self.r = size - patch - 1        self.c = size - patch - 1        self.w = np.zeros(size * size)   # 逻辑回归权重        self.b = 0.0                     # 偏置        self.p = np.zeros((patch, patch))  # 待学习的补丁        self.mask = np.zeros((size, size))        self.mask[self.r:self.r + patch, self.c:self.c + patch] = 1     def _gen(self, kind, n):        """kind=0 水平条纹(A类访客), kind=1 垂直条纹(B类VIP)"""        imgs = []        for _ in range(n):            img = np.zeros((self.size, self.size))            if kind == 0:                img[::2, :] = 1            else:                img[:, ::2] = 1            imgs.append(img)        return np.array(imgs)     def _place(self, img, p, dy, dx):        """把补丁放入图像并整体平移, 模拟物理拍摄中的抖动"""        im = np.roll(img, (dy, dx), axis=(0, 1))        full = np.zeros((self.size, self.size))        full[self.r:self.r + self.patch,             self.c:self.c + self.patch] = p        full = np.roll(full, (dy, dx), axis=(0, 1))        m = np.roll(self.mask, (dy, dx), axis=(0, 1))        return im * (1 - m) + full * m     def train_model(self, iters=300, lr=0.1):        Xa = self._gen(0, 8).reshape(8, -1)        Xb = self._gen(1, 8).reshape(8, -1)        X = np.vstack([Xa, Xb])        y = np.array([0] * 8 + [1] * 8)        for _ in range(iters):            z = X @ self.w + self.b            sig = 1 / (1 + np.exp(-z))            self.w -= lr * ((sig - y) @ X) / len(y)            self.b -= lr * (sig - y).mean()     def attack(self, iters=200, lr=0.5):        """用EOT式随机平移做梯度上升, 让A类被误判为B类"""        Xa = self._gen(0, 8).reshape(8, -1)        for _ in range(iters):            dy = np.random.randint(-2, 3)            dx = np.random.randint(-2, 3)            gp = np.zeros_like(self.p)            for img in Xa:                x = self._place(img.reshape(self.size, self.size),                                self.p, dy, dx)                z = x.ravel() @ self.w + self.b                sig = 1 / (1 + np.exp(-z))                g = (-(1 - sig) * self.w)   # 对 loss=-log(1-sig) 求导                g = g.reshape(self.size, self.size)                g = np.roll(g * np.roll(self.mask, (dy, dx),                            axis=(0, 1)), (-dy, -dx), axis=(0, 1))                gp += g[self.r:self.r + self.patch,                        self.c:self.c + self.patch]            self.p -= lr * gp / len(Xa)            np.clip(self.p, -1, 1, out=self.p)     def evaluate(self, trials=100, use_eot=True):        ok = 0        for img in self._gen(0, trials):            im = img.reshape(self.size, self.size)            if use_eot:                dy = np.random.randint(-2, 3)                dx = np.random.randint(-2, 3)            else:                dy = dx = 0            x = self._place(im, self.p, dy, dx)            sig = 1 / (1 + np.exp(-(x.ravel() @ self.w + self.b)))            if sig > 0.5:                ok += 1        return ok / trials  if __name__ == "__main__":    atk = PhysicalAttacker()    atk.train_model()    atk.attack()    dig = atk.evaluate(use_eot=False)     # 固定位置: 数字攻击    phy = atk.evaluate(use_eot=True)      # 随机抖动: 物理攻击    print(f"数字攻击成功率(固定视角): {dig:.2f}")    print(f"物理攻击成功率(含视角变换): {phy:.2f}")    print("结论: 物理抖动会大幅降低未做EOT的补丁成功率")
目的:用一个微型合成图像分类器,演示同一块对抗补丁在“固定视角数字攻击”与“带随机平移的物理攻击”下的成功率差异,直观展现 EOT 鲁棒性的价值。
  1. self.mask[self.r:self.r + patch, self.c:self.c + patch] = 1用掩码圈出补丁允许涂改的区域,相当于“贴纸剪影”。
  2. img[::2, :] = 1生成水平条纹图像代表 A 类访客,垂直条纹代表 B 类 VIP,两类图案空间上可区分,便于训练出判别模型。
  3. np.roll(img, (dy, dx), axis=(0, 1))对整幅图做循环平移,模拟摄像头抖动或拍摄角度偏移。
  4. full[self.r:..., ...] = p先把补丁放到固定位置,再整体平移,保证补丁与背景一起“被拍摄”。
  5. g = (-(1 - sig) * self.w)对“让模型预测 B 类”的损失求梯度,指引补丁向误导方向更新。
  6. np.clip(self.p, -1, 1, out=self.p)限制补丁像素值范围,对应物理载体可打印的颜色边界。
  7. atk.evaluate(use_eot=False)固定视角测成功率,代表理想化的数字攻击环境。
  8. atk.evaluate(use_eot=True)每个样本随机平移再测,代表真实物理拍摄中的不稳定视角。

常见误区

误区我在电脑上生成一个对抗噪声图,直接打印出来贴在物体表面,摄像头一照就应该能骗过模型。如果没生效,一定是打印机质量太差。

正解数字对抗样本是逐像素精确优化的,而物理链路中的透视、光照、镜头模糊、传感器噪声会把这些精细扰动“搓碎”。真正有效的物理攻击必须把相机成像过程建模进优化,用 EOT 对变换分布求期望,让补丁在多种条件下都稳健。打印只是最后一步,前面还有大量物理感知的训练。

为何常见:很多人先接触数字对抗样本,误以为“数字能骗过模型 = 打印出来也能骗过”,忽略了从像素到光子再到像素的传输损耗。

误区只要在训练集里加入对抗样本,模型就能识别所有伪装。以后眼镜、贴纸、光照投影都骗不过它了。

正解对抗训练只能覆盖训练时见过的那一类变换和攻击样式。物理世界变化无穷:同一个补丁换一种角度、换一台相机、换一个场景,攻击又可能复活。所以对抗训练是提升鲁棒性的重要一环,但必须配合输入预处理、异常检测、物理层多传感器融合,形成纵深防御。

为何常见:防御方总希望找到一个“一劳永逸”的补丁,而忽略了对抗攻防本质上是开放世界的猫鼠游戏,没有终极免疫,只有相对安全。

误区这些贴纸攻击都是实验室里摆拍出来的,现实中没人会为了刷个闸机去打印特制眼镜,威胁可以忽略。

正解已有大量实证研究在真实门禁系统、自动驾驶路牌、监控摄像头上复现了物理攻击,黑产也开始利用类似手法绕过活体检测和身份核验。物理攻击的门槛正在因廉价打印机和开源攻击库而快速降低,安全团队不主动评估,就会被动挨打。

为何常见:人们习惯把“自己没见过”等同于“不存在”,低估了攻击者的动机与低成本工具化的速度。

误区白盒攻击需要拿到模型参数,太复杂;黑盒攻击只靠“瞎猜”就能攻击,说明黑盒更高级、更厉害。

正解白盒攻击拥有完整梯度信息,单步就能找到强扰动,成功率通常更高。黑盒攻击能获得的信息极少,依赖查询反馈或迁移性,效率与成功率都更低。黑盒的价值在于“更接近现实”——真实系统不会把权重给你,但攻击难度高不等于攻击效果好。

为何常见:人们容易把“条件更苛刻”误解为“能力更强”,实际上攻击成功率和所需信息量是两个维度,黑盒是“戴着镣铐跳舞”,不是“舞跳得更好”。

面试题

Q1. 物理世界对抗攻击与数字对抗攻击最本质的区别是什么?

单选题 · easy

  • A.扰动实体化于物理载体并经摄像头采集← 正确答案
  • B.攻击者直接修改模型训练超参数
  • C.攻击必须发生在网络传输过程中
  • D.只能针对人脸识别系统发起

答案:A。物理攻击的扰动必须存在于真实物体(贴纸、眼镜、3D 结构),经过摄像头成像后才能影响模型;数字攻击则直接在像素矩阵上操作。B 属于训练阶段投毒,C 属于网络攻击,D 是错误限制,A 才是物理攻击的核心特征。

Q2. 用“门卫”比喻,仿冒攻击(impersonation)对应哪种行为?

单选题 · easy

  • A.让门禁把攻击者识别成指定 VIP← 正确答案
  • B.让门禁对全部来访者一律放行
  • C.让门禁摄像头完全黑屏失灵
  • D.让门禁系统直接断电停止工作

答案:A。仿冒攻击的目标是让模型把攻击者误判为某个特定的目标身份,对应“把你看成 VIP”。B 是全放行、C 和 D 是可用性攻击,都不属于身份仿冒,只有 A 精确对应。

Q3. 为什么数字对抗样本直接打印到真实世界后通常失效?

单选题 · easy

  • A.相机成像引入视角光照噪声破坏扰动← 正确答案
  • B.打印机无法输出高精度彩色图案
  • C.数字对抗样本本质上都是黑色图像
  • D.物理世界中的摄像头数量非常稀少

答案:A。相机成像链路包含透视变形、光照变化、传感器噪声和量化误差,这些变换会稀释针对精确像素设计的扰动。B 中的“无法输出高精度”只是部分原因,C、D 是错误说法,A 完整概括了物理链路对扰动的破坏机制。

Q4. EOT(期望变换)的核心思想是什么?

单选题 · mid

  • A.对多种物理变换分布求期望以增强鲁棒性← 正确答案
  • B.对多个不同模型参数取平均得到扰动
  • C.对攻击过程所用时间做积分以求最优解
  • D.对损失函数直接求最大值而忽略物理环境

答案:A。EOT 从物理变换分布中采样旋转、平移、光照等条件,让扰动在所有条件下平均损失最小,从而提升真实世界的鲁棒性。B 是集成模型的概念,C 无关,D 忽略了变换分布,只有 A 是 EOT 的定义。

Q5. 对抗补丁生成中,掩码(Mask)M 的作用是什么?

单选题 · mid

  • A.限定扰动只能修改贴纸覆盖的局部像素← 正确答案
  • B.增大模型对正常样本的识别准确率
  • C.将对抗样本整体模糊以利于视觉隐藏
  • D.压缩图像分辨率以适配摄像头视场角

答案:A。掩码是与图像同尺寸的 0/1 矩阵,补丁位置为 1、其余为 0,从而把扰动限制在贴纸区域内,既不破坏背景,也满足物理可实现性。B、C、D 都与掩码的约束作用无关,A 准确。

Q6. 白盒攻击与黑盒攻击的核心区别是什么?

单选题 · mid

  • A.白盒掌握模型参数黑盒只能查询输出← 正确答案
  • B.白盒使用可见光黑盒使用红外波段攻击
  • C.白盒攻击人脸黑盒攻击车牌识别模型
  • D.黑盒攻击无需任何模型信息且效果更好

答案:A。白盒攻击拥有模型结构和权重,可以直接计算梯度;黑盒攻击只能通过输入输出对来试探或依赖迁移性。B、C 是载体与波段差异,D 中“无需任何信息且效果更好”是错误的——信息更少通常成功率更低,A 正确。

Q7. 下列哪些属于物理世界对抗攻击的常见载体?

多选题 · mid

  • A.打印粘贴的对抗贴纸图案← 正确答案
  • B.带特殊纹理的眼镜框← 正确答案
  • C.3D 打印的立体伪装结构← 正确答案
  • D.篡改训练数据集中的标签

答案:ABC。对抗贴纸、特制眼镜、3D 打印结构都是把扰动实体化到物理载体的攻击方式。D 是数据投毒,属于训练阶段攻击而非物理世界攻击,因此不选。

Q8. 对抗训练作为物理攻击防御手段有哪些已知局限?

多选题 · hard

  • A.训练成本高且可能降低干净样本精度← 正确答案
  • B.对未见过的攻击形式泛化能力有限← 正确答案
  • C.摄像头无法拍摄对抗训练生成的样本
  • D.防御效果与模型容量没有任何关联

答案:AB。对抗训练需要大量对抗样本,计算开销大,且可能牺牲干净样本上的精度;它只能覆盖训练时见过的攻击样式,对新型攻击泛化有限。C 是错误事实,D 中模型容量与防御效果相关,故 A、B 正确。

Q9. 评估物理攻击在真实世界的可行性时,最先要确认的指标是什么?

单选题 · hard

  • A.数字仿真攻击到物理部署的迁移成功率← 正确答案
  • B.模型在 ImageNet 上的分类准确率
  • C.攻击者所用打印机的具体品牌型号
  • D.攻击者实际身高体重的统计分布

答案:A。数字仿真成功只是起点,打印之后还能不能骗过摄像头,即数字到物理的迁移成功率,才是物理攻击可行性的关键。B 是基准精度,C、D 与评估核心无关,只有 A 直接回答“仿真是否经得起物理链路的考验”。

Q10. 关于物理攻击与数字攻击的关系,下列说法正确的有哪些?

多选题 · extreme

  • A.物理攻击在优化中显式引入变换分布集合← 正确答案
  • B.数字攻击可视为恒等变换下的特殊物理攻击← 正确答案
  • C.物理攻击不需要约束像素值的物理可实现性
  • D.EOT 优化方法只适用于白盒攻击场景

答案:AB。物理攻击通过 EOT 将光照、视角等变换分布引入优化;若变换集只含恒等变换,EOT 就退化为标准数字攻击,因此数字攻击是物理攻击的特例。C 错误——物理攻击必须考虑打印色域等可实现约束;D 错误——EOT 在查询式黑盒中也可用,只是梯度估计方式不同。故 A、B 正确。