跳转至

Poppy: Polarization-Based Plug-and-Play Guidance for Enhancing Surface Normal Estimation

会议: ECCV 2026
论文: ECCV 原文
代码: https://irnkim.github.io/poppy/
领域: 3D 视觉
关键词: 表面法向量估计、偏振成像、测试时引导、即插即用、反射率分解

一句话总结

针对单目 RGB 表面法向量估计在强反光、弱纹理及暗色表面的失效问题,Poppy 提出一种免训练的测试时物理引导框架,在冻结任意预训练骨干网络的前提下,通过输入图像全局偏移、输出法向量局部偏移以及高光辐射度联合优化,实现偏振约束下的高精度几何修正。

研究背景与动机

单目表面法向量估计是机器人操作、增强现实、场景理解与三维几何重建等任务的基础支撑。尽管基于大规模 RGB-Normal 监督数据集训练的现代深度学习网络(如基于扩散模型的 Marigold、流匹配架构的 Lotus-v2 以及前馈 Transformer 架构的 MoGe-2)取得了显著进展,但在物理光学特性极端的边缘场景中仍频繁崩溃。这些失效主要集中于三大典型区域:一是高反光(镜面反射)表面,视点依赖的高光常被网络误判为起伏的几何结构;二是大面积无纹理区域,由于缺乏空间梯度变化,网络往往输出过度平滑的平均预测;三是低照度或低反照率的暗色物体,极低的信噪比导致深度先验完全失准。从根本上说,仅依靠单目强度图像推断三维法向量本身就是一个严重的不适定反问题。

偏振成像为解决此类几何歧义提供了坚实的物理约束。当自然非偏振光在物体表面发生反射时,出射光的偏振态会直接受表面局部法向量以及材料光学特性的调控,且完全独立于物体表面宏观纹理与空间反照率。然而,传统的偏振测高与法向量估计(Shape from Polarization, SfP)受制于菲涅尔方程固有的多义性——偏振角在方位角上存在 \(\pi\) 翻转模糊,漫反射与镜面反射成分的正交性又引入了 \(\pi/2\) 模糊,使得单个像素测量对应四个候选法向量。以往经典方法必须依赖多光源、多视点或结合深度传感器来消解多义性,破坏了单帧快照的便携性;而近年来兴起的端到端学习型 SfP 模型又因配对偏振-法向量标注数据采集极端困难、样本多样性匮乏,面临跨材料与跨域泛化能力极其脆弱的瓶颈。

现有两类范式形成鲜明割裂:RGB 基础模型拥有极强的开域语义与宏观拓扑先验,却在极端材质上缺乏物理真实性;偏振方法具备严密的物理切平面约束,却受困于歧义与小样本。本文的核心切入点在于:完全无需采集昂贵的偏振数据集重新训练网络,而是将单目偏振物理模型作为测试时的外挂引导,利用冻结的 RGB 基础网络提供全局方位先验消解 \(\pi\) 模糊,再由偏振测量反向梯度修正局部几何错误。核心 idea:将单帧偏振观测转化为即插即用的测试时优化目标,保持网络骨干完全冻结,通过输入端图像偏移量提供全局粗调、输出端法向量偏移量恢复高频局部细节,并联合优化可微渲染的高光分解图,以分阶段退火机制实现免训练的法向量精度飞跃。

方法详解

整体框架

Poppy 的输入为单帧线偏振相机采集的四个偏振角度图像 \(I_{0^\circ}, I_{45^\circ}, I_{90^\circ}, I_{135^\circ}\),从中提取非偏振光强 \(S_0\)(充当标准 RGB 输入图像 \(x\))以及线偏振 Stokes 观测向量 \(S = [S_0, S_1, S_2]^\top\)。系统输出为物理一致的高精表面法向量图 \(\hat{n} \in \mathbb{R}^{H \times W \times 3}\)。整个处理流程在测试时以迭代反向传播方式进行,保持预训练的单目法向量估计骨干网络 \(f\) 权重绝对冻结。

在骨干网络输入端,算法引入可学习的逐像素图像偏移量 \(O_x\),构造扰动输入 \(x + O_x\) 传入网络以驱动全局语义与几何调整;骨干网络前向传播生成基础法向量 \(\hat{n}_{\text{base}} = f(x + O_x)\);在骨干网络输出端,叠加逐像素法向量偏移量 \(O_n\) 得到细化法向量 \(\hat{n}_t = \hat{n}_{\text{base}} + O_n\)。为了将当前步的法向量投影回物理偏振空间与真实观测比对,系统维护一个可学习的逐像素镜面高光辐射度图 \(L_s\)。通过可微菲涅尔渲染层,结合 \(\hat{n}_t\)、视线方向以及 \(L_s\),解析合成预测 Stokes 向量 \(\hat{S}\),并在有效掩码约束下计算偏振一致性损失,反向传播更新所有可学习参数。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["偏振多角度输入<br/>I_0, I_45, I_90, I_135"] --> B["Stokes 提取<br/>强度图 x 与观测 Stokes S"]
    B --> C["图像偏移量引导<br/>输入空间全局扰动 x + Ox"]
    C --> D["冻结法向量骨干网络<br/>Marigold / Lotus-v2 / MoGe-2"]
    D --> E["法向量偏移量引导<br/>输出端高频细化 n_base + On"]
    E --> F["可微偏振渲染与反射率解耦<br/>结合 Ls 依菲涅尔方程生成预测 Stokes S_hat"]
    F --> G["偏振一致性损失约束<br/>有效物理掩码 M 过滤异常像素"]
    G -->|反向传播梯度| C
    G -->|反向传播梯度| E
    G -->|反向传播梯度| F

关键设计

1. 图像偏移量引导:输入敏感度驱动的全局几何修正

单目几何估计网络在遇到整块反光或暗部区域时,通常会在大范围连通区域上产生系统性的方位角倾斜或曲面翘曲。若仅对最终预测结果做逐像素的微调,极易陷入局部极小,无法扭转大面积拓扑错乱。Poppy 发掘了深度神经网络输入空间对输出几何的全局敏感性(雅可比矩阵传导机制):单个输入像素在卷积与自注意力感受野的层层级联下,其梯度能够广泛辐射至整幅图像的法向量分布。

因此,Poppy 在输入端引入连续可微的逐像素偏移量 \(O_x \in \mathbb{R}^{H \times W \times 3}\),将输入重构为 \(x + O_x\) 送入网络。在反向传播过程中,偏振误差损失直接经由冻结的骨干网络权重反传至 \(O_x\)。这种机制将细粒度的偏振残差转化为输入图像表观的细微对抗性偏移,从而撬动基础模型强大的内部几何先验,在宏观层面上将发生系统性漂移的曲面整体旋转并拉平至与偏振信号一致的方向,完成全局维度的粗粒度几何校正。

2. 法向量偏移量引导:残差解耦的高频局部细节恢复

现有的单目法向量估计模型受训练目标(如余弦相似度损失)以及生成模型平滑归纳偏置的影响,对高频表面纹理和锐利边缘普遍存在过平滑甚至伪影幻觉。更严重的是,单靠输入扰动 \(O_x\) 经过多层下采样与非线性映射后,难以精准表达单像素级的微观几何突变(如龙鳞起伏、贝壳波纹与结构折角)。

Poppy 在骨干网络输出端直接并联逐像素法向量残差偏移 \(O_n \in \mathbb{R}^{H \times W \times 3}\),使细化法向量表述为: $\(\hat{n}_t = f(x + O_x) + O_n\)$ 由于 \(O_n\) 与输出法向量直接线性相加,其对偏振损失具有极高的梯度敏感度。如果在初始阶段直接开启 \(O_n\) 优化,高频残差会迅速过拟合到未收敛的高光辐射度噪声中,导致表面布满杂乱斑块。因此,Poppy 实行分阶段激活策略(Global-then-local Guidance):在前 50 步优化中,将 \(O_n\) 冻结(保持为初始小值 \(10^{-2}\) 且不接收梯度),仅优化全局引导量 \(O_x\) 与高光辐射度 \(L_s\);在第 50 步全局宏观曲面收敛后,激活 \(O_n\) 参与联合反向传播。最终输出通过二范数归一化投影至单位球面: $\(\hat{n} = \frac{f(x + O_x) + O_n}{\|f(x + O_x) + O_n\|_2}\)$

3. 可微偏振渲染与反射率解耦:闭环消解漫镜多义性

从法向量计算偏振态属于非线性正向物理过程。已知表面法向量 \(n = [n_x, n_y, n_z]^\top\) 与视线方向 \(v\)(在正交投影假设下假定为 \([0, 0, 1]^\top\)),仰角可定义为天顶角 \(\theta = \arccos(n \cdot v)\),方位角为 \(\psi = \arctan(n_y, n_x)\)。然而,物体表面的出射光线包含次表面散射引起的漫反射成分与表面直接反射引起的镜面高光成分,两者对应的偏振角呈现 \(\pi/2\) 正交相差(漫反射偏振角 \(\phi_d = \psi\),镜面反射偏振角 \(\phi_s = \psi + \pi/2\))。若不解耦反射率成分,将无法正确匹配偏振测量。

Poppy 将总辐射度 \(S_0\) 解耦为可优化的镜面高光辐射度图 \(L_s\) 以及漫反射辐射度 \(L_d = S_0 - L_s\)。利用菲涅尔折射率定律(标准折射率设为 \(\eta = 1.5\)),分别解析计算漫反射偏振度 \(\rho_d(\theta)\) 与镜面反射偏振度 \(\rho_s(\theta)\): $\(\rho_d(\theta) = \frac{(\eta - 1/\eta)^2 \sin^2\theta}{2 + 2\eta^2 - (\eta + 1/\eta)^2 \sin^2\theta + 4\cos\theta\sqrt{\eta^2 - \sin^2\theta}}\)$ $\(\rho_s(\theta) = \frac{2\sin^2\theta\cos\theta\sqrt{\eta^2 - \sin^2\theta}}{\eta^2 - \sin^2\theta - \eta^2\sin^2\theta + 2\sin^4\theta}\)$ 进而合成预测线偏振 Stokes 参数: $\(\hat{S}_0 = L_d + L_s = S_0\)$ $\(\hat{S}_1 = L_d \rho_d \cos(2\phi_d) + L_s \rho_s \cos(2\phi_s)\)$ $\(\hat{S}_2 = L_d \rho_d \sin(2\phi_d) + L_s \rho_s \sin(2\phi_s)\)$ 通过可微解析函数 \(\hat{S} = \mathcal{F}(\hat{n}_t, L_s)\),系统在正向物理渲染与反向梯度传播之间构建了完整的闭环,同时自然获得了场景的高光/漫反射解耦图。

损失函数 / 训练策略

在测试时优化阶段,待优化的参数集合为 \(\Theta = \{O_x, O_n, L_s\}\)。损失函数以逐像素 L1 范数衡量预测 Stokes 与真实观测 Stokes 的一致性: $\(\mathcal{L}(\Theta) = \sum_{p} M(p) \sum_{i=0}^2 \left| S_i(p) - \hat{S}_i(p) \right|\)$ 其中 \(p\) 为像素索引,\(M(p)\) 为物理有效性掩码。掩码过滤掉三类不符合物理假设的病态像素:① 极低信噪比暗区(\(S_0 \le 0.01\));② 过曝饱和区域(\(S_0 \ge 1.0\));③ 违反偏振物理能量守恒定律的噪声测量(\(S_1^2 + S_2^2 > S_0^2\))。

优化全程执行 \(T = 100\) 次迭代步,使用 Adam 优化器。三类参数均初始化为 \(10^{-2}\)。各参数采用差异化学习率:高光辐射度学习率 \(\lambda_{L_s} = 10^{-2}\),法向量残差学习率 \(\lambda_{O_n} = 10^{-3}\)(在第 50 步激活)。由于不同骨干网络对输入扰动的梯度响应尺度差异显著,图像偏移量学习率 \(\lambda_{O_x}\) 实行网络自适应配置:Marigold 设为 \(10^{-3}\),Lotus-v2 设为 \(5 \times 10^{-4}\),而 MoGe-2 设为 \(10^{-5}\)。对于扩散骨干 Marigold,采用 4 步去噪每步 25 次引导迭代;对于流匹配 Lotus-v2,引导处于细节锐化前置阶段;对于 MoGe-2,则直接在前向流水线中直通求导。

实验关键数据

主实验

论文在 7 个基准数据集上进行了详尽评测,包括 3 个真实数据集(共 14 个物体:SfPUEL、NeRSP、PISR,涵盖强镜面、低照度及弱纹理材质)与 4 个合成数据集(共 18 个物体:SfPUEL、NeRSP、NeISF、DeepPol,涵盖低信噪比与漫镜混合材质)。核心评价指标包括平均角度误差(Mean MAE,越低越好)、中位数角度误差(Median)、均方根误差(RMSE)以及角度误差在 \(11.25^\circ\)、\(22.5^\circ\)、\(30^\circ\) 阈值之内的精度占比(Acc,越高越好)。

评估基准 方法 / 骨干网络 Mean (MAE) ↓ Median ↓ RMSE ↓ Acc11.25 ↑ Acc22.5 ↑ Acc30 ↑
真实场景 (Real) SfPUEL [38] (SfP Baseline) 20.68° 17.08° 26.15° 0.37 0.70 0.80
DSINE [6] 23.06° 19.07° 28.83° 0.27 0.62 0.76
Lotus [26] 16.69° 13.96° 21.70° 0.42 0.78 0.88
StableNormal [53] 17.80° 14.77° 23.29° 0.41 0.75 0.86
Marigold [32] 18.18° 15.25° 23.30° 0.36 0.74 0.86
Marigold + Poppy (本文) 15.28° 12.57° 20.26° 0.47 0.83 0.92
Lotus-v2 [25] 14.68° 12.05° 19.51° 0.49 0.85 0.93
Lotus-v2 + Poppy (本文) 12.65° 10.05° 17.62° 0.61 0.89 0.94
MoGe-2 [50] 13.10° 10.51° 18.11° 0.57 0.87 0.94
MoGe-2 + Poppy (本文) 12.26° 9.88° 16.99° 0.61 0.90 0.95
合成场景 (Synthetic) SfPUEL [38] (SfP Baseline) 17.03° 12.91° 23.33° 0.46 0.79 0.87
DSINE [6] 24.13° 19.94° 30.00° 0.26 0.60 0.75
Lotus [26] 19.99° 17.04° 25.06° 0.30 0.69 0.84
StableNormal [53] 18.45° 14.65° 24.55° 0.39 0.75 0.86
Marigold [32] 20.99° 17.40° 26.43° 0.30 0.68 0.82
Marigold + Poppy (本文) 15.60° 11.89° 22.08° 0.56 0.82 0.89
Lotus-v2 [25] 16.52° 13.44° 22.08° 0.42 0.81 0.90
Lotus-v2 + Poppy (本文) 12.26° 8.81° 18.70° 0.66 0.89 0.93
MoGe-2 [50] 14.13° 11.33° 20.01° 0.51 0.87 0.94
MoGe-2 + Poppy (本文) 10.89° 8.05° 16.41° 0.70 0.92 0.96

消融实验

1. 引导机制消融(无引导 vs. 仅图像偏移 vs. 联合偏移引导) 下表记录了不同骨干在代表性场景与综合指标下的 MAE 表现:

评估子集 / 代表案例 骨干网络配置 原始无引导 (None) 仅图像偏移 (\(O_x\)) 联合引导 (\(O_x + O_n\)) 相对基线降幅
Deschaintre 合成场景 Marigold 44.63° 18.87° 17.73° 60.3%
NeISF 合成场景 Lotus-v2 16.88° 10.99° 10.29° 39.0%
NeRSP 合成场景 MoGe-2 13.04° 11.65° 10.36° 20.6%
PISR 弱纹理低反照率 (真实) Marigold 27.53° - 16.19° 41.2%
PISR 弱纹理低反照率 (真实) Lotus-v2 15.47° - 12.53° 19.0%
PISR 弱纹理低反照率 (真实) MoGe-2 17.66° - 13.69° 22.5%
NeRSP 弱光暗场景 (真实) Marigold 20.72° - 12.12° 41.5%
NeRSP 弱光暗场景 (真实) Lotus-v2 19.32° - 12.87° 33.4%
NeRSP 弱光暗场景 (真实) MoGe-2 19.82° - 11.66° 41.2%
SfPUEL 高噪声场景 (真实) MoGe-2 12.81° - 7.56° 41.0%

2. 推理开销与显存分析 (768×768 分辨率,NVIDIA RTX PRO 6000 95.6GB VRAM)

骨干网络 骨干单次推理耗时 Poppy 100步总耗时 (每步增量) 骨干峰值显存 Poppy 优化峰值显存 (显存增量)
MoGe-2 (前馈 Transformer) 3.00 s 57 s (+0.57 s/步) 3.07 GB 15.33 GB (+12.26 GB)
Marigold (扩散架构) 4.02 s 95 s (+0.95 s/步) 7.47 GB 35.12 GB (+27.65 GB)
Lotus-v2 (流匹配架构) 3.33 s 173 s (+1.73 s/步) 38.14 GB 66.64 GB (+28.50 GB)

关键发现

  • 双重偏移量的分工机制明确:图像偏移量 \(O_x\) 承担了绝大部分全局宏观角度的纠偏贡献(如图 5(a) 所示,仅优化 \(O_x\) 即削减了 70%-80% 的误差降幅);而法向量偏移量 \(O_n\) 在第 50 步激活后,专注于攻克过平滑区域,使得微观几何细节(如龙鳞、网格凹凸面、微小倒角)的锐度大幅回升,驱动高精度阈值 Acc11.25 在合成集提升达 37%–87%。
  • 对真实偏振传感噪声具有自适应鲁棒性:在合成数据上添加标准差 \(\sigma\) 渐增的高斯偏振噪声测试显示,在低噪声区间 Poppy 显著大幅优于基线;随着噪声方差持续加大,由于物理有效掩码过滤以及全局先验约束,优化结果平缓回落收敛至未引导的骨干水平,不会出现噪声过度放大引发的伪影爆炸。
  • 材质特性对引导增益的差异:在纯镜面高光材质上,由于偏振反射信号强度极高(DoLP 显著),Poppy 带来的法向量角度降幅最为显著;纯漫反射次之;漫镜混合材质由于对反射率解耦 \(L_s\) 的估计精度要求极高,收益略微放缓,但仍稳定优于原始预测。
  • 下游三维重建增益显著:将引导细化后的法向量引入基于多视点的高斯曲面重建算法 VCR-GauS 中,重建网格的倒角距离(Chamfer Distance)相比仅依赖 RGB 法向量的方法提升约 6%,有效解决了传统 COLMAP 在高反光无纹理表面稀疏点云初始化失败的问题。

亮点与洞察

  • 将对抗扰动思想转变为物理一致性引导:传统对抗攻击利用输入扰动误导网络输出,而 Poppy 巧妙地将输入像素偏移量作为全局曲面姿态的“方向盘”,借助神经网络特征层的长程依赖,仅用单张图的输入轻微形变就纠正了全图范围内的法向量系统性扭曲。
  • 解耦式分阶段退火优化策略:在未知光照下,偏振多义性与反射率混叠高度耦合。Poppy 先冻结高频残差,用前 50 步锁定全局几何取向并收敛漫镜高光分解图,待物理基准稳定后再释放高频法向量残差,避免了多参数同时更新引发的混沌振荡。
  • 开辟免重训多模态物理引导范式:以往结合物理传感器的方法往往必须从头收集多模态数据并重新训练网络,泛化代价极高。Poppy 证明了“冻结纯视觉大模型 + 运行时微调轻量物理适配参数”的可行性,这种设计思路可直接迁移到偏振引导的单目深度估计、折射介质重建以及多光谱光照估计等底层视觉任务。

局限与展望

  • 迭代测试时反向传播带来的计算开销:100 次反向传播优化使得单张图像的处理时间在 50 秒至 3 分钟不等,且保存骨干中间特征图激活值导致显存开销显著增加(需额外 12–28 GB 显存),无法直接部署于实时移动端机器人。未来需探索轻量化适配器网络(Adapter)或前向快速推断蒸馏。
  • 正交投影假设在极端近景下的退化:当前算法将视线方向固定为平行正交光束(\(v = [0, 0, 1]^\top\)),在广角相机近距离特写拍摄(如 PISR 基准)时会因透视畸变产生模型误差,需进一步引入视场角参数进行透视偏振光线追踪校正。
  • 复杂介质物理假设简化:当前模型基于折射率 \(\eta = 1.5\) 的各向同性电介质反射定律,对于半透明、次表面强散射介质或具有复数折射率的金属反射面,其偏振反射模型仍需更加精细的各向异性菲涅尔拓展。

相关工作与启发

  • vs SfPUEL [38] / DeepSfP [5]: 传统学习型 SfP 模型需要大量成对的偏振-法向量标注数据进行端到端监督训练,在面对未知材质和复杂光照环境时泛化性能极差;Poppy 无需任何成对偏振训练,直接复用海量自然图像上预训练的通用视觉先验,在跨材质和跨场景泛化度上全面超越 SfPUEL。
  • vs PPFT [29]: PPFT 引入可学习的 Prompt 融合微调来让单目深度模型接收偏振输入,但它需要微调模型参数并且需要专门的偏振训练阶段;Poppy 聚焦法向量估计任务,完全保持骨干权重冻结,属于纯粹的推断时即插即用引导。
  • vs Marigold-DC [48] / 测试时引导方法: Marigold-DC 针对稀疏深度输入引导扩散逆向采样;Poppy 将测试时物理引导拓展到连续致密的偏振物理场,设计了“输入空间全局偏移 + 输出空间高频残差 + 可微物理渲染解耦”的独特架构,解决了非线性偏振渲染中的方位角与漫镜双重模糊。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ [首次实现免训练的单目偏振法向量测试时即插即用引导,巧妙利用输入/输出双重偏移规避模型重训]
  • 实验充分度: ⭐⭐⭐⭐⭐ [横跨 7 大公开数据集、3 种不同架构骨干、涵盖真实与合成场景并提供充分消融与下游三维重建验证]
  • 写作质量: ⭐⭐⭐⭐⭐ [物理公式推导详实,雅可比敏感度分析深入,图文对应清晰且实验论证扎实]
  • 价值: ⭐⭐⭐⭐⭐ [为物理传感器赋能通用视觉基座大模型指明了一条完全无需重训的低成本落地范式]