S3IM:随机结构相似性及其对神经场的不合理有效性

论文:《S3IM: Stochastic Structural SIMilarity and Its Unreasonable Effectiveness for Neural Fields》

链接:arxiv.org/pdf/2308.07...

代码:github.com/Madaoer/S3I...

导读

今天为大家介绍的 S3IM 这个工作背后的想法实际上很简洁,作者从这个 idea 在脑海里形成到最后提交到 ICCV-2023 不过2个月时间。

用一句话来总结这个工作就是------我们提出了一种即插即用的 loss S3IM(随机结构相似性),可以近乎零成本地显著提升现存 NeRF 类方法的性能指标。在几个场景里,我们甚至可以把 TensoRF 和 DVGO 这些经典模型的 Test MSE Loss 下降99%,同时把 NeuS 的几何重建指标(比如Chamfer L1 Distance)改善超过60%。

动机

这里让我们先看几组RGB和几何重建的可视化结果:

不仅如此,还可以提高对图像噪音的鲁棒性。如下图所示,S3IM的渲染结果明显去掉了图像里灰蒙蒙的噪音。

毫无疑问,S3IM极大地增强了现有的NeRF类方法。

S3IM的精髓在于以两个像素集合之间的相似性作为训练损失;像素集合一般包含数千个像素,这些像素一起贡献了互相关联的、全局的结构信息。

而NeRF传统的MSE是一种以两个独立像素之间的point-wise error作为训练损失;所以MSE只包含了像素点孤立的信息、完全没有远距离或者全局的信息。

上面这两段话就是 S3IM 的 motivation。

分析

为什么有结构信息更好?这是一个很好的问题。

但我们先回答另一个相关的问题,为什么NeRF的性能指标要有3个------PSNR、SSIM和LPIPS?

  • PSNR 就是像素之间point-wise的度量。很早大家就发现,PSNR好不代表真的就好。
  • SSIM(结构相似性)作为一种和人类视觉感知相关性更高的度量在2004年图像评估领域应运而生。
  • LPIPS 则是一种通过预训练神经网络提取特征计算特征距离的指标(一般叫做感知指标)。

因此,我们可以看到,SSIM和LPIPS其实都具备衡量两个像素集合之间相似性的能力,而且与人类视觉感知相关性都比PSNR高。熟悉NeRF的读者都知道,传统NeRF训练时是用MSE Loss。而PSNR和MSE其实就是一个简单的对数关系。MSE和PSNR这类point-wise指标都是不够好的。一方面是和人类视觉感知相关性低,另一方面则是无法捕捉多个像素(像素集合)的整体信息。

那么,SSIM和LPIPS可不可以直接作为NeRF的loss训练呢?其实也可以,但仍然不够好。因为SSIM和LPIPS都是基于卷积核的相似性度量,它们只能捕捉相近像素的局部信息,不能捕捉更远的像素包含的结构信息。

我们的ICCV工作就是把SSIM(Structural SIMilarity)这个经典图像质量评估指标升级,变为S3IM(Stochastic Structural SIMilarity)。这个升级方式也很简单。SSIM只能在图像local patch用卷积核对吧。那我们把NeRF训练时每个minibatch的像素随机拼接成一个patch(叫做stochastic patch),然后再用SSIM处理这些stochastic patch就行了。

有时候,真理就是这么朴实无华啊...知名3D几何重建开源框架SDFStudio也已经把S3IM方法合并进去了。

实验

最后再放一个量化的实验结果。表里Multiplex即是我们的S3IM方法。

S3IM这个工作是我们Machine Learning for Fields系列工作的一环。我们在从机器学习的角度考虑场的问题。

无论是神经辐射场还是其他什么场,广义来说都是某个coordinate-wise的物理量。NeRF只是把辐射场的物理先验知识(空间中包含发光气体)嵌入了sampling的部分而已。这对3D场景表示不是完美的,但确实非常有用,也掀起了热潮。

对技术细节感兴趣的读者请直接查看原文和代码。

相关推荐
小圆5311 小时前
java-learn(9):常见算法,collection框架
java·开发语言·算法
岑梓铭2 小时前
《考研408数据结构》第七章(6.1~6.3图的概念、存储方式、深/广度遍历)复习笔记
数据结构·笔记·考研·算法·图论·408·ds
qq_433554542 小时前
C++ 单调栈
数据结构·c++·算法
向前阿、2 小时前
数据结构从基础到实战——排序
c语言·开发语言·数据结构·程序人生·算法
2401_841495643 小时前
【语音识别】混合高斯模型
人工智能·python·算法·机器学习·语音识别·gmm·混合高斯模型
码上零乱3 小时前
跟着小码学算法Day19:路径总和
java·数据结构·算法
天选之女wow4 小时前
【代码随想录算法训练营——Day53】图论——110.字符串接龙、105.有向图的完全可达性、106.岛屿的周长
算法·深度优先·图论
安迪西嵌入式4 小时前
数据平滑处理算法03——中心移动平均
java·前端·算法
CN-Dust5 小时前
【C++】2025CSP-J第二轮真题及解析
开发语言·c++·算法