今日学习内容

杂谈

上周末时隔快一年重新做了一次周赛,第一题手速还是可以的,第二题和第三题两道中等有点吃力,第二题是完全背包相关的题目,动态规划题目一直有点苦手,需要狠狠加强一波.第三题图论虽然想到了思路,但是图论具体细节没实现完全,做的太少了.
感觉算法遇到瓶颈了,低分题基本可以做出但是复杂的题目差点意思,现在1750分,接下来一个月准备重心放在算法上.

3DGS

今天用陈昊师兄的数据跑了原版和DashGaussian进行测试,发现整体渲染质量都比较低,渲染7000次,PSNR都只有20多,使用viewer工具观察后发现主要是草丛处点云数量过少。
个人理解可能是在训练过程中,草丛部分纹理过于复杂,导致局部梯度均值相抵消无法触发3DGS的自动增殖模块,导致高斯无法拟合草丛过于复杂的纹理,使得整体渲染质量下降。

力扣每日一题:

今天的每日是关于回文串的困难题.

Mysql学习

41 -> 47

Spring学习

17 -> 21

做明天实验室汇报的PPT

准备讲Dash高斯论文.

汇报内容

  1. 本周汇报的文章是DashGaussian,主要是对原版3DGS的训练速度进行了大幅度的优化.甚至可以将训练时间压缩到200秒.

  2. 这篇文章发现,高斯训练的速度主要就受两个因素的影响,一个是真值图像的分辨率,还有就是高斯球的数量.而DashGaussian通过动态的调节这两个因素,使得训练速度得到大幅度的提高的同时,渲染质量基本保持一致.

  3. 这篇文章发现,基本90%的训练时间基本都在前向渲染,反向传播和高斯球参数更新上;并且高分辨率的图像在渲染前期存在浪费的现象.后期的优化会有非常大的边际效应递减.
    在右上角的表格可以看到,原版3DGS的图像分辨率是一致的,但是DashGaussian的图像分辨率是随时间动态上升的.这样的话可以减少在训练初期使用高分辨率图像的浪费.
    第二个图标可以看到,原版3DGS的高斯球数量随着迭代,会以一个上凸的形状快速达到数量上限,导致训练进程变慢,而Dash高斯会在前期抑制高斯球的增殖,高斯球数量以一个下凹的形状上升,可以大幅度增加训练速度.
    这个图是这篇文章的结构图.他的核心就是引入了对图像分辨率和高斯球数量的动态调节机制.

  4. 然后就是一个关键的问题就是通过什么机制来决定分辨率的动态变化的.这篇文章引入了频率公式来表示,这个公式是对每张训练的视图做傅里叶变换,得到它的频率表示Fn,然后计算所有频率分量的L2范数平均值,这个值作为频率能量,高频区域也就是细节部分数值更大,低频(也就是平滑部分)数值小.
    将高斯球训练的过程比成从低频到高频的过程,初期低分辨率时先对物体轮廓和颜色进行拟合,后期高分辨率部分对纹理和细节进行拟合.

  5. 然后就是文章定义的分辨率调度器,会预先计算各个分辨率的频率能量,然后计算sr.然后当训练步数达到sr后切换到更高分辨率.这部分是对分辨率的控制

  6. 然后是对高斯球数量的控制:这个是设计的增长曲线,它的特点是是一个凹函数,在前期增长慢,在中期随着分辨率提升加速.
    第二个公式代表高斯球最终数量上限会根据当前新增高斯球数量来动态的预测.
    这部分就是对高斯球数量的控制.

  7. 这是在不同数据集上进行的实验
    可以看到训练时间部分和其他相比,有了非常大的提升,并且渲染质量在几个指标略有提升.

  8. 可以看到在不同数据集和方法下,加入文章的方法后训练速度都有明显的加快,并且训练质量也有一定增强.

  9. 左图可以看到随迭代逐渐变大的图像分辨率,中间图实现部分可以看到本文方法下,高斯球数量曲线呈下凹状态,右图可以看到训练耗时最大的三个部分耗时都分别有了不同程度的下降.

  10. 这是文章做的消融实验
    可以两个模块对渲染速度和质量均有一定的提升.

晚上学代码随想录

把二叉树的题做完了,把算法笔记二叉树部分收个尾.

生活记录

早训踢球

颠球 短传 逆足

晚上健身

练练胸和三头,强度比较低.