VSDiffusion: Taming Ill-Posed Shadow Generation via Visibility-Constrained Diffusion¶
会议: ECCV 2026
论文: ECCV 原文
代码: https://github.com/Jadelingli/VSDiffusion
领域: 图像生成
关键词: 阴影生成, 图像合成, 扩散模型, 可见性先验, 条件控制
一句话总结¶
针对图像合成中前景阴影生成的病态反问题,提出基于两阶段可见性约束的扩散框架 VSDiffusion,结合残差控制先验注入、门控交叉注意力与空间软先验加权损失,实现几何自洽且边缘锐利的高质量阴影生成。
研究背景与动机¶
在真实感图像合成与前景目标融合任务中,生成与背景环境几何自洽的投射阴影(Cast Shadow)是决定画面真实感的关键要素。早期基于物理渲染的方法高度依赖精确的三维几何重构与环境光照估计,在野外未校准图像中难以推广;近年来基于深度学习的数据驱动方法虽然摆脱了显式渲染管道,但往往仅依赖弱监督掩膜或粗糙文本条件进行端到端生成,极易学到表层纹理的伪相关性,经常生成光照方向矛盾、轮廓畸变或接触面悬浮的不合理阴影。
从物理光学与成像几何的本质来看,单张合成图像缺乏完整的三维几何与光源参数,导致同一张输入图像可能对应无数种视觉上似乎合理的阴影形态,构成了极端病态(Ill-posed)的一对多反问题。物理上,阴影源自光源点到接收点之间光线被遮挡物阻断的可见性跃迁(\(V: 1 \to 0\));只要能显式约束光照、遮挡体与受光面的空间相对关系,就能将无序发散的假想解空间大幅收缩到物理允许的几何流形内。
现有扩散模型若采取全层密集条件拼接,容易造成过度约束与纹理过平滑,而在无参考阴影(BOS-free)的复杂背景下更会彻底失去方向指引。核心 idea:将阴影生成解耦为粗定位与可见性约束扩散的两阶段过程,通过残差控制分支向 U-Net 关键锚点注入光照与深度先验,并利用自适应软先验损失重塑误差易发区的梯度分配,以极低计算开销达成高保真几何收敛。
方法详解¶
整体框架¶
VSDiffusion 整体采用渐进收缩解空间的两阶段生成流水线。第一阶段接收合成图像 \(I_c\)、前景掩膜 \(M_{fo}\) 与背景已有阴影掩膜 \(M_{bs}\),通过双编码器与交叉注意力交互网络生成粗粒度前景阴影掩膜 \(M_{fs}^{(1)}\),并将其与前景区域合并构建组合引导掩膜 \(M_{comb}\)。第二阶段在条件去噪扩散模型中引入可见性控制分支(VCB),解析场景的球面谐波全局光照图 \(I_{light}\) 与单目深度图 \(I_{depth}\),借助残差控制编码器与阴影门控交叉注意力(SGCA)在三层骨干尺度注入结构先验;同时结合浅层高频引导增强(HFGE)细化半影边缘,并在训练时由轻量 U-Net 预测的软先验图施加自适应重加权损失(SWL)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
A["输入数据<br/>合成图 Ic + 目标掩膜 Mfo + 背景阴影 Mbs"] --> B["阶段一:粗阴影掩膜预测<br/>双分支编码 + 交叉注意力交互"]
B --> C["组合空间掩膜 Mcomb<br/>粗阴影 Mfs(1) 与目标 Mfo 逻辑并"]
subgraph VCB["可见性控制分支 VCB"]
direction TB
D1["可见性先验估计<br/>逆渲染光照 Ilight + 单目深度 Idepth"] --> D2["残差控制编码器 RCE<br/>7个残差块 + 零卷积平滑接入"]
end
C --> E["阶段二:扩散去噪主干 U-Net<br/>图像空间条件去噪 Iteration t=T...1"]
D2 -->|多尺度稀疏注入| F["阴影门控交叉注意力 SGCA<br/>早/中/晚三层锚点门控调节"]
F --> E
E --> G["高频引导增强 HFGE<br/>浅层梯度/拉普拉斯滤波残差注入深层解码"]
G --> H["输出高保真带阴影图像 Ig' 与精细掩膜"]
关键设计¶
1. 可见性控制分支:光照逆渲染与深度几何双重先验提取 纯数据驱动的扩散主干难以从二维像素推断三维遮挡关系,导致光照方向随机漂移。为此,可见性控制分支构建了免网络预测的光照逆渲染机制与单目几何流。针对全局光照,模型利用共享编码器配合三个轻量级解码器解耦反射率图 \(\alpha\)、阴影权重 \(s\) 与表面法向量 \(n\),基于朗伯反射模型建立线性方程系统: $\(i(x, y) = \alpha(x, y) \odot s(x, y) \, B\bigl(n(x, y)\bigr) \, I\)$ 其中 \(B(n)\) 为二阶球面谐波基函数,\(I\) 为未知的二阶球面谐波系数。通过最小二乘逆问题求解直接解析出全局光照系数,转化为二维可视光照图 \(I_{light}\);同时调用预训练深度估计器抽取几何距离图 \(I_{depth}\)。为避免 ControlNet 在训练初期零卷积阻断信号所导致的收敛震荡,设计了仅包含 7 个残差块的残差控制编码器(RCE),使扩散模型平滑、稳定地吸收外部可见性线索。
2. 阴影门控交叉注意力:三尺度锚点稀疏控制与特征自适应过滤 如果在扩散 U-Net 的所有层中盲目密集注入几何条件,会导致严重的过拟合、纹理细节抹平与计算冗余。SGCA 模块摒弃全层密集拼接,仅在 U-Net 的早期、中期与晚期选取三个战略锚点尺度执行条件交叉注意力。以 U-Net 特征 \(X^{(s)}\) 为 Query,将 RCE 提取的条件特征 \(C^{(s)}\) 映射为 Key 和 Value。为了防止无关区域或次优先验破坏背景原本纹理,设计轻量级门控预测头 \(\psi(\cdot)\) 输出逐像素门控权重: $\(G^{(s)} = \sigma\left(\psi(C^{(s)})\right)\)$ $\(\hat{X}^{(s)} = X^{(s)} + G^{(s)} \odot \text{unflat}\left(\text{MHA}(Q, K, V)\right)\)$ 门控机制在关键阴影投射区自适应增大注入权重,在背景无关区域将条件强行抑制至接近零,既保障了宏观几何排布的准确性,又保留了生成模型的微观纹理表达自由度。
3. 高频引导增强:浅层边缘响应到深层解码的跨层残差注入 扩散生成模型在正向去噪中呈现高频先衰减、逆向时高频后涌现的频域演化特性,使得最终生成的阴影轮廓极易出现锯齿、晕影或过度模糊。HFGE 模块直接从浅层编码特征 \(F_e\) 挖掘丰富的高频梯度信息。首先施加高斯平滑滤除高频伪影纹理,接着利用 Sobel 算子求解水平与垂直梯度模长 \(G = \sqrt{g_x^2 + g_y^2 + \epsilon}\),并叠加拉普拉斯二阶差分响应 \(L\) 捕获细微边界,经空间归一化后获得高频特征 \(H(F_e) = \text{Norm}(G + \alpha L)\)。随后经由 \(1 \times 1\) 卷积与双线性插值完成维度与分辨率对齐,经轻量 CBAM 空间通道注意力加权后,残差注入至深层高分辨率解码器: $\(F_d' = F_d + \gamma \cdot \text{CBAM}\left(\phi(H(F_e))\right)\)$ 该模块精准强化了阴影与背景接触面及半影边界的过渡清晰度,使投射阴影与粗糙地表纹理自然嵌合。
损失函数 / 训练策略¶
整个训练采用三阶段递进策略:第一阶段单独预训练粗掩膜预测模块;第二阶段冻结第一阶段,专注于可见性扩散去噪学习;第三阶段以较小学习率进行全网络联合微调。
第一阶段损失 \(\mathcal{L}_{s1}\) 由二值交叉熵(BCE)与 Dice 损失共同构成。第二阶段的核心在于解决传统全图 \(L_1/L_2\) 损失在细长半影区域梯度被稀释的问题,提出软先验加权损失(SWL)。由轻量 U-Net 网络 \(G_p\) 聚合 \(I_{light}, I_{depth}, M_{fo}, M_{fs}^{(1)}\) 预测取值在 \([0, 1]\) 之间的软先验图 \(S_{prior}\),并通过均值归一化防止网络将权重整体缩减至零引起梯度崩溃: $\(\hat{S}_{prior}(x, y) = \frac{S_{prior}(x, y)}{\frac{1}{N}\sum_{i,j} S_{prior}(i,j) + \epsilon}\)$ 将基础像素重构与掩膜损失 \(\ell_{base}(x, y)\) 进行逐像素加权,得到重分配损失: $\(\mathcal{L}_{swl} = \frac{1}{N} \sum_{x, y} \hat{S}_{prior}(x, y) \, \ell_{base}(x, y)\)$ 第二阶段总损失为 \(\mathcal{L}_{s2} = \mathcal{L}_{base} + \mathcal{L}_{swl}\)。最终联合微调总损失定义为: $\(\mathcal{L}_{joint} = \mathcal{L}_{s2} + \gamma \mathcal{L}_{s1}\)$ 实验中设定权重超参数为 \(\lambda_1=0.2, \lambda_2=0.5, \gamma=0.1\)。
实验关键数据¶
主实验¶
在公开基准数据集 DESOBAv2(含 500 个带背景阴影参考的 BOS 样本与 250 个无参考的 BOS-free 样本)上,评估全局与局部 RMSE(GR, LR)、SSIM(GS, LS)以及衡量阴影轮廓精度的平衡错误率(GB, LB,越低越好):
| 测试集配置 | 算法模型 | 全局RMSE (GR)↓ | 局部RMSE (LR)↓ | 全局SSIM (GS)↑ | 局部SSIM (LS)↑ | 全局BER (GB)↓ | 局部BER (LB)↓ |
|---|---|---|---|---|---|---|---|
| BOS 设置 (有参考) | ShadowGAN | 7.511 | 67.464 | 0.961 | 0.197 | 0.446 | 0.890 |
| AR-SG | 7.335 | 58.037 | 0.961 | 0.241 | 0.383 | 0.682 | |
| SGRNet | 7.184 | 68.255 | 0.964 | 0.206 | 0.301 | 0.596 | |
| SGDiffusion | 6.098 | 53.611 | 0.971 | 0.370 | 0.245 | 0.487 | |
| GPSDiffusion | 5.896 | 46.713 | 0.966 | 0.374 | 0.213 | 0.423 | |
| VSDiffusion (本文) | 6.422 | 46.542 | 0.964 | 0.377 | 0.182 | 0.360 | |
| BOS-free 设置 (无参考) | ShadowGAN | 17.325 | 76.508 | 0.901 | 0.060 | 0.425 | 0.842 |
| AR-SG | 16.067 | 63.713 | 0.908 | 0.104 | 0.349 | 0.682 | |
| SGRNet | 15.596 | 60.350 | 0.909 | 0.100 | 0.271 | 0.534 | |
| SGDiffusion | 15.110 | 55.874 | 0.913 | 0.117 | 0.233 | 0.452 | |
| GPSDiffusion | 13.809 | 55.616 | 0.917 | 0.166 | 0.197 | 0.384 | |
| VSDiffusion (本文) | 14.629 | 55.377 | 0.912 | 0.184 | 0.194 | 0.373 |
在计算效率方面,VSDiffusion 包含外部估计模块在内的总参数量仅为 547.2M(可训练参数 300.4M),单张图像推理耗时仅 1.6986 秒;相较于 GPSDiffusion(1.479B / 6.9049 秒)与 SGDiffusion(1.458B / 8.0791 秒),实现了参数量削减超 62%、推理速度提升超 4 倍的显著优势。
消融实验¶
在 DESOBAv2 数据集上针对各模块配置的消融分析如下表所示:
| 配置 | VCB | HFGE | SWL | GR↓ | LR↓ | GS↑ | LS↑ | GB↓ | LB↓ | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|
| Baseline | - | - | - | 6.655 | 50.598 | 0.962 | 0.364 | 0.221 | 0.438 | 基础两阶段扩散骨干 |
| + VCB | ✓ | - | - | 6.592 | 48.265 | 0.963 | 0.366 | 0.203 | 0.403 | 注入光照与几何约束 |
| + HFGE | - | ✓ | - | 6.621 | 49.214 | 0.963 | 0.371 | 0.211 | 0.407 | 浅层高频边缘补偿 |
| + SWL | - | - | ✓ | 6.580 | 48.876 | 0.963 | 0.369 | 0.204 | 0.398 | 边界难例重加权优化 |
| VCB + HFGE | ✓ | ✓ | - | 6.571 | 48.147 | 0.964 | 0.374 | 0.193 | 0.381 | 双模块协同 |
| Full Model | ✓ | ✓ | ✓ | 6.422 | 46.542 | 0.964 | 0.377 | 0.182 | 0.360 | 完整模型(所有指标最优) |
针对 SGCA 注入机制的专门消融显示:若去除门控机制(w/o gated attention),LB 由 0.360 恶化至 0.378;若改为常规全层密集注入(w/o sparse injection),LB 同样恶化至 0.383,证明三锚点稀疏控制有效避免了特征过度过载。
关键发现¶
- 几何边界指标全面领跑:在决定阴影形状与边缘重合度的核心指标上,VSDiffusion 将 BOS 的局部误报率 LB 从先前 SOTA 的 0.423 剧降至 0.360(相对降低 14.9%),BOS-free 的 LB 从 0.384 降至 0.373,展现出强大的物理几何约束能力。
- 无参考场景下泛化性卓越:在剥离背景已有阴影线索(BOS-free)时,传统方法由于缺乏参考导致解空间发散严重,而本文凭借光照逆渲染提取的全局球面谐波先验,依然能准确推断太阳或室内主光源角度,避免了光影反向问题。
- 自适应重权重的关键作用:定性分析表明 SWL 生成的高权重区精准贴合在半影边缘与易漏渗区域,为微弱边缘补充了足量梯度预算,直接驱动 LR 进一步降低 1.605。
亮点与洞察¶
- 物理先验与生成模型的优雅权衡:不强行将整个可微渲染管线嵌入扩散过程,而是以逆渲染提取低阶球面谐波和单目深度作为轻量先验,借由稀疏锚点与自适应门控完成几何约束,兼顾了扩散生成的保真度与物理规律的严谨性。
- 训练端重加权化解梯度稀释:提出自学习软先验网络 \(G_p\) 自动探测易错区域,并配以均值归一化防止平凡全零解,为细粒度局部修复与掩膜修正提供了通用的无监督重加权思路。
- 轻量高效的工程落地范式:相较于同类方法动辄 1.4B+ 参数且推理动辄 7-8 秒的沉重负担,全架构收敛在 547M / 1.7 秒,为影视与电商自动化合成提供了极具实用价值的轻量基准。
局限与展望¶
- 极端多光源与复杂遮挡工况:当前的球面谐波光照建模假设基于二阶展开与朗伯表面,在存在剧烈近场点光源、彩色多光源投射或高光非朗伯反射介质时,逆渲染光照估计可能出现偏差。
- 非平坦接收地表的三维适配:对于阶梯、曲面或极度起伏的复杂受光面,仅依赖单目 2D 深度图难以完全重建精密的三维投影折转关系。
- 未来方向:作者指出后续可探索将该机制拓展至通用目标驱动的图像编辑任务,并研究免参考自适应阴影强度校准策略。
相关工作与启发¶
- vs GPSDiffusion: GPSDiffusion 依赖旋转外接框预测与离散形状原型检索来机械匹配阴影模板,缺乏对真实物理可见性的显式刻画;本文直接构建遮挡可见性反演,不仅无需维护原型库,参数量减少超 60%,而且在阴影边缘自适应贴合上更具连续性。
- vs SGDiffusion: SGDiffusion 基于 ControlNet 全面接入密集调控,不仅计算耗时长,还容易产生过平滑伪影;本文通过三尺度稀疏锚点与残差控制编码器,显著削减了冗余计算并提升了局部纹理保真度。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ 首次将可见性阻断与逆渲染球面谐波先验深度融入扩散去噪流程,思路巧妙自洽。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖双测试环境定量对比、逐模块消融、参数效率测定及直观的自适应梯度热力图分析。
- 写作质量: ⭐⭐⭐⭐⭐ 物理问题形式化严谨,架构图与消融图文对应清晰,推导紧凑。
- 价值: ⭐⭐⭐⭐⭐ 为图像合成与可控生成领域中的物理自洽阴影生成建立了兼顾高性能与极高推理效率的全新基准。