Conference

DiLightNet: Fine-grained Lighting Control for Diffusion-based Image Generation

Chong Zeng, Yue Dong, Pieter Peers, Youkang Kong, Hongzhi Wu, Xin Tong

Zhejiang University; Microsoft Research Asia

一句话总结

DiLightNet 通过向文本到图像扩散模型注入「辐照度提示」(radiance hints,即用规范材质渲染出的粗略光照可视化),实现了在文本驱动生成过程中对前景物体光照的细粒度、独立控制。

研究背景

现有文本到图像扩散模型虽然能生成任意光照下的图像,却难以对光照做精确控制,主要有两方面障碍:

  • 内容与光照高度耦合。模型采样存在光照偏置,例如生成足球时大多默认使用正面闪光灯照明,生成机器人时光照集中于前左或前右,用户无法把光照和内容独立开来控制。
  • 文本本身表达力不足。语言只能给出定性(暖、冷)与粗略方位(左、右、轮廓光)的描述,且当前文本嵌入对细粒度信息编码能力有限;直接把光照方向或环境图作为条件,又受限于耦合与表示能力,无法实现独立可控。

作者主张改用辐照度提示来传递光照条件:用规范同质材质、在目标光照下渲染出的图像。但文本生成场景里前景几何是未知的。核心观察是:既然只是引导扩散采样方向,就无需精确的辐照度提示,粗略近似即可,细节交给扩散模型的生成能力补全。

方法

整体框架分三个阶段:先用预训练模型生成一张不受控光照的临时图确定形状与纹理,再用辐照度提示引导 DiLightNet 重新合成与目标光照一致的前景,最后补全与光照一致的背景。

flowchart TD
    A["文本提示 + 内容种子"] --> B["阶段一:预训练扩散模型<br/>生成不受控光照的临时图"]
    B --> C["估计前景掩码 U2Net/SAM<br/>估计深度 ZoeDepth"]
    C --> D["三角化 + Laplace 平滑<br/>得到粗略代理几何"]
    E["目标光照"] --> F["Blender Cycles 渲染<br/>4 张辐照度提示"]
    D --> F
    B --> G["编码器编码临时图<br/>输出 12 通道特征"]
    F --> H["逐通道相乘"]
    G --> H
    H --> I["阶段二:DiLightNet ControlNet<br/>+ 文本提示 + 外观种子"]
    I --> J["与目标光照一致的前景"]
    J --> K["阶段三:背景补全<br/>环境图直接渲染或扩散 inpainting"]
    K --> L["最终结果图"]

关键设计:

  • 辐照度提示生成。从临时图分割前景并估计深度,三角化成网格并做 Laplace 平滑以抑制高频误差(作者发现 ControlNet 对低频着色误差不敏感,但高频误差会产生伪影)。借鉴 NeRF 位置编码思想、并利用 BRDF 对入射光起带通滤波的性质,用 Disney BRDF 渲染 4 张不同频率的提示:1 张纯漫反射,3 张粗糙度分别为 \(0.34\)、\(0.13\)、\(0.05\) 的高光材质,渲染时包含阴影与间接光。

  • 光照条件 ControlNet。ControlNet 需要逐像素控制信号,因此无法直接用环境图或球谐编码。为保留临时图的形状与纹理,又要解耦其中未知的光照,作者用一个仿 Gao 等人延迟神经重光照结构的编码器(减少通道数以省显存)把临时图(alpha 通道置为分割掩码)编码为 12 通道特征,再与 \(4\times3\) 通道的辐照度提示逐通道相乘后送入 ControlNet。

  • 合成训练数据。从 Objaverse 的 LVIS 类别选取带粗糙度图或法线图的物体,并做材质增强(赋同质高光、引入 INRIA-Highres SVBRDF 空间变化材质),共 25K 个物体。光照涵盖点光、多点光、环境光、单色环境光、面光五类。训练时用带修改着色法线的真值几何来渲染提示,只引入局部着色近似(避免真值法线与测试时深度估计法线之间的域差),并做 RGB 通道随机置换的颜色增强。

实验结果

在与训练集无重叠的 50 个 Objaverse 高质量物体测试集上(每个 3 视角、6 种光照,取 4 个外观种子中 LPIPS 最低者)进行消融,验证各组件贡献:

变体 PSNR ↑ SSIM ↑ LPIPS ↓
完整网络(本文) 22.97 0.8249 0.1165
直接拼接 ControlNet 22.82 0.8216 0.1212
未编码直接相乘 22.40 0.8174 0.1232
3 张辐照度提示 22.92 0.8197 0.1188
5 张辐照度提示 22.79 0.8200 0.1176
无掩码 22.23 0.8148 0.1184
无平滑法线增强 21.88 0.7974 0.1314
无颜色增强 22.54 0.8161 0.1223

结果表明:编码后再相乘优于直接拼接或未编码相乘;4 张提示最佳;掩码、平滑法线增强与颜色增强都有正向作用,其中平滑法线增强影响最大(弥合训练完美法线与测试估计法线的域差)。两项用户研究进一步验证:光照相似度评分为 \(19.61/19.85/12.25\)(本文 / 正基线 / 负基线),外观一致性评分为 \(25.75/25.05/11.35\),均与正基线相当。

亮点与局限

亮点:

  • 首次在文本到图像扩散生成中实现对前景物体光照的细粒度、独立控制,支持从点光到环境光的任意光照类型。
  • 用「粗略辐照度提示引导 + 扩散模型补全细节」绕开了文本生成中前景几何未知的难题,无需精确几何。
  • 三阶段设计带来额外可控性:外观种子可采样对材质的不同解释,二阶段特化提示可进一步约束材质表现;跳过第一阶段直接输入照片还能做近似单图重光照。

局限:

  • 材质控制仅依赖文本提示与外观种子,光材交互未必符合意图,作者建议引入材质感知扩散模型(如 Alchemist)改进。
  • 依赖现成的深度与掩码估计,某些误差(如浮雕歧义 bass-relief ambiguity)会导致不理想结果。
  • 图像独立生成,固定内容种子改变光照时可能出现轻微结构形变,缺乏跨帧时序一致性。

延伸思考

用「规范材质渲染的粗略中间量」作为控制信号,而非精确物理量,是把生成模型的补全能力当作正则化来用的一条实用思路——它把「需要精确几何」的难题转化为「只需指对方向」的弱条件问题,这一范式对其他缺乏精确中间表示的可控生成任务(如材质、法线、阴影控制)都有借鉴价值。将辐照度提示按 BRDF 频率分解为多张漫反射/高光提示的做法,也提示了在扩散条件设计中显式编码物理先验的价值。若能引入材质感知模型与跨帧一致性,方法有望向可控重光照视频与富材质文本到 3D 生成延伸。