今日学习内容

继续做汇报PPT,今天状态好一些了.

  1. 这周汇报的CityGaussian–实时大场景高质量的3DGS。

  2. 文章提出的问题是,目前大多数的3DGS都专注在小型场景或者物体的重建上,然而当重建的规模尺度变大之后,现有的3DGS方法会出现显存爆炸并且导致渲染时卡顿,性能出现非常严重的下降。

  3. 所以这篇文章针对上述问题提出了针对大规模场景的3dgs方法,文章的核心思想是提出了一种有效的分治策略,以并行方式重建大规模3DGS。
    利用所提出的LoD策略也就是细节的分级处理,以最小的质量损失实现了不同尺度下的实时大规模场景渲染。并且目前在测试中效果优于目前最好的算法。

  4. 这个就是这篇文章训练的流程图:
    CityGaussian首先会训练一个低分辨率的全局先验,也就是图中蓝色的点云,为后续的分块作为一个原始的依据,然后对边界进行约束.
    然后第二步,将整个场景分成多个区块,分块大小根据显存大小动态调整,并且对每个分块进行负载均衡。
    然后第三步,对数据进行动态分配,包括动态边界,剔除噪声点
    第四步是每个区块进行并行的训练。
    第五步是将所有分块融合输出。

  5. 首先这个就是预先训练的低分辨率全局图,直接利用全部的观测图训练colmap点进行30000次迭代,然后生成一个全局几何分布的粗略的描述.

  6. 然后就是对边界进行约束,图中粉色框对应单位立方体的边界,其内部点云为需精细化处理的前景.然后根据前景的尺度生成单位立方体,将立方体外的点云进行非线性压缩,最终使前景的点云分布在0到1的范围,而其他点云则压缩在1到2的范围.然后就得到了右侧进行边界约束的图.

  7. 然后是微调阶段,在这时会根据如图这两个公式,来判断需要激活哪几个区块,对需要激活的区块进行训练.B1代表的是通过计算移除该区块前后的SSIM指标的差异,判断该区块是否显著影响当前视角的渲染质量.然后B2代表通过相机所在位置,检查相机位置是否位于区块的预设3D边界内.

  8. 然后是渲染阶段,会将场景进行细节分级,每个区块都会有三个不同细节程度的层级,对于更近的区块,使用更加细致的层级,对于更选的区块,选择更加粗略的区块.并且由于每个区块的边界并不是固定的,并且在训练过程中,会出现一些噪点成为区块的边界,所以会通过下面的公式来去除这些误差.
    这个MAD代表中位数绝对偏差,然后第二行修正后最小边界,剔除远低于正常范围的异常值.然后最大上界同理.

  9. 然后这是渲染的效果图,可以看到在这种大场景下,本文的方法实现了很好的渲染效果.

  10. 可以看到在不同测试数据下,相比原版3DGS,本文的方法的渲染质量都有了很大的提升.

  11. 这个图标代表使用不同的层次策略下,渲染速度的对比.红色折线是本文的多层级渲染策略,可以保证质量的同时保持较高的渲染速度.

  12. 上面的表是文章做的消融实验,第三行是不使用边界收缩的情况下,第四行是没有去除边界噪声的情况,这两个部分对质量都有影响.
    下面的表格是不同的分块策略对渲染质量的影响,可以看到区块越大,质量越高,但是渲染速度越慢.

3DGS

做明天汇报的PPT

力扣每日一题

一道选或不选的题目.

JavaSE八股

39/56

Redis八股

0/57

代码随想录

生活篇