DeepLens 论文精读 · 复现笔记
论文:Curriculum Learning for ab initio Deep Learned Refractive Optics
作者:Xinge Yang, Qiang Fu, Wolfgang Heidrich(KAUST 计算成像组)
发表:Nature Communications 15, 6572 (2024) · arXiv:2302.01089
代码:vccimaging/DeepLens(自动设计已迁至 AI4Optics/AutoLens)
原文存档:H:\zj\Curriculum Learning\Curriculum Learning .pdf
整理日期:2026-10-06
目录
- 摘要
- 一、问题定义:为什么复合透镜无法"从零学起"
- 二、方法框架:一条课程化的可微优化流水线
- 2.1 训练主循环
- 2.2 三大机制(消融 Table 1,缺一不可)
- 2.3 两类设计产出
- 三、复现路线:P0–P4 五阶段规划
- 四、成本账:分级复现要花多少钱
- 五、常见误区与避坑清单
- 5.1 上次"很贵"的两个真凶
- 5.2 省钱清单
- 六、结论与延伸
- 附录 A:术语速查
- 附录 B:自查清单
摘要
DeepLens 以可微光线追迹为引擎,从近平板随机结构出发,经正弦课程调度逐步收紧视场与光圈,配合三项光学正则及重加权掩码,实现复合透镜免初值自动设计;EDoF 分支以混合表面与 NAFNet 联合优化。本笔记梳理其方法框架,规划 P0–P4 复现路线并分级核算成本。
一、问题定义:为什么复合透镜无法"从零学起"
深度光学优化此前受限于两条路:
- 只能设计单片式元件(DOE、metalens)——自由度低,梯度好驾驭;
- 只能从 Zemax 导出的好初值微调复合透镜——本质仍是局部优化,没有摆脱对人工初值结构的依赖。
根本障碍:复合透镜参数空间高度非凸,随机初始化的几何几乎必然产生表面自交、光线溢出等病态结构,梯度直接失效。
二、方法框架:一条课程化的可微优化流水线
2.1 训练主循环
近平板随机初始化 → 可微光线追迹(dO 引擎,PyTorch autograd)渲染传感器图像 → 图像空间损失反传 → 更新光学参数 θ(曲率、间距、conic、非球面系数)。
两个易错点:
- 损失是图像域 MSE(
‖M(Ĩ−I)‖²),不是 RMS spot size——RMS 仅用于评估(256 个视场); - 内存靠伴随渲染解决:先无梯度追迹拿误差图,固定种子重放带梯度追迹,配合 patch 反传。
2.2 三大机制(消融 Table 1,缺一不可)
| 机制 | 细节 | 摘除后果 |
|---|---|---|
| 正弦课程调度 | t_i = t_a + (t_b−t_a)·sin(iπ/2N);FoV 47.5°→80.8°,F/2.8→F/2.0,后期步进更小 | 60% 初始化解自交 |
| 光学正则 ×3(ω=0.02) | 光线倾角 ε=0.7;表面间距 ε=0.4/0.2 mm;面形梯度 ε=0.5;不越界零梯度 | 100% 自交 |
| 重加权掩码 + 畸变松弛 | RMS < 0.8×均值的视场置零;主光线估计畸变后对物体预畸变 | 收敛变慢 / 局部极小 |
核心洞见一句话:像差随孔径与视场超线性恶化,所以先设计"简单镜头"再逐步逼近最终规格——传统"逐级收紧"手工流程的可微化、自动化版本。
2.3 两类设计产出
- 经典镜头:FoV 80.8°、F/2.0、焦距 4.5 mm;20 组随机初始化下 Avg/Min RMS = 15.74/12.50 μm;
- EDoF 计算镜头:第一表面替换为"偶次非球面 + 奇次多项式"混合面(立方相位板思想推广),与 NAFNet 联合训练;3 波长(486/587/656 nm)、8 深度(10 cm–10 m)、DIV2K;10 cm–10 m 全程 PSNR 高于经典镜头约 1–2 dB。
三、复现路线:P0–P4 五阶段规划
| 阶段 | 内容 | 工作量 | 验收物 |
|---|---|---|---|
| P0环境复检 | AutoDL 实例确认、git log锁 commit、重跑最小 demo、固定种子 | 半天 | 可复现的环境日志 |
| P1经典镜头复现 | 近平板随机初始化 → 完整课程收敛(对应 Fig.1 手机镜头) | 1–2 天 | 课程各阶段镜头剖面演化图 + RMS 网格热图 |
| P2Table 1 消融 | 课程/正则/掩码 2³ 组合 × 种子;指标:无自交比例、Avg/Min RMS | 2–3 天 | 独立回答"哪个机制贡献最大" |
| P3EDoF 端到端 | 混合面 + NAFNet,DIV2K、3 波长 8 深度;PSNR/SSIM @ 10cm/20cm/10m | 3–5 天 GPU | 与论文 Table 2 对比 |
| P4延伸选题 | ray-wave 衍射混合透镜 / neural PSF 代理 / 制造公差鲁棒微调 | 自选 | — |
执行要点:
- P0 别跳过,否则消融没有可比性;
- P2 是性价比最高的实验:算力要求低,结论独立可信;
- P3 先 512² 跑通管线再上 1024²,避免烧钱在 bug 上;
- P4 优先 ray-wave 分支——与"模块缝合"方向天然衔接(可微光学 + 衍射元件 ≈ 物理模块拼接);
- L1/L2 建议用AI4Optics/AutoLens仓库(活跃维护),DeepLens 主仓库留给 ray-wave / PSF 代理方向。
四、成本账:分级复现要花多少钱
AutoDL 现价:4090 ¥1.88/h,3090 ¥1.32/h(无卡模式 ≈ ¥0.1/h)。
估算依据:2_autolens_rms.py课程设计默认 5000 iter/阶段(约 4–6 阶段 + 微调),1_design_geolens.py单次设计 10000 iter;EDoF 每步含可微渲染 + 伴随渲染 + patch 反传,为全流程最重部分。
| 层级 | 内容 | GPU 时 | 费用(3090/4090) |
|---|---|---|---|
| L1单次课程设计(Fig.1 手机镜头) | 1 次完整 run | 3–10 h | ¥5–19 |
| L2 缩水版消融(5 配置 × 3 种子) | 15 run | 50–150 h | ¥66–280 |
| L2⁺ 论文级消融(5 配置 × 20 种子) | 100 run | 300–1000 h | ¥400–1880 |
| L3EDoF 端到端 | 联合优化 + 微调 + 鲁棒扰动 | 200–500 h | ¥380–940(4090) |
| 论文全量(L1+L2⁺+L3) | — | 500–1500 h | ¥700–2800 |
结论:分级做的话,¥10–20 拿 L1,¥100–300 拿 L1+L2;论文全量复现才需要千元级。
五、常见误区与避坑清单
5.1 上次"很贵"的两个真凶
- 实例空转计费:AutoDL 按秒计费但开机即扣。demo 跑完没关机,挂一晚就是几十块;
- 大卡跑轻任务:经典镜头课程设计全是光线追迹,batch 小、显存低,3090 足够。
5.2 省钱清单
- 无卡模式装环境、改配置、验证启动(~¥0.1/h)
- 调试用最便宜卡,开训才切 3090
- 消融种子数 20 → 3,成本降 85%,趋势不变
- EDoF 先 512² 验证损失下降,再上 1024²
- 每阶段存 checkpoint + 固定种子,可崩溃续跑
- 训练结束立刻关机 / 设自动关机脚本
六、结论与延伸
- 推荐路径:先花 ¥10–20 在 3090 上跑 L1(AutoLens,配置见
configs/2_auto_lens_design.yml:foclen 6.1 / fov 85° / fnum 1.9),拿到镜头演化图和 RMS 曲线; - 信息缺口:正文未写的三处细节需翻 Supplementary——逐阶段参数解锁与收敛判据(Note 1)、镜头片数案例(Note 4)、EDoF 评估细节(Note 5);
- 延伸方向:ray-wave 混合模型(SIGGRAPH Asia 2024)与"模块缝合"方法论同构,适合作为下一篇笔记的选题。
附录 A:术语速查
| 术语 | 含义 |
|---|---|
| ab initio | 从零开始(无人工初值结构) |
| dO | 前身可微光线追迹引擎(IEEE TCI 2022) |
| EDoF | Extended Depth-of-Field,扩展景深 |
| 混合表面 | 偶次非球面 + 奇次多项式的复合面形 |
| 伴随渲染 | 分两遍追迹以省显存的反传技巧 |
| 重加权掩码 | 将已收敛视场从损失中置零的机制 |
附录 B:自查清单
- 能说出为什么损失用图像域 MSE 而非 RMS spot
- 能解释正弦课程为何后期步进更小
- 能列出三项正则各自的物理目的
- 能估算自己下一步实验的算力预算