为超大型、复杂信号提供精确和快速的重建。
神经信号重建是指通过神经网络在不同信号维度进行映射。传统的Coordinate MLP就是将二维信号 $(x,y)$/三维信号 $(x,y,z)$映射到信号的目标域,比如颜色 $(R,G,B)$/体积 $\sigma$/SDF。
MLP对小型信号的重建具有良好的效果,但是对于大型复杂信号,MLP的容量也要随之增加,从而对存储和推理时间上造成挑战。本工作从多阶拉普拉斯金字塔出发,较好地解决了这个问题。
拉普拉斯(Laplace)金字塔可以对视觉信号进行稀疏且多阶的分解,使得在不同scale上分解出该视觉信号不同频率的信息。
相比于高斯金字塔每层存储不同尺度的RGB,拉普拉斯金字塔除了第一层存储最小(coastest)的RGB,其他层都是存储对应尺度的残差图。这样只需要存储最右边一列的信息,就可以重建出目标图像。残差图一般是稀疏的,所以可以采取一些压缩方法,使得存储能够更加compact。
MINER在拉普拉斯分解的基础上,又对同一scale的空间进行分解。同一scale的不同不相交方块区域都由单独的小MLP负责。这样的分解在于(正常的)视觉信号不同层之间存在自相似性,对于图像低频区域,较粗层负责该区域的MLP若已经收敛,该区域就不会参与到较细层MLP的训练。这种逐层sequentially训练+剪枝的方法,极大提升了训练和推理的时间,而且该方法是自适应的,会根据图像自身高频低频的特点,自动划分粗或细的训练区域。
相比于ACORN和KiloNeRF,MINER在时间和效果上都吊打,原因就在于多阶和空间上的分解,并且利用分解采用了更efficient和compact的训练方式。
论文写的很垃圾,可以看AI葵的视频,比较清晰:
https://www.youtube.com/watch?v=MSVEhq67Ca4
https://www.youtube.com/watch?v=MakRkSp9lek
https://www.youtube.com/watch?v=KX0CiZls1Jc
假设scale有J-1层,0层是finest,J-1层是coastest。以从粗到细的顺序进行训练。每个patch/block的大小是固定的(论文是32*32,是个超参数)。
对于最粗的J-1层,需要先将图像下采样J-1倍,然后按照patch的大小划分网格。每个patch都有自己的局部坐标,范围是 $(-1,1)$。MLP就在这个基础上进行训练。每训练100k次时进行一次检查,查看哪些MLP已经训练足够好(将该区域上采样到原图大小,跟原图对应区域计算MSE,MSE小于1e-4,即PSNR>40的),就把这个区域剪枝掉,后面不再训练。训练500k(超参)后,停止该scale的训练,进入下一个scale。
将上一阶段需要继续训练的区域进行上采样2倍,同样按照固定patch的大小划分网格。训练过程与上述相同,只不过GT不是RGB,而是J-2倍下采样的图像与这些区域的残差。对于那些上一阶段停止训练的区域,接下来对应区域的残差都填充0。理论上每一层都能得到一份残差图。
直到所有scale训练完,就得到最终的表达和MLP集。推理的时候,我们先从J-1层得到最粗的图像,同时我们又计算出每一层的残差图,就可以按照拉普拉斯的方法重建出原图。