查看原文
其他

【源头活水】多尺度的CityNeRF: Building NeRF at City Scale



“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—黄浴

地址:https://zhuanlan.zhihu.com/p/450671684

arXiv在2021年12月17日上传论文"CityNeRF: Building NeRF at City Scale",作者来自香港中文大学、德国马普研究所和新加坡南洋理工等。
神经辐射场(NeRF)在三维目标和受控场景的建模中取得了优异的性能,通常在单尺度下。这项工作首次尝试将NeRF引入城市规模,视图范围从捕获城市概览的卫星级图像到显示建筑复杂细节的地面级图像变化。摄像机到场景的距离很宽,产生了具有不同细节级(level-of-detail)和空间覆盖范围的多尺度数据,这给普通NeRF带来了巨大挑战,并走向一种折衷的结果。为解决这些问题,CityNeRF采用一种渐进学习(progressive learning)方式,同时发展了NeRF模型和训练集。从浅的base block拟合远视图开始,随着训练进行,添加新块以适应在越来越近的视图中出现的细节。该策略有效地激活了位置编码(positional encoding)中的高频通道,并在训练过程中打开更复杂的细节。各种各样城市规模场景,视图中有急剧变化,这方面CityNeRF有优势,而且支持不同细节级(level-of-detail)的视图渲染。
上面的图其实是告诉这样的事实:对城市规模场景,摄像机可以在很大程度上自由移动;值得注意的是,摄影机到场景的距离跨度很大,这导致了固有的多尺度特性:随着摄影机升高,场景中的地面目标将获得更粗的外观图,几何细节更少,纹理分辨率更低;与此同时,来自周边区域的新目标正以不断增长的空间覆盖率被一个个纳入视图中。
NeRF使用多层感知器(MLP)的权重,将体积密度和颜色做参数化,成为输入坐标的函数。对于图像上显示的每个像素,光线r(t)从相机的投影中心发射并通过像素。一种分层抽样方法,确定摄像机预定义的近平面和远平面之间光线的排序距离向量。对于射线上的任何查询点r(tk),MLP将用其傅里叶变换的特征,即位置编码(PE),输出颜色和密度:
将3D位置x(也可加上观察方向)的一组正弦和余弦映射组合到预定义的频率级M,可实现PE:
然后根据经典体绘制(volume rendering)方法对网络进行优化,其中所有采样点r(tk)的估计密度和颜色通过数值正交(quadrature)近似体绘制积分:
最后的(颜色)损失函数是:
不过,普通NeRF在某些情况下出现问题,如图所示:渲染图像上的瑕疵在实心框高亮区域显示,GT patch显示在侧面。(a) 在所有尺度的联合训练会导致:近景的纹理模糊,远景的几何不完整;(b) 每个尺度的单独训练产生连续尺度之间不一致的几何和纹理。
另外,位置编码PE也发现在尺度不同情况下的频率通道不同,如图所示:(a) 不同尺度的视图需要不同的傅里叶特征频率来恢复细节;虽然高频傅里叶特征对于近距离视图是必需的,但低频傅里叶特征足以表示远程视图;(b) 渐进式训练策略有效地激活了PE在较深区块(如B3)的高频傅里叶特征,而普通NeRF不断失败,即使加上最深的跳连接。
如图所示是提出的CityNeRF方法总概览:(a) 城市规模场景中多尺度数据的图示,其中L∈ {1,2,3,…}表示每个尺度。每个阶段模型都与训练集同步增长。(b) 新的residual blocks附加到网络中,从最远尺度到当前尺度的样本合并集,监督这个训练过程;residual blocks的结构如虚框所示。(c) 在不同residual blocks上获得的细节级渲染结果。可见细节从浅到深、一点一点地添加。
由于浅的base blocks适合在远视图上,因此所学习特征匹配低细节级,因此仅激活PE的低频通道。然而,新的residule blocks需要访问PE的高频通道,以便在更近的视图构建新的细节。
新层基于前面训练中最后点变换层得到的潜特征,输出残差颜色和密度:
头输出聚合成:
在一个多尺度监督框架下,在训练步L的损失是从所有以前的输出头聚合而成:
实验结果比较:

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存