# IF-GS **Repository Path**: kahsolt/if-gs ## Basic Information - **Project Name**: IF-GS - **Description**: 3D Gaussian Splatting with Increasing Frequency - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-04-28 - **Last Updated**: 2024-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 3D Gaussian Splatting with Increasing Frequency ### Setup Our default, provided install method is based on Conda package and environment management: ```shell SET DISTUTILS_USE_SDK=1 # Windows only conda env create --file environment.yml conda activate gaussian_splatting ``` ### Insight * 在图像局部相关性方面,高频信息和低频信息在图像平面的 “有效范围” 是不一样的。 * 在图像平面内,低频信息往往在较大像素区域内存在相关性 (在低频区域,少量 S 较大的 Gaussian 覆盖即可);而高频信息由于在图像平面内变化很大,因此其不可能作用很大的像素范围 (在高频区域,应覆盖较多 S 较小的 Gaussian)。 * 3DGS 在每个 Gaussian 的球谐系数维度是 (3, 16),每个颜色通道由 16 个系数决定,其中 0~3 阶各有 1,3,5,7 个系数,分别表示低频到高频的信息。 $$ {\bf G}_i = ( {\bf \mu}_i, {\bf c}_i, \alpha_i, {\bf R}_i, {\bf S}_i ) $$ * 所有频率的信息定义在同一个 Gaussian 中,会导致高、低频信息的 “拉扯”。在一个 Gaussian 中,同时拟合出符合高低频作用空间的 S,必将存在 “折衷” 或者 “冗余”。 * “折衷”:平衡二者,处于某种 “中间状态” 的 S。 * “冗余”:高,低频信息存在优化难度差异,S 会 “倾斜” 向某一方。如果 “倾斜” 向高频,可能会导致点云过度稠密;反之,S 会普遍偏大,此时服从高斯分布的高频信息方差过大,过度在不该产生效果的区域做了贡献。 * TODO:将不同阶数的球谐系数分配至不同的 Gaussian 进行优化。 * “ ” 表示没有更合适的表达了!!! ****** * Specifically (初步想法,还没完全想明白) * 定义:将稀疏点云 $ {\bf P} \in \mathbb R^{N \times 3} $ 分成为 L 份 (均匀采样或直接复制),分别定义不同频率下的 Gaussian,每个频段下的 Gaussian 定义如下: $$ {\bf G}_i = ( {\bf \mu}_i, {\bf f}_i, \alpha_i, {\bf R}_i, {\bf S}_i ) $$ * 优化:每个频段的 Gaussian 独立进行优化 * TODOs: * 每个频段的 Gaussian 优化结束之后再联合优化 * 每个频段的优化参数目前固定 ==> 可调。不同频率下的 Gaussian 平均 size 应该有所区别,clone,split 和 prune 的阈值应该有差别。 * 代码效率优化。