张竞一·Jingyi Zhang

项目相关

科研项目与开源项目 · 最后更新 2026/08/31

固定相机动态光照下的 Billboard 可微优化

Computer Graphics Differentiable Rendering PyTorch Blender

项目概述

本项目来自 2026 年夏季计算机图形学前沿课程实践。目标是改进传统树木 Billboard 在动态光照下“贴图明暗被烘焙固定”的问题:在固定相机条件下,让轻量化二维 Billboard 能够随方向光改变而产生合理的树冠、树干明暗变化,并尽量逼近同一光照条件下的高模树木渲染。

当前页面已按最终课程实验重新整理。与早期版本不同,本实验不改变视角,而是锁定一台固定正交相机, 只改变方向光;也不使用“32 视角 × 多光照”的多视角设定。

实验设定

  • 高模输入:tree.glb,经 Blender 归一化后作为参考对象。
  • 相机:固定正交相机;数据生成后相机位置、朝向和投影参数保持不变。
  • 唯一变化量:方向光方向,共采样 32 个方向。
  • 数据划分:24 个训练方向光(light 000–023)+ 8 个测试方向光(light 024–031)。
  • 参考渲染:Blender Cycles,256×256 RGBA,透明背景,32 samples。
固定相机下多个方向光的高模树木参考图
固定相机下的方向光参考图:轮廓和投影位置保持一致,仅明暗分布随光源方向变化。

方法设计

Billboard 使用两张 128×128 可训练纹理:第一张保存 RGB 反照率与 Alpha,第二张保存切线空间法线 的 XY 分量与粗糙度。纹理通过双线性插值放大到 256×256,再进入完全由 PyTorch 运算组成的可微着色器。

  • 颜色/轮廓:albedo_alpha 学习 RGB 反照率和透明度。
  • 光照响应:normal_roughness 学习局部法线和粗糙度,使不同像素能随光方向产生不同响应。
  • 着色模型:常量环境项 + Lambert 漫反射 + 简化镜面高光。
  • 训练目标:前景 RGB L1 + Alpha L1 + 平滑正则。
  • 优化设置:Adam,学习率 0.01,batch size 4,共训练 200 epoch。
训练后两张纹理的反照率、透明度、法线和粗糙度通道分析
训练纹理的通道分解:反照率/透明度、Alpha、重建法线与粗糙度。

实验结果

在完全未参与优化的 8 个测试方向光上,优化后的双贴图 Billboard 相比训练前的普通单贴图 Billboard 在所有测试光照上都降低了 RGB 误差并提高了 PSNR。

0.1145 → 0.0492
前景 RGB L1 ↓
降低约 57.0%
16.05 → 22.93 dB
前景 PSNR ↑
提高约 6.88 dB
0.01031 → 0.00536
Alpha L1 ↓
降低约 48.0%
Billboard 可微优化 200 epoch 训练损失曲线
200 个 epoch 的训练目标持续下降并趋于稳定。
8 个测试方向光下优化前、优化后与高模参考的完整对比
完整测试集。每组从左到右依次为:优化前单贴图 Billboard、优化后双贴图 Billboard、高模参考。

结论与边界

结果说明,两张可训练材质纹理能够从多方向光参考图中学习到具有方向性的局部着色响应,明显缓解普通 Billboard 光照固化的问题。与此同时,单平面表示仍无法完全复现高模树冠内部的多层遮挡、细枝投影阴影和复杂透射, 因此它仍是面向远景实时渲染的轻量化近似,而不是对高模的逐像素完全替代。