如果有研究反光场景3D重建的研究者,可以通过邮箱zhangwenniu@163.com联系我,我目前创建了一个反光场景3D重建的研究者交流群,欢迎感兴趣的研究者加入。
链接
重难点分析
论文标题:Neural Transmitted Radiance Fields(神经传输辐射场)
作者:
- Chengxuan Zhu(北京大学)
- Renjie Wan(香港浸会大学)
- Boxin Shi(北京大学)
发表会议:
- NeurIPS 2022(神经信息处理系统大会)
1. 研究背景
- 问题:当我们通过玻璃拍摄照片时,玻璃的反射会干扰我们想要拍摄的场景(称为“透射场景”)。这种反射会降低图像质量,使得我们很难看到玻璃后面的场景。
- 现有方法的不足:
- 传统的神经辐射场(NeRF)虽然可以生成高质量的3D场景,但无法区分反射和透射内容,导致反射部分也会被渲染出来。
- 即使使用反射去除方法预处理图像,也无法完全消除反射,而且这些方法需要大量图像才能工作,实际应用中很难满足。
2. 研究目标
- 目标:提出一种新的方法,能够在只有少量图像的情况下,生成高质量的透射场景视图,并且去除反射干扰。
3. 提出的方法:Neural Transmitted Radiance Fields(TNeRF)
- 核心思想:
- 传输特征编码器(Transmission Encoder):通过预训练的网络提取图像中的透射特征,忽略反射部分。
- 重复边缘约束(Recurring Edge Constraints):利用多视角图像中的重复边缘来区分反射和透射内容。
- 基于块的渲染(Patch-based Rendering):将图像划分为小块进行训练,而不是逐像素训练,这样可以更好地捕捉局部特征。
- 方法流程:
- 图像投影:将不同视角的图像投影到目标视角。
- 特征提取:通过传输特征编码器提取透射特征。
- 渲染:使用两个神经网络(一个用于透射,一个用于反射)分别渲染透射和反射内容。
- 优化:通过自洽损失函数(Self-consistent Loss)和边缘损失函数(Edge Loss)优化网络,确保透射内容的高质量重建。
4. 实验
- 数据集:作者收集了8个真实世界的场景,每个场景包含20到30张不同视角的图像。
- 对比方法:
- NeRF(原始方法)
- NeRF-W(扩展版)
- MVSNeRF(多视角立体模型)
- 反射去除方法 + NeRF
- NeRFReN(专门用于透射场景的方法)
- 结果:
- 定性结果:作者的方法能够生成高质量的透射场景视图,而其他方法要么无法去除反射,要么在稀疏视角下效果不佳。
- 定量结果:使用PSNR、SSIM和LPIPS指标评估,作者的方法在所有指标上都优于其他方法。
5. 研究贡献
- 提出了一种新的方法,能够在稀疏视角下高质量地重建透射场景。
- 利用重复边缘约束和传输特征编码器,有效解决了反射和透射的混淆问题。
- 提供了一个真实世界的数据集用于评估。
6. 局限性与未来工作
- 当前方法在处理遮挡问题时仍有挑战,因为依赖于邻近视角的特征来补充信息。
- 对于不规则玻璃或反射覆盖较大区域的情况,当前方法可能失效。未来可以考虑改进NeRF以适应这些情况。
总结
这篇论文提出了一种新的神经渲染方法,专门用于处理通过玻璃拍摄时的反射干扰问题。通过引入传输特征编码器和重复边缘约束,该方法能够在只有少量图像的情况下生成高质量的透射场景视图。希望这个简化版的解读能帮助你理解论文的核心内容!
详细介绍
1. 研究背景
1.1 问题背景
神经辐射场(NeRF)是一种基于神经网络的3D场景表示方法,能够从一组图像中学习场景的辐射场和密度,并生成高质量的新视角图像。然而,NeRF在处理通过玻璃拍摄的图像时面临挑战。玻璃的反射会干扰场景的透射部分,导致生成的图像中包含不想要的反射内容。这种反射干扰不仅降低了图像质量,还使得场景的透射部分难以被正确重建。
1.2 现有方法的局限性
- 反射去除方法:虽然有一些方法可以预处理图像以去除反射,但这些方法通常无法完全消除反射,且在稀疏视角下效果不佳。
- NeRF-W:通过将场景分为静态和动态部分来处理反射,但在稀疏视角下性能下降,且无法完全区分反射和透射内容。
- 多视角方法:如MVSNeRF,虽然能够利用多视角信息,但无法有效抵抗反射干扰。
1.3 研究动机
为了解决上述问题,作者提出了一种新的方法——神经传输辐射场(Neural Transmitted Radiance Fields,简称TNeRF),旨在通过稀疏视角图像生成高质量的透射场景视图,并有效去除反射干扰。
2. 研究方法
2.1 核心思想
TNeRF的核心在于通过以下三个关键部分解决反射干扰和稀疏视角的问题:
- 传输特征编码器(Transmission Encoder):提取图像中的透射特征,忽略反射部分。
- 重复边缘约束(Recurring Edge Constraints):利用多视角图像中的重复边缘信息来区分反射和透射内容。
- 基于块的渲染(Patch-based Rendering):将图像划分为小块进行训练,捕捉局部特征,提高渲染质量。
2.2 方法框架
TNeRF的整体框架如图2所示,主要包括以下几个步骤:
- 图像投影(Image Projection):
- 将不同视角的图像投影到目标视角,以便后续处理。
- 这一步是为了对齐图像,使得透射内容在不同视角下具有较大的重叠区域,而反射内容则较为稀疏。
- 传输特征提取(Transmission Feature Integration):
- 使用预训练的传输特征编码器(如ERRNet)提取图像中的透射特征。
- 提取的特征分为全局特征(Global Features)和局部特征(Local Features),分别用于捕捉大范围和小范围的场景信息。
- 将提取的特征输入到传输MLP(T-MLP)中,用于透射内容的渲染。
- 反射渲染(Reflection Rendering):
- 使用反射嵌入(Reflection Embedding)和反射MLP(R-MLP)来渲染反射内容。
- 反射嵌入是一个可学习的参数,用于表示不同视角下的反射特征。
- 权重系数(Weighting Coefficients):
- 反射和透射的权重系数(α和β)由视角方向决定,通过一个简单的MLP网络计算。
- 这使得网络能够根据视角方向动态调整反射和透射的权重。
- 重复边缘约束(Recurring Edge Constraints):
- 通过计算多视角图像中边缘的出现频率,区分透射和反射边缘。
- 透射边缘在不同视角下频繁出现,而反射边缘则较为稀疏。
- 使用边缘损失函数(Edge Loss)约束渲染过程,使得网络更关注透射边缘,减少反射干扰。
- 基于块的渲染(Patch-based Rendering):
- 将图像划分为K×K的小块进行训练,而不是逐像素训练。
- 这种方法能够捕捉局部特征,提高渲染质量,尤其是在稀疏视角下。
2.3 损失函数
TNeRF的优化目标是通过以下损失函数最小化渲染误差:
- 自洽损失(Self-consistent Loss):
- 用于约束渲染结果与真实图像的一致性。
- 公式为: \(L_{sc} = \sum_{p(r) \in P} \| \hat{C}(r) - C(r) \|_1\)
- 其中,$\hat{C}(r)$是观察到的颜色,$C(r)$是透射和反射的混合颜色。
- 边缘损失(Edge Loss):
- 用于约束透射边缘的渲染。
- 公式为: \(L_{edge} = \sum_{p(r) \in P} \| E_T(p(r)) \odot (\hat{C}(r) - C(r)) \|_2^2\)
- 其中,$E_T(p(r))$是透射边缘的二值化掩码。
- 排他性损失(Exclusivity Loss):
- 用于区分透射和反射的梯度信息。
- 公式为: \(L_{excl} = \| \Psi(C_T, C_R) \|_F\)
- 其中,$\Psi(C_T, C_R)$是透射和反射梯度的逐像素相关性。
最终的损失函数为: \(L = \gamma L_{sc} + \delta L_{edge} + \omega L_{excl}\) 其中,$\gamma = 2$,$\delta = 0.002$,$\omega = 1$是权重系数,用于平衡各损失项的影响。
3. 实验
3.1 数据集
作者收集了一个真实世界的数据集,包含8个不同场景,每个场景有20到30张不同视角的图像。其中4个场景提供了透射场景的真值(Ground Truth),用于定量评估。
3.2 对比方法
作者将TNeRF与以下方法进行了对比:
- NeRF:原始的神经辐射场方法。
- NeRF-W:扩展版,用于处理动态场景。
- MVSNeRF:基于多视角立体的NeRF方法。
- 反射去除 + NeRF:先用反射去除方法预处理图像,再用NeRF进行渲染。
- NeRFReN:专门用于透射场景的NeRF方法。
- 反射去除 + MVSNeRF:先用反射去除方法预处理图像,再用MVSNeRF进行渲染。
3.3 评估指标
使用以下指标评估渲染质量:
- PSNR(峰值信噪比):值越高表示图像质量越好。
- SSIM(结构相似性):值越高表示图像结构越接近真值。
- LPIPS(感知相似性):值越低表示图像越接近人类感知。
3.4 实验结果
- 定性结果:
- 图3和图4展示了不同方法的渲染结果。TNeRF能够在稀疏视角下生成高质量的透射场景视图,而其他方法要么无法去除反射,要么在稀疏视角下效果不佳。
- 例如,NeRF和NeRF-W在稀疏视角下无法区分反射和透射内容,导致渲染结果中包含大量反射干扰。
- MVSNeRF虽然能够保持较高的渲染质量,但反射残留仍然明显。
- 定量结果:
- 表1显示了不同方法的定量评估结果。TNeRF在所有指标上均优于其他方法:
- PSNR:22.75
- SSIM:0.841
- LPIPS:0.205
- 其他方法的LPIPS值较高,表明它们无法生成与人类感知一致的高质量图像。
- 表1显示了不同方法的定量评估结果。TNeRF在所有指标上均优于其他方法:
3.5 消融实验
为了验证TNeRF中各个模块的有效性,作者进行了消融实验:
- 去除传输特征编码器(η):
- 无法有效提取透射特征,导致渲染结果质量下降。
- PSNR:15.60,SSIM:0.512,LPIPS:0.565
- 去除重复边缘约束(REC):
- 无法有效区分反射和透射边缘,导致反射残留增加。
- PSNR:22.48,SSIM:0.836,LPIPS:0.265
- 去除基于块的渲染(P):
- 无法捕捉局部特征,导致渲染质量下降。
- PSNR:18.17,SSIM:0.769,LPIPS:0.271
- 同时去除传输特征编码器和基于块的渲染:
- 性能退化严重,接近NeRF-W 的结果。
- PSNR:15.65,SSIM:0.588,LPIPS:0.594
这些结果表明,传输特征编码器、重复边缘约束和基于块的渲染在TNeRF中都起到了关键作用。
4. 结论
4.1 研究贡献
- 提出了一种新的方法TNeRF,能够在稀疏视角下生成高质量的透射场景视图,并有效去除反射干扰。
- 通过传输特征编码器和重复边缘约束,解决了反射和透射的混淆问题。
- 提供了一个真实世界的数据集用于评估。
4.2 局限性与未来工作
- 遮挡问题:当前方法在处理遮挡时可能失效,因为依赖于邻近视角的特征来补充信息。未来可以考虑改进特征提取方法以更好地处理遮挡。
- 不规则玻璃:对于不规则玻璃或反射覆盖较大区域的情况,当前方法可能失效。未来可以考虑改进NeRF以适应这些情况。
- 无需已知相机参数:当前方法依赖于COLMAP估计相机姿态,未来可以探索无需已知相机参数的NeRF方法。
总结
这篇论文提出了一种新的神经渲染方法TNeRF,专门用于处理通过玻璃拍摄时的反射干扰问题。通过引入传输特征编码器、重复边缘约束和基于块的渲染,TNeRF能够在稀疏视角下生成高质量的透射场景视图,并有效去除反射干扰。实验结果表明,TNeRF在多个指标上优于现有方法,具有较高的实用价值。
方法部分详解
1. 传输特征编码器(Transmission Encoder)
1.1 动机
在通过玻璃拍摄的图像中,反射和透射内容混合在一起,直接使用传统的特征提取方法(如预训练的CNN)可能会引入反射干扰。因此,作者提出使用一个专门的传输特征编码器来提取图像中的透射特征,同时忽略反射部分。
1.2 方法
- 预训练网络:传输特征编码器基于一个预训练的反射去除网络(如ERRNet),该网络能够从混合图像中提取透射特征。
- 特征提取:编码器将输入图像 $ I $ 转换为特征体积 $ W = \eta(I) $,其中 $ \eta $ 是预训练的反射去除网络。
- 多尺度特征:为了捕捉不同尺度的信息,作者提取了两组特征:
- 全局特征(Global Features) $ W_g $:从编码器的瓶颈层(bottleneck layer)提取,用于捕捉大范围的场景信息。
- 局部特征(Local Features) $ W_l $:从编码器的倒数第二层提取,用于捕捉小范围的细节信息。
- 特征融合:将全局特征和局部特征上采样到与输入图像相同大小,并输入到后续的渲染网络中。
1.3 作用
传输特征编码器的作用是:
- 提供一个干净的透射特征表示,减少反射干扰。
- 结合多尺度特征,提高渲染的细节和质量。
2. 重复边缘约束(Recurring Edge Constraints)
2.1 动机
在多视角图像中,透射内容在不同视角下通常具有较大的重叠区域,而反射内容则较为稀疏。这种特性可以用来区分反射和透射内容。例如,透射边缘在多视角图像中会频繁出现,而反射边缘则较少出现。
2.2 方法
- 边缘提取:将对齐后的多视角图像转换为边缘图,并计算每个边缘像素的出现频率。
- 边缘出现频率的计算公式为:
\(\phi(z) = \frac{\sum_{i=1}^{k} G_i(z)^2}{\left(\sum_{i=1}^{k} G_i(z)\right)^2}\)
其中,$ G_i(z) $ 是第 $ i $ 个视角图像在像素位置 $ z $ 的梯度幅度,$ k $ 是视角数量。
- 当所有视角的边缘强度都相同时,$\phi(z)$ 接近 $ \frac{1}{k} $。
- 当只有一个视角有边缘时,$\phi(z)$ 接近 1。
- 边缘出现频率的计算公式为:
\(\phi(z) = \frac{\sum_{i=1}^{k} G_i(z)^2}{\left(\sum_{i=1}^{k} G_i(z)\right)^2}\)
其中,$ G_i(z) $ 是第 $ i $ 个视角图像在像素位置 $ z $ 的梯度幅度,$ k $ 是视角数量。
- 透射边缘估计:根据边缘出现频率,估计每个像素属于透射边缘的概率。
- 透射边缘的概率公式为: \(l_T(z) = \sigma\left(-( \phi(z) - \frac{1}{k} )\right)\) 反射边缘的概率公式为: \(l_R(z) = \sigma\left( \phi(z) - \frac{1}{k} \right)\) 其中,$\sigma$ 是Sigmoid函数。
- 二值化透射边缘图:将概率图二值化,得到透射边缘的掩码 $ E_T(z) $: \(E_T(z) = \begin{cases} 1, & \text{if } l_T(z) > 0.6 \\ 0, & \text{otherwise} \end{cases}\)
- 边缘损失函数:使用透射边缘掩码约束渲染过程,使得网络更关注透射边缘: \(L_{edge} = \sum_{p(r) \in P} \| E_T(p(r)) \odot (\hat{C}(r) - C(r)) \|_2^2\) 其中,$\hat{C}(r)$ 是渲染结果,$C(r)$ 是目标颜色。
2.3 作用
重复边缘约束的作用是:
- 提供透射边缘的先验信息,帮助网络区分反射和透射内容。
- 通过边缘损失函数,约束渲染过程,减少反射干扰。
3. 基于块的渲染(Patch-based Rendering)
3.1 动机
传统的NeRF方法是逐像素渲染的,这种方法无法捕捉像素之间的空间相关性。而透射和反射的内容在局部区域内往往具有不同的统计特性,因此需要一种能够捕捉局部特征的渲染方法。
3.2 方法
- 块采样:在训练过程中,从图像中采样 $ K \times K $ 的块(patch),而不是单个像素。
- 块的采样公式为: \(P(u, s) = \{ (sx + u, sy + v) \mid x, y \in \left[-\frac{K}{2}, \dots, \frac{K}{2} - 1\right] \}\) 其中,$ u = (u, v) $ 是块的中心位置,$ s $ 是图像的缩放比例。
- 多尺度采样:结合网格采样(grid sampling)和随机采样(random sampling),捕捉不同尺度的特征。
- 渲染网络输入:将采样得到的块输入到渲染网络中,网络不仅学习每个射线的颜色和密度,还学习块内的上下文信息。
3.3 作用
基于块的渲染的作用是:
- 捕捉局部特征,提高渲染质量。
- 通过块内的上下文信息,增强网络对透射和反射内容的区分能力。
4. 整体框架和优化目标
4.1 整体框架
TNeRF的整体框架如图2所示,包括以下几个关键步骤:
- 图像投影:将不同视角的图像投影到目标视角。
- 传输特征提取:使用传输特征编码器提取透射特征。
- 透射渲染:将提取的特征输入到透射MLP(T-MLP)中,渲染透射内容。
- 反射渲染:使用反射嵌入和反射MLP(R-MLP)渲染反射内容。
- 权重系数:根据视角方向动态调整反射和透射的权重。
- 重复边缘约束:使用透射边缘掩码约束渲染过程。
4.2 损失函数
TNeRF的优化目标是最小化以下损失函数: \(L = \gamma L_{sc} + \delta L_{edge} + \omega L_{excl}\) 其中:
- 自洽损失(Self-consistent Loss) $ L_{sc} $:约束渲染结果与真实图像的一致性。 \(L_{sc} = \sum_{p(r) \in P} \| \hat{C}(r) - C(r) \|_1\)
- 边缘损失(Edge Loss) $ L_{edge} $:约束透射边缘的渲染。
- 排他性损失(Exclusivity Loss) $ L_{excl} $:区分透射和反射的梯度信息。 \(L_{excl} = \| \Psi(C_T, C_R) \|_F\) 其中,$\Psi(C_T, C_R)$ 是透射和反射梯度的逐像素相关性。
权重系数 $\gamma = 2$,$\delta = 0.002$,$\omega = 1$ 用于平衡各损失项的影响。
5. 总结
TNeRF通过以下三个关键模块解决了反射干扰和稀疏视角的问题:
- 传输特征编码器:提取干净的透射特征,减少反射干扰。
- 重复边缘约束:利用多视角图像中的重复边缘信息,区分反射和透射内容。
- 基于块的渲染:捕捉局部特征,提高渲染质量。
这些模块相互配合,使得TNeRF能够在稀疏视角下生成高质量的透射场景视图,并有效去除反射干扰。
附录:Neural Transmitted Radiance Fields 补充材料
A. 重复边缘估计的澄清
- 目的:重复边缘在框架中作为“引导”,帮助训练过程区分透射和反射内容。
- 方法:通过将参考视图的图像 warp 到目标视图,计算边缘出现的频率来估计透射和反射的可能性。
- 公式:
- 透射边缘的可能性:$l_T^{(i)}(z) = s(-(ϕ(z) - \frac{1}{k}))$
- 反射边缘的可能性:$l_R^{(i)}(z) = s(ϕ(z) - \frac{1}{k})$
- 其中,$ϕ(z) = \frac{\sum_{i=1}^{k} G_i(z)^2}{(\sum_{i=1}^{k} G_i(z))^2}$,用于衡量向量的稀疏性。
- 结果:通过设置阈值(如0.6),选择重复出现的透射边缘用于后续训练。
- 灵活性:参考图像的数量是灵活的,实验中主要设置为1或2。
B. 传输特征编码器
- 结构:传输特征编码器基于反射去除网络(如ERRNet)构建,提取全局和局部特征($W_g$ 和 $W_l$)。
- 多尺度特征:通过从网络的不同层提取特征,构建多尺度特征金字塔,以提高渲染质量和鲁棒性。
- 消融研究:通过实验验证了多尺度特征编码器的必要性,表明其在处理反射干扰时的有效性。
C. 网络架构
- 传输MLP(T-MLP) 和 反射MLP(R-MLP):分别用于渲染透射和反射内容。
- 权重系数预测:通过一个分支网络($\alpha$-MLP)预测反射和透射层之间的权重系数。
- 渲染过程:类似于NeRF,通过沿射线采样点并结合权重系数进行渲染。
- 公式:
- 透射渲染:$f_T(x, d, W_g^{(i)}, W_l^{(i)}) = (c_T^{(i)}, \sigma_T^{(i)})$
- 反射渲染:$f_R(x, d, \ell_r^{(i)}) = (c_R^{(i)}, \sigma_R^{(i)})$
- 权重系数:$f_\alpha(x, d) = \alpha$
- 最终渲染:$\hat{C}(r) = (1 - \alpha) \hat{C}_T(r) + \alpha \hat{C}_R(r)$
D. 设置澄清
- 反射场景的两种设置:
- 小尺度亮物体(如灯泡或激光笔)的反射,其虚拟图像可能难以从不同位置观察。
- 大尺度场景的反射,可以从不同角度观察,这些反射的变化为多图像反射去除方法提供了线索。
- 本文方法适用场景:适用于大尺度场景的反射去除,这些反射可以从不同角度观察并用于分离和渲染。
E. 更多实验结果
- 对比实验:展示了在不同训练视图数量下,本文方法与NeRF和NeRF-W的对比结果。
- 关键发现:
- 即使只有6个训练视图,本文方法也能成功估计新的视图,而NeRF和NeRF-W的结果会退化。
- 当提供更多的训练视图时,NeRF可以生成更高保真度的结果,但最终也会渲染出不想要的反射。
- 实验场景:
- “sofa”场景:通过可拆卸玻璃拍摄,提供了无反射的真实场景。
- “painting”场景:通过不可拆卸玻璃拍摄,展示了本文方法在真实世界场景中的有效性。
总结
这篇附录提供了关于神经传输辐射场(Neural Transmitted Radiance Fields)的更多技术细节和实验验证。通过重复边缘估计和多尺度特征编码器,该方法能够有效区分透射和反射内容,并在稀疏视图下实现高质量的新型视图合成。附录中的实验结果进一步证明了该方法在处理反射干扰时的优越性能。
原文翻译
神经传输辐射场
作者:
朱成轩,北京大学国家工程研究中心、计算机学院,peterzhu@pku.edu.cn
万任杰,香港浸会大学计算机系,renjiewan@comp.hkbu.edu.hk
石博馨,北京大学国家工程研究中心、计算机学院,shipoxin@pku.edu.cn
摘要:
神经辐射场(NeRF)在新视角合成领域取得了巨大进展。尽管NeRF能够通过学习密集图像集合来渲染场景中的细微细节,但在通过玻璃拍摄时,它也会重建不想要的反射内容。作为一种常见的干扰现象,反射会通过遮挡透射光线来降低玻璃后期望场景的可见性。本文旨在解决如何从一组反射干扰的图像中渲染出新的透射视图的问题。通过引入传输编码器和重复边缘约束作为引导,我们的神经传输辐射场能够在渲染过程中抵抗这种反射干扰,并在稀疏视图下重建高保真结果。与最新方法相比,我们的方法在新收集的数据集上的实验中表现出了优越的性能。代码和数据可在以下链接获取:https://github.com/FreeButUselessSoul/TNeRF。
1. 引言
新视角合成在许多计算机视觉应用中发挥着重要作用。随着神经辐射场(NeRF)的引入,该领域取得了巨大进展。NeRF通过使用多层感知机(MLP)从一组图像中建模场景的辐射度和密度,展示了在多种复杂场景下的高保真度。尽管NeRF在多种场景中取得了成功,但其在处理玻璃这种常见介质时仍面临挑战。玻璃在摄影和日常生活中经常被用来为期望的场景提供透视保护,但其反射性可能会在通过玻璃拍摄的图像中反射出不想要的场景。人们通常对玻璃后的透射场景感兴趣,并希望去除不想要的反射。这使得神经辐射场陷入两难境地:其精心设计的框架能够建模场景中的每一个细节,包括那些不想要的细节。
解决这一困境的一种方法是在将捕获的图像输入NeRF之前,使用预处理工具去除不想要的成分。例如,现有的反射去除方法可以被用来抑制不想要的成分,并为透射场景提供更好的可见性。然而,不同视角下的处理图像可能会违反NeRF假设的场景光度静止性。此外,大多数现有的基于单图像的反射去除方法无法完全去除反射,而剩余的反射可能会被NeRF建模为场景的一部分,从而降低渲染结果的质量。
另一种解决方案是像NeRF-W那样渲染带有不想要成分的场景,通过将整个场景分为具有不同属性的静态和瞬态元素。然而,反射和透射通常呈现出高度“纠缠”的关系,因为它们在光传输过程中会相互影响,并在捕获的图像中反映出这种不适定的本质。从图1(左)的结果可以看出,这可能对NeRF-W的适用性构成挑战,从而表现出性能下降。此外,NeRF-W也部分依赖于密集的多视角图像来进行分离。作为NeRF继承下来的一个不切实际的需求,这与日常拍摄中只有有限输入和稀疏视图的经验相矛盾。图1(左)的结果表明,NeRF-W无法在有限视图下实现高保真合成,更不用说在透射场景和反射场景之间进行有效分离了。因此,如何在稀疏视图下渲染新的透射场景是一个独特的挑战。
与NeRF-W所需的排他性属性不同,我们利用了重复边缘现象(由开创性的反射去除方法验证),通过将不同视角的图像 warp 到预定义的目标视图来连接上述问题。如图1(右)所示,给定一组对齐的图像序列,透射场景在不同视图中具有较大的重叠区域,而反射场景则只有稀疏的存在。此外,来自邻近视图的对齐图像特征也可以用于更高保真度的目标视图重建。因此,我们设计了一种由两个支柱支持的方法:1)重复模式的边缘,即图1(右)中所示的重复边缘,可以被估计为渲染过程中区分的引导;2)参考视图的特征,这些特征被整合到渲染中,以在稀疏视图下实现高保真度重建。
为了适应上述设计,必须进行几项修改。由于传输/反射边缘只在某些区域显示其重要性,经典的“逐像素”渲染框架无法捕捉这种内部物理属性。我们采用基于块的渲染框架,将一定区域内的像素聚合成一个块作为训练批次。此外,由于反射的干扰,由预训练用于一般任务的网络提取的特征可能会从特征层面引入干扰,从而恶化前面描述的传输/反射分离。因此,我们提出了一种传输编码器,以穿透由反射引起的特征级干扰,并更准确地渲染传输结构。最后,由于反射的强度通常依赖于视角方向,两个层的权重系数是从视角方向获得的,以组合传输和反射层。
总之,上述考虑导致了我们的神经传输辐射场,如图2所示,其主要贡献可以总结如下:
- 一种能够穿透反射干扰以渲染新的透射视图的方法。
- 一种从重复边缘中得出的统一考虑,用于去除反射/透射的歧义,并增加透射的渲染保真度。
- 一个从真实世界收集的数据集,用于评估。
2. 相关工作
2.1 基于NeRF的新视角合成
新视角合成的目标是利用一组已知视角的图像生成其他视角的图像。传统方法依赖于显式表示,如多平面图像[11, 12]、网格[13]或点云[14]来渲染新的视角。尽管这些方法在测试时具有较高的渲染效率,但它们通常在表示能力上存在局限性。与显式表示不同,神经辐射场(NeRF)[1]利用隐式表示,通过神经网络来表示3D场景。例如,NeRF[1]通过将输入的5D坐标映射到对应的场景属性,近似一个连续的3D多层感知机(MLP)。鉴于其出色的表示能力,NeRF[1]已被扩展到解决诸如重新照明和场景编辑等问题。最近,NeRF-W[7]提出通过引入一个额外的MLP来建模不想要的瞬态元素,从而将原始NeRF[1]扩展到野外场景,这使得原始NeRF[1]能够建模具有光度变化和瞬态成分的场景。由于NeRF需要大量图像进行训练,一些方法[10, 15]被提出,通过利用邻近视图的特征信息,使其能够在稀疏视图下实现可行的训练。在本工作中,我们旨在通过消除反射带来的负面干扰,将NeRF扩展到透视场景。
2.2 从反射干扰的图像中恢复透射
如何从反射干扰的图像中恢复透射场景已经讨论了几十年。早期方法[16, 17]利用边缘差异,通过优化减少透射和反射之间的歧义。最近的方法主要采用深度学习框架来解决这一问题。例如,Fan等人[18]提出了一种两阶段深度学习方法,用于学习混合图像与估计的清晰图像之间的映射关系。Wan等人[19, 20]提出了一种合作模型,以更好地保留背景细节。Zhang等人[21]提出了一种基于生成对抗网络的感知反射去除方法。Wei等人[5]提出了一种解决非对齐图像对反射去除问题的方法。此外,一些最近提出的方法[4]还尝试通过首先定位反射区域来关注反射干扰区域。最近提出的方法[22]还在额外偏振器的指导下移除了反射。除了依赖单图像之外,许多方法[8, 23, 24, 25]还利用多图像提供的先验知识,基于透射的重复边缘来去除反射。从不同视角观察到的这种不一致性也允许我们的框架在渲染过程中区分透射和反射。
3. 神经辐射场的预备知识
我们首先简要回顾NeRF[1]和NeRF-W[7]的设置。NeRF将场景表示为一个连续的体积辐射场$f$,它将任意给定点的位置$x=(x,y,z)$和视角方向$d=(\theta,\phi)$映射到颜色$c=(r,g,b)$和密度$\sigma$,即:
\[f(x,d)=(c,\sigma)\]随后,从位于位置$o$的相机的投影中心发出的相机射线$r(t)=o+td$对应的期望颜色$\hat{C}$可以表示为:
\[\hat{C}(r) = \int_{t_n}^{t_f} T(t)\sigma(t)c(t)\,\mathrm{d}t, \quad (1)\]其中$t_n$和$t_f$分别表示渲染的近界和远界,$T(t)=\exp\left(-\int_{t_n}^{t}\sigma(r(s))\,\mathrm{d}s\right)$表示累积透射率。NeRF-W[7]通过两个MLP扩展了NeRF[1],用于建模期望的静态($f_s$)和不想要的瞬态($f_t$)成分,分别为:
\[f_s(x,d,\ell_a)=(c_s,\sigma_s) \quad \text{和} \quad f_t(x,d,\ell_t)=(c_t,\sigma_t). \quad (2)\]由于引入了额外的MLP来建模瞬态元素,以及适应各种外观和瞬态对象的嵌入$\ell_a$和$\ell_t$,NeRF-W[7]能够在渲染过程中分解期望的静态成分。
对于在透视场景中捕获的图像$I$,反射$R$和透射$T$之间的关系可以表示为:
\[I = \beta T + \alpha R \quad [6]\]其中,$\beta$和$\alpha$表示权重系数。将NeRF-W[7]应用于实现新的透射视图合成并不直接适用,原因如下:
- 密集视图需求:NeRF-W[7]和NeRF[1]都继承了对密集多视图图像的巨大需求,其性能在只有有限输入和稀疏视图的实际场景中会退化。
- 不想要的反射干扰:玻璃两侧的物体发出的光线可能会被吸收、折射和反射,导致捕获图像中的光能量衰减或高度混合[6]。这使得它们的分离呈现出不适定的本质,不能简单地通过使用无监督模型来解决。
我们提出构建神经传输辐射场来解决这些问题。
4. 神经传输辐射场
我们的目标是学习一种作为玻璃后透射场景表示的辐射场。为了避免透射/反射分离的复杂歧义以及在稀疏视图下的低重建保真度,我们通过将像素 warp 到期望的目标视图来构建一种统一的方法。通过提取 warp 后的重复边缘,我们的方法可以摆脱反射的干扰。同时,引入了一种传输特征整合方案,用于合并 warp 图像的传输特征,从而即使在稀疏视图下也能实现更高的重建保真度。
NeRF[1]和NeRF-W[7]中的逐像素渲染方案缺乏反映透射/反射相关性的能力,因为某些统计属性只能在一定区域内观察到。为了更好地考虑邻近像素之间的空间相关性,我们采用基于块的渲染方案。具体来说,在训练过程中,我们按照文献[26]中提出的方法,在给定图像中采样一个$K\times K$的块$P(u,s)$,如下所示:
\[P(u,s)=\{(sx+u,sy+v)\mid x,y\in\left[-\frac{K}{2},\dots,\frac{K}{2}-1\right]\}, \quad (3)\]其中$u=(u,v)$表示块的中心位置,$x$和$y$的范围从$-\frac{K}{2}$到$\frac{K}{2}-1$,用于创建采样网格,$s$表示图像块的尺度$P$。在我们的设置中,我们应用了网格采样($s=1$)和随机采样($s>1$)的组合采样,允许图像块捕捉不同尺度的空间信息。从图像块中聚合的像素随后用于训练,在此过程中,模型不仅可以学习一条射线上的颜色和密度,还可以对上下文有一个全面的了解。
4.1 传输特征整合
与仅依赖于点坐标和视角方向作为输入的NeRF[1]和NeRF-W[7]不同,我们提出通过邻近视图的附加引导来解决保真度问题。给定一个只有稀疏视图的场景,来自邻近视图的特征引导可以帮助以更高的保真度重建新的目标视图。一般来说,这种图像特征是通过使用预训练用于一般任务的2D CNN网络提取的。然而,由于邻近视图的图像也是通过玻璃捕获的,像之前方法[15]中用于视图合成的通用CNN网络可能会在渲染过程中引入特征级干扰。
如图2所示,我们首先将邻近视图投影到它们的目标视图。为了在特征整合过程中抵抗这种干扰,我们提出通过预训练的反射去除网络(例如ERRNet[5])获得传输特征编码器$\eta$,以提取传输特征,即:
\[W=\eta(I),\]其中$W$表示提取的特征体积。与仅依赖于单尺度特征的pixel-NeRF[27]不同,它在我们的设置中会受到视图错位的影响,我们提出构建一个特征金字塔,表示为:
\[W=\{W_g,W_l\},\]其中$W_g$和$W_l$分别表示具有不同尺度的全局和局部特征。一般来说,由于CNN自然地在浅层存储局部信息,并在具有较大感受野的深层编码全局信息,我们分别从$\eta$的瓶颈层和倒数第二层提取$W_g$和$W_l$。先前的研究也表明,结合不同尺度的特征可以带来更好的收敛性和几何细节[28]。这两个特征图通过最近邻插值上采样到图像的大小。
对于第$i$个目标视图提取的全局和局部传输特征随后被传递到MLP网络中,用于传输渲染(T-MLP)$f_T$,连同位置和视角方向,如下所示:
\[f_T(x,d,W_g^{(i)},W_l^{(i)})=(c_t^{(i)},\sigma_t^{(i)}), \quad (4)\]其中$c_t^{(i)}$和$\sigma_t^{(i)}$分别是第$i$个视图的透射场景的估计颜色和密度。
对于反射,为每个视图$i$引入一个可学习的反射嵌入$\ell_r^{(i)}$,并使用一个额外的MLP网络用于反射渲染(R-MLP)来估计反射场景的颜色$c_r^{(i)}$和密度$\sigma_r^{(i)}$,如下所示:
\[f_R(x,d,\ell_r^{(i)})=(c_r^{(i)},\sigma_r^{(i)}), \quad (5)\]反射嵌入与$f_R$的权重一起优化。与现有的NeRF方法[1,7]类似,我们构建了一个自洽损失函数,如下所示:
\[L_{sc}=\sum_{p(r)\in P}\|\hat{C}(r)-C(r)\|_1, \quad (6)\]其中$p(\cdot)$表示从射线到其对应像素位置的映射,$\hat{C}(r)$表示观察到的颜色,$C$表示物理定义的$C_T$和$C_R$的组合,即$C=\beta C_T+\alpha C_R$。在这里,$\alpha$表示平衡$C_T$和$C_R$的权重系数。为了简化,我们直接设置$\beta=1-\alpha$,类似于之前的反射去除方法[29]。
在光传输过程中,几个因素会影响权重系数$\alpha$。在我们的设置中,由于反射的强度主要依赖于视角方向[30],而不是相机的确切位置,我们提出通过一个简单的MLP来建模这种影响,该MLP根据对应的视角方向编码输出权重系数,如下所示:
\[f_\alpha(x,d)=\alpha.\]具体来说,由于$d$和$x$分别表示视角方向和任意给定点的位置,给定视图的权重图类似于方程(1)所渲染的,考虑这两个因素。它使网络能够增强对一般情况的鲁棒性。
4.2 重复边缘约束
上述设置确保了即使在稀疏视图下也能实现高保真度的新视图重建。然而,由于没有任何反射去除模型能够达到完全无反射的状态,传输特征编码器留下的反射残差可能会进一步恶化歧义问题。因此,我们利用对齐图像序列提供的优势,以进一步解开它们之间复杂的关系。
正如先驱方法[9, 29]所指出的,当通过玻璃捕获不同视角的多幅图像时,透射在所有样本中频繁出现,而反射可能只有稀疏的存在。这一特性使得重复的透射边缘成为缓解透射和反射之间歧义的“向导”。在我们的方法中,我们首先将对齐图像转换到它们对应的边缘域,并测量边缘出现的频率,如下所示:
\[\varphi(z) = \frac{\sum_{i=1}^{k} G_i(z)^2}{\left(\sum_{i=1}^{k} G_i(z)\right)^2}, \quad (7)\]其中,$G_i(z)$表示第$i$个视图在像素位置$z$的梯度幅度,$k$表示像素的总数。它测量了向量的稀疏性,当只有一个非零项存在时,其最大值为1,而当所有项非零且具有相同值时,其最小值为$\frac{1}{k}$。通过这种测量,每个边缘像素被赋予了两个概率,分别表示它是否属于透射场景。
对于旨在多视图一致性的普通NeRF网络来说,识别透射和反射是一个巨大的挑战。我们按照文献[29]中提出的策略,为我们的网络提供透射和反射的似然估计:
\[l_T^{(i)}(z) = s\left(-\left(\varphi(z) - \frac{1}{k}\right)\right), \quad l_R^{(i)}(z) = s\left(\varphi(z) - \frac{1}{k}\right), \quad (8)\]其中$s$是Sigmoid函数,用于促进分离。然后,透射边缘的最终似然可以定义如下:
\[E_T(z) = \begin{cases} 1, & \text{如果 } l_T^{(i)}/R^{(i)}(z) > 0.6, \\ 0, & \text{否则}. \end{cases} \quad (9)\]从图1(右)的结果可以看出,目标透射场景的似然有效地标记了透射边缘,这在渲染过程中提供了清晰的指导。我们在0到1之间以0.1为步长进行搜索,并在实验中将方程(9)中的阈值固定为0.6。
基于方程(9)中获得的二值化边缘图,我们提出使用一个简单的边缘损失函数来约束渲染,如下所示:
\[L_{\text{edge}} = \sum_{p(r) \in P} \|E_T(p(r)) \odot (\hat{C}(r) - C(r))\|_2^2, \quad (10)\]这意味着我们在透射边缘出现的地方对渲染图像施加更多的约束,鼓励对混合图像进行更忠实的重建。
此外,正如先前的研究[21]所指出的,透射边缘和反射边缘往往是不同的。我们继承了透射和反射梯度之间的排他性假设,以在梯度域中区分这两部分,如下所示:
\[L_{\text{excl}}(\theta) = \|\Psi(C_T, C_R)\|_F, \quad \Psi(C_T, C_R) = \tanh(\lambda_T |G(C_T)|) \odot \tanh(\lambda_R |G(C_R)|), \quad (11)\]其中,$\lambda_T = \sqrt{\frac{|G(C_R)|_F}{|G(C_T)|_F}}$,$\lambda_R = \sqrt{\frac{|G(C_T)|_F}{|G(C_R)|_F}}$。由于我们的块已经足够小,因此丢弃了其原始设置中的下采样操作。$\Psi(\cdot, \cdot)$定义了透射和反射之间的像素相关性,这有助于在梯度域中将它们分开。
综合考虑上述设置和约束,我们整个优化的损失函数可以总结为:
\[L = \gamma L_{\text{sc}} + \delta L_{\text{edge}} + \omega L_{\text{excl}},\]其中,$\gamma = 2$,$\delta = 0.002$,$\omega = 1$是平衡每一项影响的权重系数。所有的计算和优化过程都基于从图像中采样的块进行。
4.3 实现细节
我们使用PyTorch实现了我们的框架。在训练和测试阶段,我们使用两个具有256个通道的八层MLP来预测对应于透射和反射场景的颜色$c$和密度$\sigma$。我们训练了一个“粗”网络和一个“细”网络用于重要性采样。我们在粗模型中沿每条射线采样64个点,在细模型中采样64个点。一个批次包含一个$32\times 32$像素的图像块,相当于1024条射线。与NeRF[1]中的设置类似,我们对输入位置应用位置编码,然后将它们传递到MLP中。我们使用Adam优化器,其默认值为$\beta_1 = 0.999$,$\beta_2 = 0.9$,$\epsilon = 10^{-8}$,学习率在优化过程中按照余弦调度衰减至$10^{-4}$。我们在两块NVIDIA V100 GPU上优化了一个单一模型,大约100K次迭代。
我们的传输编码器可以通过利用ERRNet[5]和U-Net[31]的优势来提取多分辨率的传输特征。根据我们的实验,即使是一个简单的U-Net[31]也可以帮助在渲染过程中抵抗反射干扰。传输编码器首先与一个特征解码器集成,以将信息压缩到较低维度,然后将输出传递到传输MLP中。对于传输特征编码器的预训练,我们遵循文献[5]中提出的策略及其发布的训练数据。因此,该模型大致相当于其发布的模型。
5. 实验
数据集
我们的实验基于我们收集的一个真实世界的数据集。该数据集包含8个不同的真实世界场景,每个场景包含20到30张不同姿态的混合图像。具体来说,其中4个场景提供了用于实验中定量评估的真值。我们遵循文献[6]中提出的设置,首先通过透明玻璃捕获混合图像,然后通过移除玻璃来捕获其对应的透射场景。我们遵循NeRF[1]及其变体[10, 32]中之前的设置,通过COLMAP[33, 34]估计姿态。与大多数反射去除方法[6]一样,我们在捕获图像时假设有一块平面玻璃。尽管现实世界中的一些玻璃略有弯曲,但这并不会明显影响我们方法的鲁棒性。我们还在LLFF数据集[35]和RFFR数据集[32]上测试了我们的网络。
基线
我们将我们的方法与以下五种基于NeRF的方法进行了比较:
- NeRF[1]:原始的NeRF方法。
- NeRF-W[7]:NeRF在野外的非官方实现。
- MVSNeRF[10]:基于NeRF的多视图立体模型,用于新视图合成(NVS),也依赖于参考视图。
- 反射去除(RR)+ NeRF:新型透射视图合成的最直接方法,即基于反射去除方法的结果(不失一般性,我们使用ERRNet[5],一个启发我们设计的最新方法)训练NeRF网络。
- NeRFReN[32]:最近发布的一个基于NeRF的方法,专门用于透视场景。
- RR + MVSNeRF:使用MVSNeRF[10]进行NVS,反射去除作为预处理。
第5节中的所有结果都是使用六个视图进行训练得到的。由于页面大小限制,使用更多视图训练的其他方法的结果可以在补充材料中找到。
评估指标
我们使用PSNR、SSIM和LPIPS[36]报告定量性能。对于PSNR和SSIM,值越高表示性能越好。对于LPIPS[36],值越低表示性能越好。通过使用高级特征测量图像保真度,LPIPS[36]可以更好地匹配人类对图像相似性的判断。
5.1 定性结果
图3和图4展示了渲染的新型透射视图的定性结果。由于提出的传输特征整合方案的有效性,我们的方法可以在只有六个视图的情况下可靠地重建新型透射视图。此外,特征整合方案及其合作的重复边缘约束进一步减少了渲染过程中反射和透射之间的歧义。对于其他方法,尽管NeRF[1]可以部分重建期望的透射视图,但它仍然受到反射干扰的影响;NeRF-W[7]和NeRFReN[32]由于无法像我们的方法那样用如此少的输入分离反射和透射,因此输出了退化的结果;MVSNeRF[10]可以像我们的方法一样保持渲染结果的高保真度,但由于其特征提取器无法抵抗反射干扰,因此其结果中仍然存在明显的反射残差。
5.2 定量结果
表1中的定量结果也验证了图4中的观察结果。较高的PSNR值表明我们的方法可以以更高的精度渲染新型透射视图并恢复颜色信息。较高的SSIM值表明我们的方法可以保留高频细节的结构信息。较低的LPIPS值表明我们的方法恢复的图像与人类感知更一致。具体来说,对于其他方法的结果,它们较高的LPIPS值表明它们无法在只有六个视图的情况下重建高保真度的图像。具体来说,MVSNeRF[10]在所有方法中实现了第二好的LPIPS结果,这表明特征整合方案确实可以提高渲染保真度。另一方面,RR + NeRF设置实现了第二好的PSNR和SSIM结果,这表明这种简单策略在一定程度上是有效的。
5.3 消融研究
我们的网络由两部分组成:用于解开透射和反射场景的传输编码器,以及用于利用物理约束的基于块的渲染方案。我们进行了几项实验,以评估这两部分的益处。我们首先移除了传输编码器,并直接将MLP与位置和视角方向一起输入。从图5中的结果可以看出,没有参考视图的支持,位置和视角方向无法有效地重建期望的透射视图。表2中显示的误差也更接近NeRF在表1中的误差。然后,我们移除了重复边缘约束,由于网络对块中的每个像素都给予了同等的重视,因此在渲染的目标视图中观察到了更多的反射。我们进一步完全移除了基于块的渲染方案。在这种情况下,由于缺乏物理约束,反射明显保留在生成的目标视图中,正如我们之前讨论的那样。最后,我们同时移除了基于块的渲染方案和传输编码器,我们得到了一个类似于表1中NeRF-W[7]的退化结果。不失一般性,我们特别在图6中比较了MVSNeRF[10]和非反射常见示例,以表明我们的方法也可以适应更一般的情况。
6. 结论
我们在本文中解决了透视场景中新型视图合成的问题。我们引入了一个传输编码器,用于解决由稀疏视图导致的保真度问题,以及由反射干扰引起的歧义问题,所有这些都在一个统一的框架中实现。具体来说,为了进一步解开渲染过程中传输和反射之间的复杂关系,我们引入了通过统计对齐图像序列中边缘出现频率得到的重复边缘约束。在新收集的数据集上的实验评估表明,我们的方法在新型透射视图合成方面能够取得令人满意的性能。
局限性与未来工作
我们的方法仍然面临由遮挡问题带来的挑战,因为我们依赖于邻近视图的特征来补充稀疏视图下的缺失信息。然而,当某些区域的特征与特定视图不一致时,遮挡可能会由于不准确的特征信息而对我们的方法的性能产生负面影响,从而在该区域合成新视图时出现问题。此外,我们的方法依赖于COLMAP[33, 34]进行渲染,但在低透射反射覆盖较大区域或由不规则玻璃引起的透射畸变的情况下,COLMAP[33, 34]可能无法正确提取透射特征。研究无需已知姿态的NeRF方法(如[37])可能有助于缓解这一问题。我们还将在未来的工作中考虑不规则玻璃对透射物体光线的影响。
致谢
本研究得到了国家自然科学基金(项目编号:62136001、61872012)的支持。万任杰由香港浸会大学研究委员会的蓝天研究基金(项目编号:BSRF/21-22/16)资助。
附录翻译
A. 重复边缘估计的澄清
在我们的框架中,重复边缘起到引导训练的作用。这一设计基于一个简单的观察结果,该结果已被许多先驱的反射去除方法[1, 2]验证。在这一观察中,透射内容在一组图像中反复出现,而反射内容则只有稀疏的存在。除了我们在主论文图1中展示的示例外,我们在本补充材料中额外展示了一个示例。从图S1展示的示例中可以看出,我们的方法首先将参考视图的图像 warp 到预定义的目标视图。通过 warp 后的图像序列,我们计算透射($l_T$)和反射($l_R$)的可能性,如下所示:
\[l_T^{(i)}(z) = s\left(-\left(\varphi(z) - \frac{1}{k}\right)\right),\] \[l_R^{(i)}(z) = s\left(\varphi(z) - \frac{1}{k}\right), \quad (S1)\]其中,$\varphi(z)$ 定义为:
\[\varphi(z) = \frac{\sum_{i=1}^{k} G_i(z)^2}{\left(\sum_{i=1}^{k} G_i(z)\right)^2}. \quad (S2)\]方程(S2)衡量了向量的稀疏性,当只有一个非零项存在时,其最大值为1;而当所有项非零且具有相同值时,其最小值为$\frac{1}{k}$。随后,我们可以进一步选择期望的重复透射边缘,如下所示:
\[E_T(z) = \begin{cases} 1, & \text{如果 } l_T^{(i)}/R^{(i)}(z) > 0.6, \\ 0, & \text{否则}. \end{cases} \quad (S3)\]从图S1可以看出,由于透射和反射之间的复杂关系,一些透射边缘残留在反射的模式中。然而,这种设置已经有效地提取了重复的透射边缘,用于后续的训练。
在我们的设置中,参考图像的数量是灵活的。为了简化,我们在实验中主要将这一数量设置为1或2。
我们进一步在图S3中展示了一个包含两个参考视图的示例。我们使用Matlab中的imshowpair
函数来展示主视图与参考视图1(Ref View 1)以及主视图与参考视图2(Ref View 2)在 warp 前后的差异。从这两个结果可以看出,第一行的反射A1、B1和C1以及第二行的反射A2和B2在 warp 后均未对齐,而我们的方法仍然可以成功提取REC模式,如图S3的第三列所示。
B. 传输特征编码器
传输特征编码器的结构如图S3所示。我们通过对RFFR数据集[3]中的一个示例进行消融研究,分析了使用分层特征的必要性,如图S4所示。
C. 网络架构
我们网络中的传输MLP(T-MLP)和反射MLP(R-MLP)的细节如图S5所示,其中$\gamma(\cdot)$表示在[4]中提出的位置编码函数,定义为:
\[\gamma(p) = [\sin(2^0\pi p), \cos(2^0\pi p), \dots, \sin(2^{L-1}\pi p), \cos(2^{L-1}\pi p)]. \quad (S4)\]函数$\gamma(\cdot)$分别应用于输入坐标$x$和视角方向$d$的每个元素,分别记为$\gamma(x)$和$\gamma(d)$。$W_g$和$W_l$分别表示投影到目标视图的图像的全局特征和局部特征。这些特征是从反射去除网络的瓶颈层和倒数第二层提取的。$\ell_r$是一个可学习的反射嵌入,用于建模在真实场景中常见的变化反射。
图S5中的每个蓝色框表示一个全连接层,其内部标注了输出通道的数量。我们的网络分为用于渲染透射的MLP(T-MLP)$f_T$、用于渲染反射的MLP(R-MLP)$f_R$,以及从T-MLP分支出来的$f_\alpha$,用于预测反射和透射层之间的权重系数。形式上,对于第$i$个目标视图:
\[f_T(x, d, W_g^{(i)}, W_l^{(i)}) = (c_T^{(i)}, \sigma_T^{(i)}),\] \[f_R(x, d, \ell_r^{(i)}) = (c_R^{(i)}, \sigma_R^{(i)}),\] \[f_\alpha(x, d) = \alpha. \quad (S5)\]渲染过程类似于NeRF[4],我们在射线$r = o + t_j d$上采样一组点,渲染结果为:
\[\hat{C}_S(r) = \sum_{j=1}^{N} T_{S,j} \left(1 - \exp(-\sigma_{S,j} \delta_{S,j})\right) c_{S,j}, \quad (S6)\]其中$T_{S,j} = \exp\left(-\sum_{k=1}^{j-1} \sigma_{S,k} \delta_{S,k}\right)$,$S \in {T, R}$表示要渲染的场景是透射还是反射。$\delta_i = t_{i+1} - t_i$是射线上相邻采样点$t_i$和$t_{i+1}$之间的距离。权重系数$\alpha$用于组合透射和反射,如下所示:
\[\hat{C}(r) = (1 - \alpha)\hat{C}_T(r) + \alpha \hat{C}_R(r), \quad (S7)\]其中$\hat{C}(r)$表示射线$r$的渲染颜色。
D. 设置澄清
图S6左侧:我们假设这是由一些小尺度的亮物体P引起的,例如灯泡甚至激光指针,这些物体仅占据有限的区域。在这种情况下,其虚拟像P′确实可能难以从不同位置观察到。
图S6右侧:反射去除通常处理更大的场景(我们用一个大圆来表示),这些场景可以从不同位置(Q和Q′)观察到。当相机从Q移动到Q′时,我们可以从不同角度(通过接收来自不同位置的反射光线)观察反射,这些反射具有不同的外观。这些差异(也是多图像反射去除方法所依赖的线索)有助于我们的问题中的分离和渲染。只要高光反射不是太小(例如,像激光指针这样的极端情况),它们也可以像上述设置一样从不同角度观察到。
E. 更多结果
在这一部分,我们展示了NeRF[4]和NeRF-W[5]获得的动画结果的更多比较。请注意,这些图表包含GIF动画,只有在使用Adobe Acrobat或KDE Okular查看时才能正确显示。读者也可以在补充材料的附件中找到动画结果。
与主论文中的实验不同,我们展示了在18个训练视图下获得的更多结果。从图S7和图S8的结果可以看出,即使只有6个训练视图,我们的方法也能成功估计新的视图,而NeRF[4]和NeRF-W[5]只能生成退化的结果。从图S7中可以看出,当提供更多的训练视图时,NeRF确实可以生成更高保真度的结果,但最终也会渲染出不想要的反射。
评论