Designing and Fabricating Color BRDFs with Differentiable Wave Optics
Zhejiang University; KAIST; KAUST
一句话总结
本文提出首个能够同时设计并制造”彩色 BRDF”的方法:用一套完全可微、显存高效的波动光学仿真框架,端到端优化微结构表面的高度图,让反射光在角度强度和光谱颜色上都可编程,并通过灰度光刻在晶圆上以微米级分辨率真实制造出反镜面、图像化反射、结构色与虹彩四类 BRDF。
研究背景
表面反射建模是连接光学理论与真实渲染、制造的核心问题。解析 BRDF 因高效易用仍是渲染主流,但基于微结构表面的物理模型(几何光学与波动光学)能刻画更复杂的反射行为。近年来出现了不少”可定制 BRDF 制造”工作,但存在两大局限:
- 基于几何光学的方法(如统计微面元拟合、精密铣削)只能复现漫反射或各向异性镜面波瓣,受几何配置限制,空间分辨率不足,角度保真度差。
- 基于波动光学的方法能获得更高空间分辨率与更丰富的外观效应,但都是手工设计、局限于少数固定 BRDF 家族,且只控制反射光强度,完全无法控制反射波瓣的颜色。
与此并行的结构色(structural color)研究能产生鲜艳、耐久、环保的颜色,但这些工作只关注漫反射式的颜色外观,不提供对 BRDF 波瓣角度强度分布的控制。
于是出现了一个关键空白:以往方法要么能造 BRDF 强度、要么能造结构色,但二者无法同时。而”角度 + 光谱”的联合控制对很多应用至关重要——例如防伪中随视角切换的颜色、光谱与角度敏感的成像器件、随光照自适应的表面。一个直观例子是:一块表面从某角度看反射红色图标、从另一角度看反射蓝色图标,这是颜料或角度不变的结构色都做不到的。本文正是要填补这一空白。
核心方法
整体思路是把 Yan 等人 2018 年提出的基于 Gabor 核分解的波动光学 BRDF 前向渲染,扩展成一条完全可微的管线,从而能对表面高度图做基于梯度的逆向优化,直接匹配目标 BRDF;再配合面向制造的约束与灰度光刻工艺,把优化结果落地成真实器件。
前向:波动光学下的 BRDF 建模
方法聚焦纯表面反射,忽略折射与材料共振,因此针对的是微米级特征、高反射率的材料(纳米级特征会引入共振,被排除)。表面假设为全局平面、法线沿 \(+z\) 方向,忽略遮挡、阴影与掩蔽。远处光源的入射波前近似为平面波,非偏振光场用标量场近似为单个复值函数。
关键在于空间相干性(coherence area)的处理:点光源下反射场在整个表面全局相干;但真实光源是有限张角的扩展光源,相干只发生在一个有限区域内,区域大小由光源角尺寸决定。在相干区内做相干求和,区外则按强度(振幅模平方)非相干叠加——后者与几何光学一致。
BRDF 计算遵循三步推导:
- 表面高度对波前产生相位调制,用复值调制函数表示:
\[\varphi(s) = \exp\!\left(i\,\frac{2\pi}{\lambda}\,b_1\,h(s)\right),\quad b_1 = v\cdot n\]
其中 \(h(s)\) 是二维位置 \(s\) 处的表面高度,\(\lambda\) 为波长,\(v = \omega_i + \omega_o\) 为入射与出射方向之和,\(b_1\) 决定了高度变化引起的相位梯度。
-
相干区内做 Kirchhoff 积分,在 Kirchhoff 近似下等价于对(被相干高斯核加权后的)调制函数做傅里叶变换。相干区用以 \(x_c\) 为中心的高斯核刻画,其标准差 \(\sigma_c = \dfrac{\lambda}{6\theta}\) 由波长 \(\lambda\) 与光源张角 \(\theta\) 决定。
-
取复场模平方得到反射强度,并与相干区外的非相干贡献合并。
为高效且可微地计算傅里叶变换,方法用 Gabor 核混合来局部逼近调制函数 \(\varphi\)。单个 Gabor 核是二维高斯包络与复值平面波的乘积:
\[g(s;\mu,\sigma_g,\xi) = G(s;\mu,\sigma_g)\,\exp\!\left(i\,2\pi(\xi\cdot s)\right)\]
Gabor 核有解析的傅里叶变换且天然局部支撑,因此每个 Gabor 可独立计算反射,非常适合 GPU 上用共享内存并行,避免存储巨大的全局缓冲。相比全局 FFT,这种分解显著降低显存、避免冗余计算,并同时加速前向与反向传播。角度色散采用倒易 Original-Harvey-Shack(R-OHS)模型给出前置因子。
颜色部分:在 420–680 nm 之间均匀采样 8 个离散波长,逐波长在傅里叶域独立计算反射强度,再乘以材料的波长相关 Fresnel 系数(假设等能量照明谱),最后经标准的”光谱 → CIE XYZ → sRGB”变换得到颜色。空间上在一个特征邻域(patch)内做平均。
反向:可微波动光学优化
逆问题是:设计一个微结构表面使其产生目标 BRDF。难点在于波动光学 BRDF 依赖跨相干区积分的相位相互作用,非局部且由干涉主导。方法用标量衍射理论给出相位与振幅的闭式导数,把光场显式表示为 \(U(x) = A(x)e^{i\phi(x)}\),用 R-OHS 理论给出高度到相位的解析关系(材料只影响振幅、不影响相位,简化了梯度路径),传播用 Kirchhoff 积分即傅里叶变换,从而实现从渲染 BRDF 到表面几何的可微梯度回流。据作者所述,这是首个联合建模干涉、衍射与光谱颜色的可微波动光学 BRDF 管线。
显存高效的反向传播:通用自动微分框架(如 PyTorch)要求张量连续存储并按整批并行,但本文渲染是在局部相干区上做的”滑动窗口”计算;若强行展开 Gabor 核成重叠窗口并复制到连续内存,会带来巨大显存与计算开销。为此作者实现了定制 CUDA 反向传播:借鉴 GPU 加速的高斯渲染思路,不复制 Gabor 核,而是为每个查询记录相关 Gabor 的索引、按需取入共享内存。将 Gabor 场划分为 \(16\times16\) 空间样本的块、每块 512 个 CUDA 线程;由于样本反射依赖其相干区内的邻居,每个块需访问扩展区域 \((16+n_c)\times(16+n_c)\)(\(n_c\) 为以特征为单位的相干半径),块之间因此有重叠边界。梯度用 Gabor 核的解析性质与链式法则显式推导,避免数值微分。该管线相比基线 Gabor BRDF 渲染约快 7 倍、显存约为其 1/30。
为什么直接优化高度图:对单波长 BRDF,可以先优化 Gabor 参数再反解一个高度场(尽管 \(\varphi\) 关于高度周期、反解不唯一,单波长下仍可选一个可行解)。但多波长时,要找到一个同时满足所有波长调制函数的高度场是高度非凸的混合整数问题,且需附加可制造性约束,无法简单拼接各波长的解——这正是 Levin 等方法无法扩展到颜色制造的根本原因。因此本文选择直接优化高度图本身,天然保证跨波长兼容,并能纳入高度范围、最小特征尺寸、物理平滑等制造约束(甚至可扩展到可微光刻仿真)。代价是牺牲全局最优性(会陷入局部极小),但换来实用性与泛化性。
采样
- 空间采样:优化会产生高频几何细节,采样不足会引入混叠。消融显示每特征 \(1\times1\)、\(2\times2\) 采样无法保留 \(\varphi\) 的关键相位结构,\(4\times4\)、\(8\times8\) 则保真度高。全文优化用 \(4\times4\)、最终渲染用 \(8\times8\)(即每特征 16 个 Gabor),角度渲染用 \(128\times128\) 查询的 patch,并在计算 \(\varphi\) 前对高度图施加标准差 \(\sigma_b = 0.13\ \mu m\) 的高斯模糊抑制混叠。
- 方向采样:优化后的 BRDF 常在镜面方向附近出现不想要的镜面尖峰(源于高度图低频成分在傅里叶域产生的脉冲)。作者引入重要性采样,对归一化方向向量取平方,把样本集中到角域中心,从而更有效地压制中心镜面尖峰、提升角度对比度。
优化目标
在全谱照明下最小化渲染 BRDF 与目标的差异。管线评估 8 个波长并转 sRGB,对每个角度对 \((\omega_i,\omega_o)\) 在 patch 内做空间平均。默认 patch 尺寸为 \(32\times32\) 个特征(物理上对应目标显示分辨率下单个像素投影的表面面积)。损失是 sRGB 空间的简单光度损失:
\[L = \sum_{m}(c_m - \bar c_m)^2\]
其中 \(c_m\) 与 \(\bar c_m\) 分别是所有角度样本上的预测与真值 RGB 值。优化直接在高度空间进行,不依赖正则或手工先验;相比 Levin 等预定义离散 BRDF 家族并用启发式算法,本方法在全可见谱上联合优化反射,既能精确控制角度与波长上的强度和颜色分布,又能支持任意(含复杂、彩色结构化)BRDF 图案,同时满足物理与制造约束。
真实制造
面向制造的考量:为弥合仿真与制造的差距,方法处理了几点实际因素——用复制的高度数据对中心 patch 做 padding 以实现相干区重叠;用强度缩放因子控制反射强度、并把高度图约束在固定范围 \([0,h]\);为模拟制造噪声,对高度图施加标准差 \(\sigma_b\) 的高斯滤波并加入标准差 \(\sigma_n\) 的相对高斯噪声。消融表明:更大的高度范围、更小的特征尺寸、合适的强度缩放能带来更锐的光谱峰和更强的颜色选择性,但也增加制造难度。综合权衡后,真实制造选用最大高度 \(0.8\ \mu m\)、特征尺寸 \(1.6\) 或 \(2\ \mu m\)。
灰度光刻:灰度光刻通过在基底上调制曝光强度实现连续浮雕,相比需要多次精确对准掩模的二值光刻(对准误差可达数百纳米、会显著扭曲几何),它支持无掩模、单步曝光。本文采用直写激光(direct laser writing)方式,聚焦激光束扫描表面并动态调节局部曝光强度,具备高空间分辨率。最终以 \(1.5\)–\(2.0\ \mu m\) 的特征分辨率(约 12,700–16,933 dpi)在晶圆上制造了 15 个 BRDF,覆盖反镜面(anti-mirror)、图像化反射(pictorial)、结构色与虹彩四类。
实验与结果
- 对比几何光学:对 Anti-mirror、各向异性 Anti-mirror、Blue 三个优化 BRDF,几何光学无法刻画反镜面效应或波长相关行为,只能给出单色、对称的波瓣;波动光学则准确重现反镜面的方向性相消干涉与光谱变化(如蓝色波瓣)。
- 性能(\(32\times32\) 高度图、\(4\times4\) 采样、单张 RTX 4090):本方法渲染时间约 1.3 小时、显存约 0.49 GB,是所有对比波动光学 BRDF 仿真方法中最快、显存最省的——相比 Yan 等 2018 的 GPU 版约 7 倍加速、约 30 倍显存缩减;而 Yu 等 2023 的全波求解需至少 4 张 GPU、耗时约 819 小时。
- 真实制造验证:微观图、高度图与仿真、真实制造结果对齐良好,展示了对强度与颜色的准确角度控制。相比 Levin 等只能做无颜色控制的反镜面,本方法能产生随视角变化的多色虹彩效果;相比 Weyrich 等基于几何光学的低频灰度纹理,本方法凭波动光学能达到更细的空间分辨率并额外获得基于衍射的颜色调制(如反相的蝙蝠侠图像化 BRDF)。据作者所述,这是首个经物理验证、能用波动光学制造彩色 BRDF 并同时实现角度与光谱控制的系统。
贡献
- 一套完全可微的波动光学仿真框架,支持对表面微几何做端到端优化,实现 BRDF 的强度与颜色联合控制。
- 一种面向制造的公式化方法,用 Gabor 核分解纳入空间相干性、光谱采样与物理模糊模型,弥合仿真与真实制造。
- 展示了可编程的 BRDF 家族(反镜面、图像化、结构色、虹彩),并用灰度光刻在晶圆上真实制造。
局限与展望
方法只建模表面反射,忽略折射与材料共振,因此适用于微米级特征的高反射材料,纳米级共振效应不在范围内;全局平面假设下忽略遮挡、阴影与掩蔽。直接优化高度图放弃了全局最优性、会陷入局部极小。相位关于光程的周期性可能引入高频梯度振荡,需靠精心设计的训练参数与采样策略缓解。作者指出可进一步扩展到更高级的面向制造模型(如可微光刻仿真),并展望在结构着色、产品设计、防伪印刷与先进制造等方向的应用。代码与数据已开源。