论文阅读:(arXiv 2022)Filtering In Neural Implicit Functions

Filtering In Neural Implicit Functions (arXiv 2022)

2022/6/16: 现在是下午两点五十分,办公室的行军床软底的,睡又睡不着醒也醒不过来。下个月稳定了看看能不能换个硬点的。

Paper: https://arxiv.org/pdf/2201.13013.pdf
Code: https://github.com/yixin26/FINN

Abstract

神经隐式函数对于表示包括图像和3D曲面在内的多种数据非常有效。然而,如果数据的细节尺度很多或频率范围很广,神经网络学习的隐式函数通常会在结果中加入过平滑的补丁或噪声伪影。采用同时包含噪声和过平滑区域的函数可能会遇到过平滑或噪声问题。为了克服这一挑战,我们提出了一个新的框架,即FINN,它将一个过滤模块集成到神经网络中,在过滤工件的同时执行数据重构。滤波模块有一个平滑算子,它作用于网络的中间结果,还有一个恢复算子,它将输入的不同细节带回过度平滑的区域。该方法大大缓解了平滑或噪声问题。我们展示了FINN在图像回归和表面重建任务上的优势,并展示了与最先进的方法相比的显著提升。此外,该算法在收敛速度和网络稳定性方面都有较好的性能。源代码可以在https://github.com/yixin26/FINN上找到。

1. Introduction

过滤技术被广泛应用于许多应用程序,以增强感兴趣的内容或从数据中删除意外的工件,比如图像和3D形状。对于具有许多细节尺度或广泛频率范围的数据,使用神经网络在恢复数据的同时保持没有不需要的内容是具有挑战性的。因此,滤波方法通常是必要的后处理,或额外的策略,如粗到细的生成,分层表示,或规模感知操作,以适应不同的细节规模。本文讨论了全连接神经网络中的内置可学习滤波器,以在一个简单的网络框架内实现神经隐式函数的重建和滤波目的。

隐式函数是一个连续函数,它将空间坐标映射到不同表示下的相应值(例如,RGB,有符号的距离等)。它可以使用简单的网络结构来学习,例如,具有ReLU激活的多层感知机 (MultiLayer Perceptrons,MLPs)[20,22,8]。此外,MLPs通过将坐标编码为高维向量,即随机傅里叶特征(FFN),可以重构具有较宽频带的函数[27]或者用周期函数替换ReLU激活函数,即正弦激活(SIREN)[25],这也能带来显著的提升。

尽管取得了令人印象深刻的进展,但FFN和SIREN仍然难以重建复杂的函数,通常会在结果中产生过平滑区域或噪声。不幸的是,没有普遍有效的滤波器来适应重构以避免这些问题,并且每个数据都需要单独调整。为此,提出了一些明确的空间或局部自适应方案。例如,SAPE[13]基于FFN,以递增的频率对单个空间坐标的输入进行逐步编码,以避免在平滑区域使用过多的频率;工作[19]基于SIREN,将输入坐标细分为网格,并根据每个网格调制激活函数。图2中显示了一个例子,其中显式空间适应方法(即SAPE)提供的结果与基线方法(即FFN)相比噪声较小。然而,SAPE倾向于使结果过于平滑
(例如,天空和屋顶下的区域)。与其他自适应方法不同的是,本文采用连续滤波函数实现自适应,不需要对坐标空间进行离散化或细分,并且避免了自适应方法中出现的过度平滑问题。
在这里插入图片描述我们将滤波模块定义为两个连续的运算符,一个是平滑运算符,即球形归一化,对结果进行过度平滑;另一个是恢复运算符,即Hadamard product,将输入的详细信息还原为经过光滑处理的结果,如图1 (filtering)所示。这两个操作符与MLP一起构成一个简单的网络功能。直观地说,球面归一化算子使结果的全局和小规模变化变平坦。相比之下,恢复算子可以将小的结构或模式从原始域恢复到过度平滑的结果。利用滤波函数对中间结果进行分层调整,最终得到重构函数的滤波结果。FFN与SAPE的比较结果如图2所示,我们的方法展示了改进与更少的噪声工件和增强的细节。
在这里插入图片描述
平滑算子输出过度平滑的结果,而恢复算子恢复细节。对MLPs的中间结果进行滤波,从而产生目标函数的自适应重建,实现高保真的神经表示。

为了证明滤波模块的有效性,我们评估了我们的网络在图像回归和表面重建任务。实验结果表明,我们的方法可以比最先进的方法更好地捕捉广泛的频率范围,包括FFN和SIREN,实现了显著的性能提升。此外,基于SGD优化的神经网络函数滤波具有更快的收敛速度和更稳定的性能。
在这项工作中,我们做出了以下贡献:

  • 我们提出了一个简单的框架,该框架扩展了基于mlp的神经网络,使用过滤函数进行数据重构,同时过滤噪声工件和增强小尺度细节。
  • 我们设计了一个简单的滤波函数,对MLPs的每一层都进行迭代平滑和恢复操作,可以很好地适应宽频带范围的重构。

此外,整个网络有一个简单的公式,可以很容易地修改,以实现不同的滤波效果,如使用一个替代恢复函数,或扩展到各种应用。

2. Related Work

隐式神经表示: 深度神经网络已经被证明对于学习表示图像[27,25,21,6]和表示3D对象和场景[22,20,8,2,12,26]的隐函数是非常有效的。它们将坐标作为多层感知器(MLPs)的输入,可以采样到任意高的空间分辨率。因此,这种表示可以直接应用于超分辨率任务。其他应用包括视图合成[21,18,34,3],基于点云的三维重建[2,12,30,29]和单图像三维重建[20,31,32,24]。除了生成任务,隐式表示也适用于其他任务,如特征匹配[7],场景理解[36]。

最近的一些进展导致了结构化或分层设计,可以进一步缩小生成的结果和目标函数之间的差距。他们将3D目标和场景或图像的复杂函数划分到常规子区域中,考虑全局一致性的情况下独立拟合每个子区域。

傅里叶特征网络(FFN)[27]证明,基于relu的MLP网络很难捕捉到非常详细的信号,这是由于光谱偏差特征。FFN使用位置编码,使用正弦函数将信号的输入坐标映射到高维空间。同时,SIREN[25]将MLP网络中的ReLU激活替换为正弦函数。他们有一个相似的精神,操纵频率域的输入或中间结果,以捕获更宽的频率带宽的输出。此外,为了更好地拟合单个数据,位置编码或MLP网络中的正弦函数被设计为可学习的[9,19]。与使用正弦函数相比,样条位置编码(SPE)[28]研究了用于坐标嵌入的可学习样条函数。在充分的样条局部支持下,SPE还可以对高频信号进行近似。然而,当使用少量的局部支持时,样条的补丁之间的边界变得显著,这显著降低了视觉质量。

重构高频细节通常是以在结果中引入视觉假象为代价的。如果一个子区域本身很复杂,结构化或分层设计很难起作用。为此,SAPE[13]提出了一种渐进的优化策略,以在单个空间位置上增加频率来编码信号。 该方法显著降低了噪声伪影,但另一方面,产生过平滑的结果。与操纵输入进行空间适应或结构化表示的方法相比,我们寻求一种直接适应连续函数的替代方案。

深度神经网络中的图像滤波: 图像滤波器通常计算图像相邻像素的加权平均作为输出,有时利用正则化项进行图像优化。最近,一些研究提出了可以从大量数据集学习的神经网络滤波器,用于各种应用[14、35、33、11、5、16],如图像超分辨率、去噪和去模糊等。它们主要是基于卷积网络来确定查询点的局部邻域。对于连续函数,除了在有限的分辨率下离散输入域外,很难知道相邻区域的像素点。

因此,如何在全连接神经网络中实现连续函数的滤波仍然是一个有待解决的问题。本工作旨在为神经隐函数提供一种简单有效的滤波方法。

3. Method

在本节中,我们将介绍一种新的带滤波模块的全连接神经网络,如图1所示。我们在3.1节中首先介绍了神经隐式函数和位置编码。接下来,我们将在3.2节中描述滤波模块的设计。

3.1 Neural Implicit Functions

隐函数是一个连续函数 f θ : R a → R n f_\theta:\R^a \to \R^n fθ:RaRn,它以欧氏空间 x ∈ R a x \in \R^a xRa中任意查询点的坐标为输入,并在目标域 R n \R^n Rn中预测一个值。 用神经网络 f θ f_\theta fθ学习需要一组坐标采样作为输入,相应的值作为输出。 f θ f_\theta fθ的例子包括映射像素到图像回归的强度值或投影三维坐标到三维表面重建的标量值。一旦优化,目标 f θ f_\theta fθ可以采样到任意高的空间分辨率,这意味着网络具有推广到训练样本旁边的不可见空间位置。

用多层感知器(Multi-Layer Perceptrons, MLPs)对隐式函数进行建模是一种常见的方法。然而,正如FFN[27]所证明的那样,基于ReLU的MLPs由于光谱偏差特征,往往会产生过平滑的结果,导致严重欠拟合问题。因此,FFN为避免偏爱低频频谱的偏向,将输入投影到频率带宽可控的频域。 (能否使用BACON与Filtering相结合) 具体来说,坐标 x x x d d d维傅里叶特征向量 γ ( x ) ∈ R d \gamma (x) \in \R^d γ(x)Rd表示,如下所示:
在这里插入图片描述
其中 ∣ ∣ || 是两个向量concat, B B B是一个 d 2 × a \frac{d}{2} \times a 2d×a的矩阵,从一个标准差为 σ \sigma σ的高分布从随机采样得到的。注意 γ ( x ) \gamma(x) γ(x)的幅值总是 s s s。在FFN中,设 s s s d \sqrt{d} d ,即 γ ( x ) \gamma(x) γ(x)的幅值等于 d \sqrt{d} d ,针对不同类别分别搜索控制频谱的 σ \sigma σ。 对于所有实验,我们的网络使用默认设置为 s = 80 , σ = 10 s= 80, \sigma = 10 s=80,σ=10

傅里叶特征嵌入有助于学习更宽频带的复杂信号,但代价是过拟合问题:在生成函数中引入意想不到的极具局部变化(例如,噪声,局部肿块),特别是在看不见的空间位置。 如图4所示,通过线性插值两个相邻坐标 P x 1 P_{x1} Px1, P x 2 P_{x2} Px2的路径看起来过于弯曲,从而产生了输出的噪声伪影。这是由于 x 1 x_1 x1 x 2 x_2 x2的随机傅里叶特征中含有过高频率。
在这里插入图片描述
输入坐标在在位置嵌入和全连接层后被投影到特征上。在经过平滑后,他们之间的局部变化变得平滑(如图所示)。通过乘上初始特征,恢复算子将超球面特征投影到一个更复杂的流形上。如果初始特征选取得当,则新特征之间的差异相比于原特征之间更小。这个过程在每个完全连接的层之后迭代执行。
总的来说,我们的工作建立在传统MLP和位置编码的基础上,这些编码要么存在不拟合要么存在过拟合的问题,考虑对重构函数进行修补,使其能够更好地泛化,同时实现隐式神经表示的高保真度。

3.2 Filtering Function

θ i , i = 1 , 2 , ⋯   , k \theta_i, i=1,2,\cdots,k θi,i=1,2,,k表示 k k k层MLP,然后,通过MLP的坐标 x x x将产生一个输出序列 y i , i = 1 , 2 , ⋯   , k . y_i, i=1,2,\cdots,k. yi,i=1,2,,k. 为了重构目标函数,我们对最终输出函数 y k y_k yk进行监督。为了减少噪声干扰和恢复 y k y_k yk中的细节,我们对MLPs的所有中间结果进行了滤波处理。也可以直接过滤最终输出,但需要更复杂的设计来权衡数据保真度和过滤目的。实际上,我们发现在MLP的各个层中进行过滤,结果会对最终结果产生满意的过滤效果。新网络函数的表达式可以递归地写为:
在这里插入图片描述
结合上面的网络图看会更清晰一些。
其中 o ( ⋅ ) o(\cdot) o()是球面归一化函数,比如 o ( v ) = v ∣ ∣ v ∣ ∣ o(v)=\frac{v}{||v||} o(v)=vv ⨀ \bigodot 表示Hadamard乘法(如之前所说就是矩阵乘法)。矩阵 M M M将嵌入特征 γ ( x ) \gamma(x) γ(x)映射到与隐藏层相同维度。

由球面归一化和哈达玛乘积组成的滤波函数分别推导出平滑和恢复算子,在保持数据重构高保真度的同时有效去除噪声干扰。如图4(左)所示,在中间特征空间中,相邻的一对特征点 P x 1 P_{x1} Px1 P x 2 P_{x2} Px2之间存在显著的局部变化。在球面归一化之后,归一化特征 P x 1 ′ P_{x1}^{'} Px1 P x 2 ′ P_{x2}^{'} Px2之间的线性插值变得平坦了。这个操作产生了一个过度平滑的重建,如图3(b)所示,一些小的结构消失了。尽管图像仍然比没有进行平滑处理的图像好,例如图3(a)。平滑操作表明,将特征空间限制为超球,仍然可以为数据拟合提供全局信息,然而结果倾向于过度平滑。为了进一步恢复小结构,采用了恢复算子,新特征 P x 1 ′ ′ P_{x1}^{''} Px1 P x 2 ′ ′ P_{x2}^{''} Px2之间的变化增加了(如图4右边所示)。使用这两种算子的重构图像如图3©所示,其中基于图3(b)在不引入更多噪声的情况下恢复了精细细节。
在这里插入图片描述
在相同的采样率下,即25%用于训练,100%用于测试,加入滤波模块可以显著提高重构图像的视觉质量。
在这里插入图片描述

滤波效果: 可以对Fx进行适当的调整,达到不同的过滤效果,如图5所示,这里我们根据 F x F_x Fx的不同定义来比较视觉效果,包括 F x = x M T F_x = x M^T Fx=xMT F x = 1 F_x =1 Fx=1,和 F x = γ ( x ) M T F_x = \gamma(x) M^T Fx=γ(x)MT他们表示不同程度的平滑。 F x = γ ( x ) M T F_x = \gamma (x) M^T Fx=γ(x)MT在本文FINN中使用, F x = 1 F_x =1 Fx=1表示FINN的恢复情况显著,变体 F x = x M T F_x = x M^T Fx=xMT直接将输入坐标映射到超平面。因此,这一恢复操作进一步平坦超球的局部变化,生成了所有三个变量之间最平滑的重建。、

MLP的层数: 我们的过滤函数在mlp的隐藏层中迭代执行。在图6中,我们展示了FINN使用不同数量的隐藏层(从一层到五层)的性能。由于只有一个隐藏层,图像中的噪声仍然很明显,随着隐藏层数量的增加,视觉和数值结果都得到了改善。注意,FINN不仅过滤工件,而且增强了细节。只有一个隐藏层( F I N N 1 l FINN_{1l} FINN1l)的FINN的性能已经优于最先进的方法,如表1所示。当隐藏层数已经超过两层时,继续增加隐藏层并不能产生更好的效果。 这里缺少了一些实验部分的说明,其他方法用了多少层MLP、每层通道是多少,这些都没有讲清楚。而且不用普通的隐藏层只用两层FINN能重建成这样我是不信的。
在这里插入图片描述
完全看不出有什么效果呀??上面的PSNR线除了1到2有点改变,其他的看不出区别。
在这里插入图片描述
超参数: 重构对位置编码很敏感,而基于sgd的优化方法难以学习其参数。在图7中
(右),我们通过网格搜索 σ \sigma σ(取值范围1 ~ 25)和 s s s(取值范围5 ~ 160)显示测试图像的解空间。 σ \sigma σ在10的附近时,图像恢复效果较好;当 σ \sigma σ值过大或过小时,图像会被噪声污染或过度平滑。与 σ \sigma σ相比, σ \sigma σ固定时, s s s对结果的影响很小。但是 s s s对收敛速度的影响更大,如图8所示,对于固定的 σ \sigma σ时, s s s增大时收敛速度更快(从深色到浅色), s > 50 s > 50 s>50时趋于稳定。 此外,更高的s也提高了网络的稳定性,如图中突出显示的框中,s > 50的曲线也更线性。我们所有的实验中,包括图像回归和表面重建任务,我们使用的s是常数个数,即80。使用过大的 s s s会给ReLU-MLPs的训练带来不稳定性,最终导致性能下降。
在这里插入图片描述

4. Experiments

我们的网络适用于用隐式函数制定的任务,侧重于表示包含广泛频率带宽的复杂函数。我们首先广泛验证了在隐式图像函数中应用滤波的好处,然后我们展示了所提出的滤波模块在基于点云的三维表面重建任务中的有效性。

对于图像回归,我们的网络包含一个随机的傅里叶特征映射和Multi-Layer Perceptrons (MLPs),如图1所示。MLP有三个隐藏层,其中ReLU激活,最后一层Sigmoid激活激活。每个隐藏层都与一个过滤函数相关联,如图1所示。傅里叶特征的维数是512,隐藏层的维数是256。我们使用MSE损失来训练图像。该网络以1e-3的固定学习率训练2000次。对于每个图像,训练像素在包含图像中25%像素的规则间隔网格上采样。
在这里插入图片描述

我们将我们的方法与最先进的方法进行比较,包括FFN [27],SIREN [25], SPE[28]和SPE[13]的数据集,从FFN的自然图像和文本图像。报告的误差是在图像中所有像素上计算的,通过计算生成的图像与对应的地面真实值之间的相似度得到。我们使用标准的相似性度量包括PSNR和FLIP。FLIP给出了一个用于可视化和全局测量的误差图(即,所有像素上误差的加权中值)。

数值结果如表1所示。我们的方法比所有最先进的方法都有相当大的收益。定性结果如图12所示。一般来说,所有的方法都可以生成逼真的图像。尤其值得一提的是,FINN可以比其他软件更好地捕捉更宽的频率带宽,在背景(低频)和图像中的小图案和结构(高频)上都做得更好。相比之下,SPE通常会产生过度平滑的图像,而FNN、SIREN和SPE通常会包含许多噪声伪影。
在这里插入图片描述
测试宽频带宽图像: 我们证明了我们的方法在重构包含显著宽频宽的复杂信号的能力。与MPA-SIREN[19]相似,测试图像由6 × 6网格的Perlin[23]噪声补丁组成,随着水平方向和垂直方向的频率不断增加。如图9所示,与MPA-SIREN、SAPE和FFN相比,FINN提供了更好的重构。特别是,FINN可以很好地处理其他方法通常无法处理的小型结构。即使在低频区域,FINN也优于其他方法。

收敛: 除了获得更好的性能,令人惊讶的是,FINN在收敛速度和网络稳定性方面也有很好的性能。图10显示了来自自然数据集和文本数据集的所有测试图像的PSNR曲线,其中FFN(左)和FINN(右)都经过了2000次迭代的训练。对于大多数测试图像,FINN经过300次迭代后收敛并且之后保持稳定。相比之下,FNN对基于sgd的优化很敏感,产生曲线和非单调的PSNR曲线。收敛性比较表明,FINN中的滤波模块类似于一个隐式正则化的角色,在整个优化过程中显著缓解过拟合问题。
在这里插入图片描述

4.1 Applications

Pass

5. Conclusion

我们提出了一种新的神经网络隐式函数与显式考虑滤波在重建。通过将滤波模块集成到神经网络中,我们的方法能够产生包含非常宽的频率带宽范围的复杂信号。在二维图像回归和三维表面重建任务上的实验表明,我们的方法与目前最先进的方法相比有显著的改进。此外,我们的滤波技术在基于sgd的优化下具有更快的收敛速度和更稳定的性能。

我们的方法与FFN[27]有相似的局限性,即对位置编码的全局参数敏感。当使用过高或过低的频率时,产生的结果会变得有噪声或过平滑。幸运的是,网格搜索的参数能满足来自同一任务的大多数示例,无需单独调优。然而,频率参数的自动优化还需要进一步的研究。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值