地铁站的老周是一位干了十五年的安检员,他手机里存着通缉犯阿飞的照片。每天早晚高峰,形形色色的乘客从他眼前经过:有人戴帽子、有人贴创口贴、有人穿着花里胡哨的衣服,光线时亮时暗,摄像头也忽远忽近。老周要做的,就是在这些“现实干扰”里一眼认出阿飞。这其实就是“物理鲁棒性”的日常版本:一个 AI 模型在真实世界里,面对打印色差、光照变化、拍摄角度、遮挡和距离等种种“物理噪声”,还能不能稳定地给出正确判断。 数字世界里,攻击者可以像修图一样直接改照片里的每一个像素;但物理世界里,阿飞不能直接改老周手机里的照片,他只能改变自己身上的“物理存在”——贴个贴纸、换件衣服、躲进阴影。于是,AI 安全里就出现了一类专门研究“如何在真实世界有效攻击和防御”的问题:物理攻击。这篇文章会沿着阿飞和老周的故事,从攻击载体、鲁棒原理、攻击算法,一路讲到防御加固、评估方法和安全合规。
掌握物理鲁棒性,是让 AI 从实验室走进摄像头、路牌、闸机等真实场景前必须补上的一课。它能帮你识别看似微小却可能致命的攻击风险,并设计出真正可信可靠的 AI 系统。
可视化演示
展示物理鲁棒性三维度:物理vs数字攻击管线对比(打印-相机采集变换链)、EOT变换期望攻击算法(多变换采样-梯度平均-鲁棒扰动生成)、物理感知对抗训练防御(随机变换增强-对抗生成-模型训练),理解物理世界AI安全。
本节配有交互动效(进入视口后自动加载,约 3KB)。
物理vs数字攻击管线 物理:数字-打印-相机-模型 数字:直接像素修改 physical = render pipeline 物理攻击经过渲染管线引入打印失真与视角变换,鲁棒性要求更高。
物理攻击基础
阿飞被通缉后,第一反应是在脸上贴个创口贴。老周看一眼照片,再抬头看看真人,照样把他认了出来。阿飞不服气:“我都变装了,你怎么还能认出我?”老周说:“你走路时右肩低、左肩高,这个习惯改不了。”这个故事里,阿飞做的“变装”就是物理攻击,而老周的“识人能力”就是模型需要具备的物理鲁棒性。
所谓物理攻击,是指攻击者不直接修改 AI 系统收到的数字信号,而是通过改变真实世界中的物体、场景或环境,让模型产生错误判断。与之相对的数字攻击,是在图片的像素矩阵上直接加扰动,比如在照片上叠加一层肉眼几乎看不见的噪声。数字攻击的优势是精确,但它有一个致命弱点:一旦把扰动打印出来再拍一遍,像素就会被打印色差、镜头畸变、光照变化彻底打乱,攻击常常失效。
物理攻击要面对的约束非常多:打印机只能覆盖有限的颜色空间,摄像头会引入模糊和透视变形,贴纸贴在立体物体上会产生折痕,拍摄距离和角度不同,补丁形状也会跟着改变。这些“现实关卡”让物理攻击比数字攻击更难生成,但也更贴近真实威胁。停车牌上贴一张小贴纸就能让自动驾驶误读、人群里穿一件特制 T 恤就能让行人检测器“看漏”,这些已经不是科幻电影里的桥段。
对工程实践来说,理解这些约束不是要制造攻击,而是要知道 AI 系统在真实环境中可能从哪里被击穿。老周能认出阿飞,靠的不是死记照片,而是长期训练出的稳健直觉;一个要上路的 AI 系统,也必须先回答“当世界没那么干净时,我还能不能给出正确答案”这个问题。
扰动载体形式
阿飞发现简单变装没用,于是开始研究更“科学”的伪装。他找人在帽子上贴了一块彩色贴纸,图案看上去像街头涂鸦,但实际上是专门优化过的对抗补丁。老周盯着屏幕时,明明看到阿飞的脸,脑子却闪过“这不是通缉犯”的判断。这种“局部小图案影响全局判断”的载体,就是对抗补丁。
对抗补丁是物理攻击里最常见的形式。它通常是一个经过算法优化的彩色图案,打印出来后贴在目标物体上。补丁面积未必很大,却能让模型忽略其他正常区域。经典案例中,研究人员把黑白贴纸贴在停车牌上,原本“Stop”的标志就被识别成了“Speed Limit 45”。补丁之所以这么强,是因为模型在推理时往往会被局部高纹理区域吸引,而不是真正理解整体语义。
除了补丁,攻击者还可以把整个图案印在衣服上,变成“对抗 T 恤”;或者用贴纸、涂鸦、挂件去改变物体的轮廓,让检测器无法把人和背景区分开。更前沿的研究还在尝试用特殊光源或投影制造“光效干扰”,让摄像头拍到本不存在的伪影。这些载体有一个共同点:它们都必须被“打印、粘贴、穿戴或投射”到真实世界,因此都要经过印刷和拍摄这两道现实工序。
老周的观察列表变得越来越长:贴纸、衣服、帽子上的花纹、墙上的投影。物理鲁棒性的研究,某种程度上就是在研究这些“现实载体”如何欺骗模型,以及模型如何学会不被它们带偏。
物理鲁棒原理
老周后来明白,光盯着照片里的五官没有用。他学会综合看人的骨架宽度、走路节奏和习惯动作,哪怕光线很暗、人很远、帽子压得很低,他也能靠整体轮廓判断。这叫“变换不变性”:无论目标在物理世界中被怎么折腾,模型都应该抓住真正稳定的判别特征。
在数学上,研究者会把“现实折腾”建模成一组变换集合 $\mathcal{T}$。每一次拍摄,相当于先让物体经过一个变换 $t$(比如旋转 $15^\circ$、平移两个像素、亮度变暗 $20\%$),再由渲染函数 $g$ 生成画面。如果我们把一个对抗补丁记为 $\delta$,那么攻击者在设计补丁时,不再只关心某一帧画面,而是希望补丁在这些变换下“平均有效”。这就引出了 EOT(期望变换)的攻击目标:
这里还要特别注意“可打印颜色”约束。屏幕上的颜色范围比打印机大得多,补丁算法必须把每个像素限制在打印机能够表达的颜色空间内,否则生成出来的图案一打印就“货不对板”。多视角约束也同理:立体物体上的补丁在正面看是矩形,转到侧面就可能变成梯形甚至被遮挡,所以 EOT 里的变换集合一定要包含这些真实视角。
老周的直觉是对的:只认一张“标准照”不够,必须在无数种变形里仍然认得出来。EOT 为这种“在变形中保持稳定”提供了可计算的数学框架。
- 损失函数 $\mathcal{L}$度量模型预测结果和目标标签之间的差距。对攻击者来说,让这个损失越小,越可能骗过模型。
- 期望 $\mathbb{E}_{t\sim\mathcal{T}}$把所有可能的物理变换都采样一遍,再取平均,避免补丁只对某一个角度有效。
- 渲染函数 $g(x,\delta,t)$把补丁 $\delta$“贴”到真实物体 $x$ 上,并施加变换 $t$,生成摄像头看到的画面。
- 整体目标 $J_{\text{EOT}}(\delta)$补丁 $\delta$ 最终要优化的总目标,它同时考虑了打印、拍摄、角度和光照的平均影响。
攻击算法核心
既然物理攻击要让补丁在多种变换下都有效,那具体怎么生成这个补丁?老周的思路是先在值班室里搭一个“伪装模拟器”:用投影机模拟不同光线,用不同角度摆放阿飞的照片,再拍下来试错。算法做的事其实很像这个试错过程,只是把试错变成了梯度下降。
攻击者首先随机初始化一块补丁,相当于铺一层白纸;然后从变换集合 $\mathcal{T}$ 里采样一批真实场景,比如平移、旋转、亮度变化;接着把补丁渲染到目标物体上,计算模型输出与目标标签之间的损失;最后根据损失对补丁像素求梯度,让补丁朝着“骗过模型”的方向更新。由于每一步都是可微的,梯度就能从模型输出一路传回补丁的每个像素。更新公式如下:
这套流程的核心就是“采样—求梯度—更新—裁剪”的循环。采样让补丁适应真实世界的多样性,梯度让图案不断逼近最佳伪装,裁剪则把算法拉回物理可实现的边界。经过几百次迭代,一块看起来花里胡哨、却能让模型稳定出错的对抗补丁就诞生了。
阿飞拿到补丁后兴奋不已,但老周也在同步升级自己的训练方法。攻和防就像猫鼠游戏,算法让攻击更“懂现实”,防御也必须跟着学会抵御这些“懂现实”的攻击。
- 补丁的当前状态 $\delta_k$第 $k$ 次迭代时的补丁图案,一开始是一块随机噪声。
- 负梯度方向 $-\operatorname{sign}(\nabla_{\delta_k}J_{\text{EOT}})$表示让攻击目标损失下降最快的方向,也就是更容易骗过模型的方向。
- 学习步长 $\alpha$每次更新补丁的幅度,步长太大会错过好图案,太小则收敛太慢。
- 裁剪操作 $\operatorname{Clip}_{\mathcal{C}}$把更新后的像素值限制在可打印颜色集合 $\mathcal{C}$ 内,保证补丁能真实印刷出来。
防御加固策略
老周并没有被阿飞的伪装吓倒。他开始每天看几十组模拟照片:正常照片、贴了补丁的照片、换了角度补丁变形的照片,看得多了,他渐渐学会先看整体,再看局部异常。这套方法映射到 AI 里,最先想到的防御就是对抗训练。
对抗训练的核心思路,是把攻击样本直接加入训练过程,让模型在训练时就看到“被攻击后的图片”,从而学会忽略这些干扰。数学上可以写成:
除了对抗训练,还有两条重要的防御路线。一条是补丁检测:先用一个目标检测器或自监督模块找出图像中外观异常的区域,再把补丁遮掉或修复,最后交给分类器判断;另一条是认证鲁棒:用严谨的数学证明给出一个扰动上界,只要干扰不超过这个界,模型就能保证分类结果不变。认证鲁棒比对抗训练更“硬核”,但它通常比较保守,实际部署时往往会把几类方法组合起来用。
老周的“眼睛”越来越毒,但阿飞也在不断换新的伪装。防御方必须接受一个现实:世界上不存在一劳永逸的免攻击方案。对抗训练能提升平均鲁棒性,补丁检测能拦住常见载体,认证鲁棒能守住最严格的下界,把三者组合使用,才能让系统在真实威胁面前多几道保险。
- 模型参数 $\theta$要优化的神经网络权重,希望通过训练获得更强的识别能力。
- 内层最大化 $\max_{\eta\in\mathcal{S}}$在合法扰动范围 $\mathcal{S}$ 内寻找最让模型出错的一种干扰,模拟攻击者。
- 外层最小化 $\min_{\theta}$让模型在“最难的场景”下也能保持低损失,从而提高鲁棒性。
- 训练数据分布 $\mathcal{D}$真实世界数据的集合,这里可以进一步延伸为加入物理变换后的数据分布。
鲁棒性评估
老周的主管问他:“你现在的识别能力到底有多稳?”老周不能只说“感觉还行”,他得做测试:让不同身高的人穿着同样的衣服,在晴天、阴天、闸机口、手扶电梯上分别走一遍,记录认错率。这一步在 AI 安全里叫物理鲁棒性评估。
评估最常用的指标是攻击成功率,或者等价地看鲁棒准确率。把一张带补丁的图片放在不同距离、角度、光照下拍摄,如果模型依然能认对目标,就说明这次“考试”通过了。形式化写出来就是:
为了保证评估可信,测试条件必须写清楚:拍摄距离是多少米、相机俯仰角多少度、光照是强光还是弱光、补丁用了什么打印材质。同一张对抗补丁,在新印刷设备上可能颜色偏差很大;同一个模型,在 2 米和 10 米距离下的表现也可能完全不一样。因此“跨场景泛化”是评估里最需要关注的问题之一。
老周的考核表越来越厚,他也会在表格上注明:“今天地铁里换了新的 LED 灯,亮度比上个月高。”只有把条件控制住并透明地报告出来,鲁棒性数字才有参考价值;否则,一次漂亮的实验很可能只是实验室里的偶然。
- 预测结果 $\hat{y}_i$模型在第 $i$ 次拍摄中对目标的判断。
- 指示函数 $\mathbb{1}[\cdot]$内部条件成立时记 1,不成立时记 0,用来统计正确预测的次数。
- 鲁棒准确率 $\text{Acc}_{\text{robust}}$把 N 次测试中正确的次数取平均,得到模型在指定物理条件下的稳定识别率。
安全伦理合规
故事讲到最后,阿飞被捕了。但老周意识到一个重要问题:他自己研究“识别伪装”的方法,其实也是在研究“如何伪装”。如果这些方法被别有用心的人拿走,比如用来攻击自动驾驶、绕过人脸识别闸机,后果不堪设想。这就是物理鲁棒性研究里绕不开的安全伦理问题。
物理攻击的研究具有很强的双面性。一方面,研究攻击方法能帮助安全团队提前发现漏洞,比如证明某款人脸识别系统在打印贴纸后可以被绕过,促使厂商修复;另一方面,攻击方法一旦公开,也可能被黑产、诈骗团伙直接利用。因此,研究人员需要遵循负责任披露原则:先在内部验证,给厂商留出修补时间,再有限度地公开细节。
从合规角度看,涉及物理攻击的工具和论文需要评估“滥用风险”。如果一项研究可能威胁到公共安全,比如让自动驾驶在高速公路上误读限速牌,研究者就应当加入更多的限制条件,或者在受控环境中进行演示。AI 可信性不只包括准确率和鲁棒性,还包括公平性、透明度和可问责性。
老周最后把“伪装研究笔记”锁进了柜子,并在封面上写下一行字:技术本身没有立场,但使用技术的人必须有底线。物理鲁棒性的价值,不是教会大家怎么骗人,而是让每一个部署到真实世界的 AI 系统,都能像老周一样经得住考验,也不会被居心不良的人利用。
AI 应用场景
自动驾驶路牌识别防护
阶段:模型训练与部署监控
解决的问题:传统感知模型只在干净图片上测试,一旦停车牌被贴上对抗补丁,就可能把“停止”识别成“限速”,酿成事故。通过 EOT 对抗训练和补丁检测,让模型在训练阶段就见过不同距离、角度、光照下的补丁,并在推理时主动定位异常区域,降低误判风险。
具体案例:某自动驾驶团队在路测前,用打印的对抗停车牌在封闭场地测试。模型在晴天 20 米距离下准确率很高,但补丁贴到 10 米处后出现了误判。团队随后用 EOT 在数据增强中加入旋转、亮度和距离变化,重训后误判率下降了约七成。
人脸闸机与支付安全
阶段:推理阶段防御与合规评估
解决的问题:人脸识别闸机可能在用户脸上贴打印图案或戴特殊眼镜时被绕过,威胁账户和公共安全。需要结合物理攻击测试、活体检测和输入预处理,确保识别系统在遮挡、暗光、侧脸等现实条件下仍然稳定。
具体案例:某机场安检系统在升级时,安全团队打印了多种对抗贴纸放在嘴上、鼻侧和额头,对现有模型发起测试。结果发现系统对局部遮挡的鲁棒性不足。团队随后引入补丁检测模块,先对疑似遮挡区域做遮挡修复,再重新比对特征,最终通过了监管机构的合规测试。
Python 演示
import numpy as np H, W = 12, 12P = 4 def bar(vertical=True): img = np.zeros((H, W)) if vertical: img[:, 5:7] = 1.0 else: img[5:7, :] = 1.0 return img class SimpleModel: def __init__(self): self.t0 = bar(True) self.t1 = bar(False) def logits(self, x): return np.stack([(x * self.t0).sum(axis=(1, 2)), (x * self.t1).sum(axis=(1, 2))], axis=1) def predict(self, x): return self.logits(x).argmax(axis=1) def transform_batch(base, patch, dx, dy, bright): n = len(dx) out = np.stack([base.copy() for _ in range(n)]) for i in range(n): y = int(np.clip(3 + dx[i], 0, H - P)) x = int(np.clip(4 + dy[i], 0, W - P)) out[i, y:y + P, x:x + P] = patch * bright[i] return out def expand(logits, target=1): probs = np.exp(logits - logits.max(axis=1, keepdims=True)) probs /= probs.sum(axis=1, keepdims=True) loss = -np.log(probs[:, target] + 1e-12) dlogits = probs.copy() dlogits[:, target] -= 1.0 return loss, dlogits def run(): rng = np.random.default_rng(0) base = bar(True) patch = np.full((P, P), 0.5) model = SimpleModel() for _ in range(60): dx = rng.integers(-1, 3, size=32) dy = rng.integers(-1, 3, size=32) bright = rng.uniform(0.7, 1.2, size=32) adv = transform_batch(base, patch, dx, dy, bright) logits = model.logits(adv) loss, dlogits = expand(logits) grad_img = dlogits[:, 0, None, None] * model.t0 + dlogits[:, 1, None, None] * model.t1 grad_patch = np.zeros((P, P)) for i in range(32): y = int(np.clip(3 + dx[i], 0, H - P)) x = int(np.clip(4 + dy[i], 0, W - P)) grad_patch += grad_img[i, y:y + P, x:x + P] * bright[i] patch -= 0.3 * grad_patch / 32.0 patch = np.clip(patch, 0, 1) test_x = rng.integers(-1, 3, size=64) test_y = rng.integers(-1, 3, size=64) test_b = rng.uniform(0.7, 1.2, size=64) test_adv = transform_batch(base, patch, test_x, test_y, test_b) success = (model.predict(test_adv) == 1).mean() print("clean acc on class0:", (model.predict(base[None]) == 0).mean()) print("patched attack success rate:", success) if __name__ == "__main__": run()
class SimpleModel用两个模板的相似度作为分类器,模拟现实中的识别模型。transform_batch(base, patch, dx, dy, bright)模拟补丁在不同位置和亮度下被摄像头拍到的过程。expand(logits, target=1)计算交叉熵损失,并把模型预测概率转成可回传的梯度。patch -= 0.3 * grad_patch / 32.0沿损失下降方向更新补丁,让目标类的损失变小。np.clip(patch, 0, 1)把补丁像素裁回可打印的颜色范围,对应真实世界的色域约束。
常见误区
误区很多刚入门的人觉得,物理鲁棒性是论文里才讨论的“玄学”,真实产品只要在干净测试集上准确率高就够了,不用专门处理现实扰动。
正解真实部署中,摄像头会有运动模糊,环境光会变化,路牌会磨损,行人会被遮挡。这些物理扰动无时无刻不在发生。哪怕没有恶意攻击者,一个在雪天失效的自动驾驶模型也说明物理鲁棒性不足。它直接决定产品在真实世界的可靠性。
为何常见:因为多数公开数据集提供的是干净、标注良好的图片,让大家误以为“测试准确率”就等于“产品可用率”。
误区既然数字对抗攻击能骗过模型,那我只要在电脑上生成一个扰动,把它打印出来贴在物体上,应该也能骗过模型。
正解打印机无法完全还原屏幕上的颜色,摄像头还会引入透视变化、光照和噪声,小到像素级的数字扰动一经过物理管道就会面目全非。物理攻击必须用 EOT 等算法考虑真实变换,并限制在可打印色域内。
为何常见:人们习惯把图像理解成“一张二维图”,忽略了打印、拍摄是一个存在色差和形变的物理过程。
误区团队训练出一个在测试集上达到 99% 准确率的模型,就认为它在现实世界中也一定很稳,不需要做额外鲁棒性测试。
正解高干净准确率只能说明模型拟合了训练分布,不能说明它对打印补丁、遮挡、旋转和光照变化有抵抗力。鲁棒性需要单独评估,比如用攻击成功率、鲁棒准确率等指标去衡量。
为何常见:因为很多人在校招或项目实践中只接触过标准数据集,缺乏真实环境下的评估意识。
误区做完对抗训练后,模型就再也不会被对抗补丁欺骗了,可以放心上线。
正解对抗训练只是针对特定攻击方式或变换分布的“加固”。攻击者一旦使用更新颖的补丁、更极端的角度或新的打印材质,模型仍可能被攻破。认证鲁棒性也只能在限定扰动范围内给出保证,无法覆盖所有现实变化。
为何常见:因为对抗训练常让人觉得“吃过毒药就不怕毒药”,但现实攻击集是开放的,模型不可能经历所有可能的变换。
误区既然补丁可以检测,那就训练一个检测器,把所有补丁找出来,物理攻击不就彻底解决了吗?
正解补丁检测通常只能识别训练时见过的、外观比较突兀的局部区域。攻击者可以把补丁设计成与背景自然融合,或者用纹理衣服覆盖全身,检测器可能完全找不到异常区域。防御需要组合对抗训练、预处理、检测和认证鲁棒。
为何常见:看到一个防御方法有效,就很容易高估它的边界,忽略了攻击者在对抗环境下也会持续升级。
面试题
Q1. 物理鲁棒性最关心模型在哪种情况下的表现?
- A.像素被无限篡改时
- B.光线清晰的理想画面
- C.打印光照角度变化下← 正确答案
- D.训练数据分布不变时
答案:C。物理鲁棒性关注的是真实世界中打印、光照、角度、遮挡等物理干扰对模型的影响。像素篡改是数字攻击关心的问题;理想光线和分布不变条件下没有现实干扰,不能检验鲁棒性。
Q2. 数字攻击与物理攻击最核心的区别是什么?
- A.数字攻击不需要威胁模型
- B.物理攻击要承受现实变换← 正确答案
- C.物理攻击比数字攻击便宜
- D.数字攻击不会欺骗模型
答案:B。数字攻击直接在像素上做修改,可以精确控制每个点;物理攻击需要先打印、再经摄像头采集,途中会发生色差、形变、光照变化等现实变换,因此必须把变换纳入设计。
Q3. EOT 中的“期望”要解决什么问题?
- A.让补丁在多种条件下平均有效← 正确答案
- B.消除图片中的所有噪声
- C.减少模型参数的数量
- D.提高打印机的分辨率
答案:A。EOT 对变换集合求期望,本质是模拟真实世界中同一补丁在不同距离、角度、亮度下被拍摄的情况,让补丁在这些条件下平均有效,而不是只针对某个固定画面。
Q4. 下列哪些属于物理扰动的真实载体?
- A.打印出来的对抗补丁← 正确答案
- B.带特殊纹理的衣服← 正确答案
- C.数据库中的像素标签
- D.贴在物体上的彩色贴纸← 正确答案
答案:ABD。对抗补丁、纹理衣服、贴纸都需要经过打印或穿戴,属于物理载体。数据库中的像素标签只是数字域的数据标记,不会出现在真实物理环境中,因此不是物理扰动载体。
Q5. EOT 攻击中“裁剪到可打印色域”最主要原因是什么?
- A.让补丁能真实打印出来← 正确答案
- B.让补丁尺寸自动变小
- C.让攻击偏向白颜色
- D.让补丁速度更快
答案:A。数字图像使用的颜色范围可能超出打印机能力,如果不限制色域,算法生成出的颜色就无法被打印复原。裁剪到可打印色域让补丁满足物理可制造性。
Q6. 对抗训练增强物理鲁棒性的核心机制是?
- A.不断给模型看对抗样本← 正确答案
- B.删除所有对抗补丁
- C.提高图片压缩率
- D.降低摄像头的帧率
答案:A。对抗训练把攻击样本加入训练集合,相当于让模型预先见过各种对抗伪装,从而学会忽略局部异常。它不是删除攻击,也不是改变图像编码或设备参数。
Q7. 评估物理攻击成功率时,应重点报告哪些条件?
- A.拍摄距离和相机角度← 正确答案
- B.光照强度和光源颜色← 正确答案
- C.打印色域和表面材质← 正确答案
- D.训练集使用的随机种子
答案:ABC。距离、角度、光照、打印色域和材质都会显著影响物理攻击是否成功。训练集随机种子影响的是实验复现,但不是物理条件,不属于必须报告的物理评估条件。
Q8. 补丁检测类防御的第一步通常是?
- A.定位图像中的异常局部区域← 正确答案
- B.把图像整体模糊成大色块
- C.用随机噪声覆盖全部图像
- D.直接删除最高分类概率类别
答案:A。补丁检测的核心是先找到可疑区域,再做遮蔽或修复。整体模糊、随机噪声覆盖和修改分类决策都破坏正常信息,既不合理也不是检测类防御的典型步骤。
Q9. 关于认证鲁棒性的说法,正确的是?
- A.能证明在界内扰动标签不变← 正确答案
- B.能免疫所有真实世界攻击
- C.给出的保证通常比较保守← 正确答案
- D.可以完全替代对抗训练
答案:AC。认证鲁棒通过数学证明给出扰动下界,界内标签一定不变,但它只针对形式化限定的扰动范围,无法覆盖所有真实世界变化,因此保证偏保守,不能完全替代启发式防御。
Q10. 数字对抗扰动直接打印后效果变差的最关键原因是?
- A.打印摄像头会引入颜色几何失真← 正确答案
- B.数字图像往往更喜欢输出红色
- C.打印机没有神经网络运算单元
- D.摄像头会自动修复全部对抗扰动
答案:A。数字扰动通常依赖每一个像素的精确偏移。打印和拍摄会引入颜色重新映射、镜头透视、噪声等失真,把微小变化破坏掉。打印机没有神经网络、图像偏好红色都是错误理解,摄像头也不会自动修复所有扰动。