| # | 论文 | 年份 | 取什么 | arXiv | |—|——|——|——–|——-| | 0.1 | Goodfellow et al. — Explaining and Harnessing Adversarial Examples | ICLR 2015 | FGSM 攻击原理,为什么 CNN 容易被骗 | 1412.6572 | | 0.2 | Madry et al. — Towards Deep Learning Models Resistant to Adversarial Attacks | ICLR 2018 | PGD 攻击(FGSM 的迭代加强版),对抗训练基础 | 1706.06083 |
学习目标: 理解”对抗样本”是什么、梯度上升为什么有效、为什么像素级别的微小改动能摧毁 CNN 分类。
预计时间: 2-3 天
| # | 论文 | 年份 | 取什么 | arXiv | |—|——|——|——–|——-| | 1.1 | Athalye et al. — Synthesizing Robust Adversarial Examples (EOT) | ICML 2018 | 如何让对抗样本对旋转/缩放/光照变化鲁棒——这就是那只著名的”3D 对抗乌龟”的论文 | 1707.07397 | | 1.2 | Athalye et al. — Obfuscated Gradients Give a False Sense of Security | ICML 2018 | 为什么很多防御是假的,EOT 怎么打破它们 | 1802.00420 |
学习目标: 理解 EOT(Expectation Over Transformation)——蒙特卡洛采样过随机变换估计真实梯度。这是所有 3D 对抗纹理工作的数学基石。
关键公式: \(\nabla_x L = \mathbb{E}_{t \sim T} [\nabla_x L(h_\theta(t(x)), c)]\)
在多个随机变换下取梯度平均 = 对变换分布鲁棒的对抗样本。
预计时间: 3-5 天
| # | 论文 | 年份 | 取什么 | arXiv | |—|——|——|——–|——-| | 2.1 | RenderBender: Adversarial Attacks Using Differentiable Rendering — A Survey | IJCAI 2025 | 整个领域的全景地图,覆盖纹理/光照/Mesh/NeRF 攻击 | 2411.09749 | | 2.2 | Xiao et al. — MeshAdv: Adversarial Meshes for Visual Recognition | CVPR 2019 | 第一个用可微渲染做 3D 对抗攻击的工作(著名的”对抗乌龟”) | 1810.05206 |
补充参考书:
学习目标: 理解”可微渲染器”是什么——它把 3D 场景的渲染过程变成可导的,这样可以把检测器的梯度反向传播到纹理像素上。
预计时间: 5-7 天(含动手跑 PyTorch3D 教程)
| # | 论文 | 年份 | 取什么 | arXiv |
|---|---|---|---|---|
| 3.1 ⭐ | TACO: Adversarial Camouflage Optimization on Trucks | 2024 | 最重要的参考实现——UE5 + 可微渲染 + YOLOv8,AP@0.5 打到 0.0099 | 2410.21443 |
| 3.2 ⭐ | Hu/Chu et al. — AdvCaT: Clothing Textures Evade Person Detectors | CVPR 2023 | 攻击人检测(不是车),Voronoi 参数化纹理 + 真实布料打印验证 | 2307.01778 |
| 3.3 | Duan et al. — Adversarial Texture Optimization for 3D Object Detection | ECCV 2022 | 全车覆盖对抗纹理,多视角 EOT | 搜索 arXiv |
| 3.4 | Wang et al. — DAS: Dual Attention Suppression Attack | 2021 | 攻击检测器的 attention map,用部分覆盖纹理 | 搜索 arXiv |
| 3.5 | Zhong et al. — Frequency Domain Adversarial Attacks | CVPR 2022 | 频域对抗攻击——我们之前讨论的 DCT 路线的学术版本 | 搜索 arXiv |
学习目标: 完整理解”3D 纹理 → 可微渲染 → 多视角 EOT → 检测器失效”的流水线。
预计时间: 7-10 天(含读 TACO 代码)
| 论文 | 代码位置 |
|---|---|
| TACO | 搜 GitHub TACO adversarial camouflage,或 MDPI 文章附带的 supplementary |
| AdvCaT | GitHub chuwd19 (作者) |
| RenderBender Survey | 综述整理了大量仓库链接 |
| PyTorch3D 官方教程 | github.com/facebookresearch/pytorch3d |
选项 A(学术路线):
PyTorch3D + Mitsuba 3 = 最灵活,但和 UE5 不直通
选项 B(TACO 路线):
UE5 渲染 → Photorealistic Rendering Network (PRN) 代理 → PyTorch 梯度
UE5 负责真实光照/阴影,PRN 负责可微性
选项 C(简化路线——推荐先试这个):
UE5 截图(多视角)→ 离线训练对抗纹理 → 验证
不完全可微,但足够做概念验证
预计时间: 10-14 天
| 书 | 用途 |
|---|---|
| Deep Learning (Goodfellow, Bengio, Courville) | 第 6-9 章(CNN)、第 13 章(对抗样本)—— MIT 出版社免费在线 |
| Computer Vision: Algorithms and Applications (Szeliski) | 第 5 章(特征检测)、第 14 章(识别) |
| Physically Based Rendering (Pharr, Jakob, Humphreys) | 渲染管线基础知识 |
| PyTorch3D 官方教程 | 动手学可微渲染 |
Week 1-2: 阶段 0-1 → 看懂为什么 CNN 能被像素级改动摧毁
Week 3-4: 阶段 2 → 跑通 PyTorch3D 教程,理解可微渲染
Week 5-6: 阶段 3 → 精读 TACO + AdvCaT,画出他们的 Pipeline
Week 7-8: 阶段 4 → 复现 TACO,把卡车换成游戏角色
| 阶段 | 要能回答 |
|---|---|
| 0 | 为什么 CNN 对 $L_\infty < \epsilon$ 的扰动脆弱? |
| 1 | EOT 的蒙特卡洛采样为什么能打破随机变换防御? |
| 2 | 可微渲染器的梯度怎么从像素级传到纹理 UV 坐标上? |
| 3 | TACO 的 Photorealistic Rendering Network 是什么?为什么需要它? |
| 4 | 你能在自己的 GPU 上跑通 TACO 的 Pipeline 吗?对 YOLOv8 的 AP 打到多少? |
完成学习后,你应该能: