License: arXiv.org perpetual non-exclusive license
arXiv:2403.09143v1 [cs.GR] 14 Mar 2024
Figure 1. Benefiting from our new Gaussian splitting algorithm, we can produce more uniform, surface-bounded 3D Gaussian splatting models, enabling their explicit editing to produce clearer surfaces and the extraction of denser point clouds for untextured regions. Our splitting method also benefits 3D Gaussian learning, rendering views of higher quality.
Refer to caption

My teaser

Figure 1. Benefiting from our new Gaussian splitting algorithm, we can produce more uniform, surface-bounded 3D Gaussian splatting models, enabling their explicit editing to produce clearer surfaces and the extraction of denser point clouds for untextured regions. Our splitting method also benefits 3D Gaussian learning, rendering views of higher quality.

A New Split Algorithm for 3D Gaussian Splatting

Qiyuan Feng BNRist, Department of Computer Science and Technology, Tsinghua UniversityChina Gengchen Cao BNRist, Department of Computer Science and Technology, Tsinghua UniversityChina Haoxiang Chen BNRist, Department of Computer Science and Technology, Tsinghua UniversityChina Tai-Jiang Mu BNRist, Department of Computer Science and Technology, Tsinghua UniversityChina Ralph R. Martin Cardiff UniversityUK  and  Shi-Min Hu BNRist, Department of Computer Science and Technology, Tsinghua UniversityChina
Abstract.

3D Gaussian splatting models, as a novel explicit 3D representation, have been applied in many domains recently, such as explicit geometric editing and geometry generation. Progress has been rapid. However, due to their mixed scales and cluttered shapes, 3D Gaussian splatting models can produce a blurred or needle-like effect near the surface. At the same time, 3D Gaussian splatting models tend to flatten large untextured regions, yielding a very sparse point cloud. These problems are caused by the non-uniform nature of 3D Gaussian splatting models, so in this paper, we propose a new 3D Gaussian splitting algorithm, which can produce a more uniform and surface-bounded 3D Gaussian splatting model. Our algorithm splits an N𝑁Nitalic_N-dimensional Gaussian into two N𝑁Nitalic_N-dimensional Gaussians. It ensures consistency of mathematical characteristics and similarity of appearance, allowing resulting 3D Gaussian splatting models to be more uniform and a better fit to the underlying surface, and thus more suitable for explicit editing, point cloud extraction and other tasks. Meanwhile, our 3D Gaussian splitting approach has a very simple closed-form solution, making it readily applicable to any 3D Gaussian model.

3D reconstruction, Guassian splatting, neural rendering, 3D representation, editing
journal: TOGccs: Computing methodologies Point-based modelsccs: Mathematics of computing Probabilistic algorithms

1. introduction

3D representation is a key part of artistic model design, special effects production, and VR/AR applications. Some implicit 3D representations like neural radiance fields (NeRFs) (Mildenhall et al., 2020), have achieved great results in rendering quality, but it is very difficult to edit them and to provide real-time rendering. Instead, most games and modeling use explicit representations, especially point clouds and meshes, which have faster rendering speed and are easy to edit. 3D Gaussian splatting (3D GS) (Kerbl et al., 2023), as a novel 3D explicit representation, uses a series of 3D positions, opacity, anisotropic covariance, and spherical harmonic (SH) coefficients to represent a 3D scene. Gaussian splatting models can be rapidly rendered using a parallel differentiable rasterization approach. This novel 3D representation has been widely used for 3D editing (Fang et al., 2023; Chen et al., 2023a), physical simulation (Xie et al., 2023) and 3D geometry generation (Tang et al., 2023).

While 3D GS has many advantages compared to other implicit 3D representations, it suffers from two issues: (i) scale inhomogeneity: some Gaussians have much greater value in every principal component of covariance than others, and (ii) structural inhomogeneity: some Gaussians have much greater value in some principal components of covariance than other principal components. As a consequence, during 3D Gaussian splatting model editing and rendering, this inhomogeneity of 3D Gaussians makes the boundaries of objects appear blurred and untidy, as shown in the direct editing and traditional training results in Fig. 1. Accumulated editing operations can lead to the collapse of the whole scene. Furthermore, point clouds extracted from 3D GS can be very sparse for untextured regions due to the scale inhomogeneity. This sparseness can cause difficulties in downstream tasks, such as normal estimation (Xu et al., 2023; Dey et al., 2005; Li et al., 2010) and point cloud segmentation (Qi et al., 2017; Li et al., 2018; Guo et al., 2021).

To solve the problem of scale inhomogeneity and structural inhomogeneity, we should make the inhomogeneous principal components more uniform, yet retain 3D visual consistency where affected. We do so by splitting Gaussians with undesirable shapes. Inspired by Hall et al. (2002), who proposed an algorithm to add and subtract eigenspaces by eigenvalue decomposition and singular value decomposition, we propose an algorithm to decompose the eigenspace into two independent eigenspaces while preserving its mathematical characteristics. For a 3D GS model, its mathematical characteristics are the parameters affecting visual effects: opacity, 3D position, and anisotropic covariance. Preserving mathematical characteristics during Gaussian splitting can be achieved by conserving zero-, first-, and second-moments. Conserving these allows us to model Gaussian splitting via a set of integral tensor equations, which have a concise and efficient closed-form solution. This allows our splitting algorithm to be used with any 3D Gaussian model. We also propose a metric to measure how accurately the 3D Gaussian fits the underlying scene after splitting.

We show how our algorithm can benefit various applications. For Gaussian-based explicit editing, our method can produce clearer boundaries. For point cloud extraction from 3D Gaussians, our method represents the large flattened, texture-less regions with more uniform Gaussians, thus resulting in a denser point cloud. Our method also benefits 3D Gaussian learning, rendering novel views of higher quality.

In summary, this paper makes the following contributions:

  • We give a new splitting algorithm for 3D Gaussians, which can be used to produce a more uniform 3D Gaussian splatting model.

  • We show the proposed Gaussian splitting approach has a closed-form solution, which can be efficient and is thus usable for any 3D Gaussian model.

  • We demonstrate that our Gaussian splitting can benefit various applications, including explicit editing, point cloud densification, and 3D Gaussian learning.

2. related works

2.1. 3D representations

A 3D representation is a data structure for handling and storing 3D geometry. Depending on the requirements, there are many different kinds of 3D representations; they can be divided into explicit and implicit representations. Implicit representations include NeRF (Mildenhall et al., 2020), NeuS (Wang et al., 2021), iso-surface (Zhang et al., 2023), etc. Such implicit representations, together with neural networks, can render views of high quality and are more capable of modeling scenes from other modalities such as text, and images (Poole et al., 2023; Wang et al., 2023). However, they are very difficult to edit because of their implicit nature. Works committed to solving this problem include the following. Dmtet (Shen et al., 2021) can extract a differentiable iso-surface from a 3D implicit representation. NeRFEditor (Sun et al., 2022) applied StyleGAN (Karras et al., 2019) to edit a NeRF. DE-NeRF (Wu et al., 2023a) decomposed a NeRF to accomplish editing such as changing lighting, materials, etc. However, these editing methods for implicit representations usually involve very complicated operations and are inefficient.

On the contrary, explicit representations provide a more direct 3D geometric structure, so editing operations are quite intuitive for creators and designers. A 3D mesh can be modified by an as-rigid-as-possible algorithm (Sorkine and Alexa, 2007), and also can be refined by loop subdivision (Loop, 1987). Point clouds can be readily simulated (Chen et al., 2020) and segmented (Qi et al., 2017; Guo et al., 2021). However, an explicit representation is very tedious to create, requiring much work by human artists.

2.2. 3D Gaussian Splatting Models and Applications

3D Gaussian splatting (Kerbl et al., 2023) provides a novel explicit 3D representation, which is convenient to obtain from images with deep learning techniques. Its explicit nature also makes it more suitable for real-time rendering than implicit representations.

Therefore, 3D Gaussian splatting has a wide range of applications. Several works have employed it in simultaneous localization and map** (SLAM) (Matsuki et al., 2023). Huang et al. (2023) has utilized their fast training speed to achieve better results in monocular vision. Some dynamic 3D radiance field tasks have been migrated to 3D Gaussian splatting modeling. For example, Wu et al. (2023b) combined 3D Gaussian splatting with a tri-plane approach (Chen et al., 2022) to achieve better results for 4D scene reconstruction. For AI-based content generation, Chen et al. (2023b) utilized diffusion models (Ho et al., 2020; Song et al., 2021; Lu et al., 2022) to guide the generation of 3D Gaussian splatting models. Avatar generation with 3D Gaussian splatting (Zielonka et al., 2023) is also a popular research area. Works like (Chen et al., 2023a; Tang et al., 2023) utilize diffusion to accomplish editing.

But as an explicit representation, how to edit a 3D Gaussian splatting model without extra training is very important. Real-time interactive performance is crucial for editing, but is almost impossible for deep neural network-based editing. In addition, mutual transformation between Gaussian splatting and other explicit representations such as point clouds and meshes, is also important, to make 3D Gaussian splatting models compatible with current geometry processing pipelines aimed at explicit representations.

3. Method

Our goal is to replace the inhomogeneous Gaussians with more uniform Gaussians. We first briefly explain the 3D Gaussian representation in Sec. 3.1. Then we model the splitting problem in Sec. 3.2. We introduce some conservation relationships used in the splitting process and explain their physical meaning in Sec. 3.3. A derivation of and solution to the splitting problem are given in Sec. 3.4. Finally, we consider implementation details in Sec. 3.5.

3.1. 3D Gaussian Representation

A 3D Gaussian splatting model represents a 3D target using a set of 3D Gaussians, each of which is characterized by its 3D position μ𝜇\mathbf{\mu}italic_μ, opacity α𝛼\alphaitalic_α, covariance ΣΣ\Sigmaroman_Σ, and color, with spherical harmonic (SH) coefficients. A 3D point with a coordinate 𝐱𝐱\mathbf{x}bold_x covered by a 3D Gaussian k𝑘kitalic_k obtains its opacity α(𝐱)𝛼𝐱\alpha(\mathbf{x})italic_α ( bold_x ) from that Gaussian (if not specifically stated, the opacity α𝛼\alphaitalic_α in this paper represents the part except for the Gaussian distribution normalization coefficient):

(1) α(𝐱)𝛼𝐱\displaystyle\alpha(\mathbf{x})italic_α ( bold_x ) =αkpdfk(𝐱)absentsubscript𝛼𝑘subscriptpdf𝑘𝐱\displaystyle=\alpha_{k}\ \textrm{pdf}_{k}(\mathbf{x})= italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_x )
(2) pdfk(𝐱)subscriptpdf𝑘𝐱\displaystyle\textrm{pdf}_{k}(\mathbf{x})pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_x ) =1(2π)3/2|Σk|exp(12(𝐱μk)TΣk1(𝐱μk))absent1superscript2𝜋32subscriptΣ𝑘12superscript𝐱subscript𝜇𝑘𝑇superscriptsubscriptΣ𝑘1𝐱subscript𝜇𝑘\displaystyle=\frac{1}{(2\pi)^{3/2}|\Sigma_{k}|}\exp(-\frac{1}{2}(\mathbf{x}-% \mathbf{\mu}_{k})^{T}\Sigma_{k}^{-1}(\mathbf{x}-\mathbf{\mu}_{k}))= divide start_ARG 1 end_ARG start_ARG ( 2 italic_π ) start_POSTSUPERSCRIPT 3 / 2 end_POSTSUPERSCRIPT | roman_Σ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | end_ARG roman_exp ( - divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( bold_x - italic_μ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT roman_Σ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( bold_x - italic_μ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) )

where pdfksubscriptpdfk\rm{pdf}_{k}roman_pdf start_POSTSUBSCRIPT roman_k end_POSTSUBSCRIPT denotes the probability density function of Gaussian k𝑘kitalic_k. Due to the positive definiteness of covariance ΣΣ\Sigmaroman_Σ, it can be decomposed as follows to save storage space:

Σ=RSSTRTΣ𝑅𝑆superscript𝑆𝑇superscript𝑅𝑇\Sigma=RSS^{T}R^{T}roman_Σ = italic_R italic_S italic_S start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT

where R𝑅Ritalic_R is the rotation matrix and S𝑆Sitalic_S is the principal direction scale diagonal matrix. R𝑅Ritalic_R can be stored as a quaternion q𝑞qitalic_q. All of these can be converted to their respective matrices and combined, making sure to normalize q𝑞qitalic_q to obtain a valid unit quaternion.

The original 3D Gaussian Splatting method directly duplicates a copy of the Gaussian with naive scaling and random translation when it needs to increase the number of Gaussians.

3.2. Problem Definition for Gaussian Splitting

Refer to caption
Figure 2. Structural (above) and scale (below) inhomogeneities (2D examples). If an editing operation is performed, here shown as cutting at a plane and pulling apart, the results will include parts crossing the plane: blurring and needle-like bulges will occur. Small circles represent more homogeneous Gaussians.

Since the covariance matrix ΣΣ\Sigmaroman_Σ is square and symmetric, it can be decomposed as:

Σ=RΛRTΣ𝑅Λsuperscript𝑅𝑇\Sigma=R\Lambda R^{T}roman_Σ = italic_R roman_Λ italic_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT

where ΛΛ\Lambdaroman_Λ is a diagonal matrix, whose elements are the principal component’s squared scales, and each column vector of R𝑅Ritalic_R represents a principal component’s direction vector. Since the covariance matrix is a symmetric positive matrix, the three principal component direction vectors are mutually perpendicular unit vectors.

The 3D Gaussian is completely central symmetric and axisymmetric. Therefore, if all scales of a Gaussian are significantly larger than other Gaussians’ scales (scale inhomogeneity), huge bulges will be caused when editing and huge voids will arise during point cloud extraction. If the scale of some principal component of a Gaussian is greater than other principal components (structural inhomogeneity), there will be many needle-like objects near the surface, as demonstrated in Fig. 2.

At the same time, since explicit editing and point cloud extraction are carried out on the trained 3D Gaussian model and must usually be efficient for interaction, a method to eliminate these inhomogeneities should not need further training. Moreover, if the visual consistency cannot be guaranteed before and after processing, artifacts will accumulate during editing and extraction. If we use a direct copy-based splitting strategy as the original Gaussian Splatting (Kerbl et al., 2023) during the training split process, there will be an unstable loss decline, making the previous training invalid.

Our problem is how to shrink an inhomogeneous 3D Gaussian’s principal components while maintaining its 3D visual consistency. Instead of shrinking, our approach is based on splitting, since any complex curved split can be approximately represented by splitting with many planes.

Therefore, the problem above is reduced to how to split a 3D Gaussian using a 3D plane while retaining its 3D visual consistency. A 3D plane can be expressed as:

(3) P(𝐧,d)={𝐱3|P^(𝐧,d)(𝐱)𝐧𝐱+d=0}𝑃𝐧𝑑conditional-set𝐱superscript3^𝑃𝐧𝑑𝐱𝐧𝐱𝑑0\displaystyle P(\mathbf{n},d)=\{\mathbf{x}\in\mathbb{R}^{3}|\hat{P}(\mathbf{n}% ,d)(\mathbf{x})\triangleq\mathbf{n}\cdot\mathbf{x}+d=0\}italic_P ( bold_n , italic_d ) = { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT | over^ start_ARG italic_P end_ARG ( bold_n , italic_d ) ( bold_x ) ≜ bold_n ⋅ bold_x + italic_d = 0 }

where 𝐧𝐧\mathbf{n}bold_n denotes the unit normal of the plane, d𝑑ditalic_d is its distance from the origin and P^^𝑃\hat{P}over^ start_ARG italic_P end_ARG means directed distance. We then formally define the splitting of a Gaussian (α0,μ𝟎,Σ0)subscript𝛼0subscript𝜇0subscriptΣ0(\alpha_{0},\mathbf{\mu_{0}},\Sigma_{0})( italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT bold_0 end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) into two new Gaussians (αl,μ𝐥,Σl)subscript𝛼𝑙subscript𝜇𝐥subscriptΣ𝑙(\alpha_{l},\mathbf{\mu_{l}},\Sigma_{l})( italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT bold_l end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) and (αr,μ𝐫,Σr)subscript𝛼𝑟subscript𝜇𝐫subscriptΣ𝑟(\alpha_{r},\mathbf{\mu_{r}},\Sigma_{r})( italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT bold_r end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) at the splitting plane P𝑃Pitalic_P as:

αl,αr,μl,μr,Σl,Σr=F(α0,μ0,Σ0,P(𝐧,d))subscript𝛼𝑙subscript𝛼𝑟subscript𝜇𝑙subscript𝜇𝑟subscriptΣ𝑙subscriptΣ𝑟𝐹subscript𝛼0subscript𝜇0subscriptΣ0𝑃𝐧𝑑\alpha_{l},\alpha_{r},\mu_{l},\mu_{r},\Sigma_{l},\Sigma_{r}=F(\alpha_{0},\mu_{% 0},\Sigma_{0},P(\mathbf{n},d))italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_F ( italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_P ( bold_n , italic_d ) )

which aims to minimize the intersection between the two new Gaussians while maximizing the similarity between each new Gaussian and their own part of the original:

(4) argminαk,Σk,μkR3𝕍kαkpdfk(𝐯)𝑑V,k{l,r}subscript𝛼𝑘subscriptΣ𝑘subscript𝜇𝑘argminsubscriptsuperscript𝑅3subscript𝕍𝑘subscript𝛼𝑘subscriptpdf𝑘𝐯differential-d𝑉𝑘𝑙𝑟\displaystyle\underset{\alpha_{k},\Sigma_{k},\mu_{k}}{\operatorname{argmin}}% \int_{R^{3}\setminus\mathbb{V}_{k}}\alpha_{k}\textrm{pdf}_{k}(\mathbf{v})dV,k% \in\{l,r\}start_UNDERACCENT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_UNDERACCENT start_ARG roman_argmin end_ARG ∫ start_POSTSUBSCRIPT italic_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ∖ blackboard_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V , italic_k ∈ { italic_l , italic_r }
(5) argminαk,Σk,μk|𝕍kαkpdfk(𝐯)𝑑V𝕍kα0pdf0(𝐯)𝑑V|,k{l,r}subscript𝛼𝑘subscriptΣ𝑘subscript𝜇𝑘argminsubscriptsubscript𝕍𝑘subscript𝛼𝑘subscriptpdf𝑘𝐯differential-d𝑉subscriptsubscript𝕍𝑘subscript𝛼0subscriptpdf0𝐯differential-d𝑉𝑘𝑙𝑟\displaystyle\underset{\alpha_{k},\Sigma_{k},\mu_{k}}{\operatorname{argmin}}|% \int_{\mathbb{V}_{k}}\alpha_{k}\textrm{pdf}_{k}(\mathbf{v})dV-\int_{\mathbb{V}% _{k}}\alpha_{0}\textrm{pdf}_{0}(\mathbf{v})dV|,k\in\{l,r\}start_UNDERACCENT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_μ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_UNDERACCENT start_ARG roman_argmin end_ARG | ∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V - ∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V | , italic_k ∈ { italic_l , italic_r }

with:

𝕍lsubscript𝕍𝑙\displaystyle\mathbb{V}_{l}blackboard_V start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ={𝐱3|P^(𝐧,d)(𝐱)<0}absentconditional-set𝐱superscript3^𝑃𝐧𝑑𝐱0\displaystyle=\{\mathbf{x}\in\mathbb{R}^{3}|\hat{P}(\mathbf{n},d)(\mathbf{x})<0\}= { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT | over^ start_ARG italic_P end_ARG ( bold_n , italic_d ) ( bold_x ) < 0 }
𝕍rsubscript𝕍𝑟\displaystyle\mathbb{V}_{r}blackboard_V start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ={𝐱3|P^(𝐧,d)(𝐱)0}absentconditional-set𝐱superscript3^𝑃𝐧𝑑𝐱0\displaystyle=\{\mathbf{x}\in\mathbb{R}^{3}|\hat{P}(\mathbf{n},d)(\mathbf{x})% \geq 0\}= { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT | over^ start_ARG italic_P end_ARG ( bold_n , italic_d ) ( bold_x ) ≥ 0 }

The above goals also provide an evaluation metric for Gaussian splitting. We simplify the optimization goal to get our splitting error metrics. This metric includes interval error and external excess to evaluate 3D visual consistency and the extent to which blurring and needle-like objects exist beyond the boundary of editing, respectively. Because the two new Gaussians and other Gaussians have unified characteristics, the interval error Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of the whole Gaussian model 𝔾𝔾\mathbb{G}blackboard_G:

(6) Ei=1Wg𝔾|𝕍gαgpdfg(𝐯)𝑑V𝕍gα0pdf0(𝐯)𝑑V|subscript𝐸𝑖1𝑊subscript𝑔𝔾subscriptsubscript𝕍𝑔subscript𝛼𝑔subscriptpdf𝑔𝐯differential-d𝑉subscriptsubscript𝕍𝑔subscript𝛼0subscriptpdf0𝐯differential-d𝑉\displaystyle E_{i}=\frac{1}{W}\sum_{g\in\mathbb{G}}{|\int_{\mathbb{V}_{g}}}% \alpha_{g}\textrm{pdf}_{g}(\mathbf{v})dV-\int_{\mathbb{V}_{g}}\alpha_{0}% \textrm{pdf}_{0}(\mathbf{v})dV|italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = divide start_ARG 1 end_ARG start_ARG italic_W end_ARG ∑ start_POSTSUBSCRIPT italic_g ∈ blackboard_G end_POSTSUBSCRIPT | ∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V - ∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V |

where W𝑊Witalic_W is the normalization coefficient, defined as the number of all split Gaussians, and 𝕍gsubscript𝕍𝑔\mathbb{V}_{g}blackboard_V start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT is the half-space where the 3D Gaussian g𝑔gitalic_g is located. To evaluate the cross-border situation of splitting, the external excess Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT is defined as:

(7) Ee=1Wg𝔾R3𝕍gαgpdfg(𝐯)𝑑Vsubscript𝐸𝑒1𝑊subscript𝑔𝔾subscriptsuperscript𝑅3subscript𝕍𝑔subscript𝛼𝑔subscriptpdf𝑔𝐯differential-d𝑉\displaystyle E_{e}=\frac{1}{W}\sum_{g\in\mathbb{G}}{\int_{R^{3}\setminus% \mathbb{V}_{g}}}\alpha_{g}\textrm{pdf}_{g}(\mathbf{v})dVitalic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = divide start_ARG 1 end_ARG start_ARG italic_W end_ARG ∑ start_POSTSUBSCRIPT italic_g ∈ blackboard_G end_POSTSUBSCRIPT ∫ start_POSTSUBSCRIPT italic_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ∖ blackboard_V start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V

Lower Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT lead to more similar visual effects of the new Gaussians to those of the original Gaussian.

Refer to caption
Figure 3. 2D illustration of the Gaussian splitting process. Three conservation rules are used to ensure visual consistency.

3.3. Conservation and Constraints

In order to ensure the consistency of mathematical parameters as illustrated in Fig. 3, we aim to conserve several quantities during splitting. Local weights of the probability density function are equivalent to opacity. Thus, to ensure that the new Gaussian looks the same as the original one from any perspective, the cumulative distribution of opacity should be conserved, i.e., zero-order moment:

(8) 3α0pdf0(𝐯)𝑑V=3αlpdfl(𝐯)𝑑V+3αrpdfr(𝐯)𝑑Vsubscriptsuperscript3subscript𝛼0subscriptpdf0𝐯differential-d𝑉subscriptsuperscript3subscript𝛼𝑙subscriptpdf𝑙𝐯differential-d𝑉subscriptsuperscript3subscript𝛼𝑟subscriptpdf𝑟𝐯differential-d𝑉\displaystyle\int_{\mathbb{R}^{3}}\alpha_{0}\textrm{pdf}_{0}(\mathbf{v})dV=% \int_{\mathbb{R}^{3}}\alpha_{l}\textrm{pdf}_{l}(\mathbf{v})dV+\int_{\mathbb{R}% ^{3}}\alpha_{r}\textrm{pdf}_{r}(\mathbf{v})dV∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V = ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V + ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V

Similarly, in order to ensure that the location of the 3D Gaussian center μ𝜇\mathbf{\mu}italic_μ remains unchanged visually, we should conserve the first-order moment:

(9) 3α0𝐯pdf0(𝐯)𝑑V=3αl𝐯pdfl(𝐯)𝑑V+3αr𝐯pdfr(𝐯)𝑑Vsubscriptsuperscript3subscript𝛼0𝐯subscriptpdf0𝐯differential-d𝑉subscriptsuperscript3subscript𝛼𝑙𝐯subscriptpdf𝑙𝐯differential-d𝑉subscriptsuperscript3subscript𝛼𝑟𝐯subscriptpdf𝑟𝐯differential-d𝑉\displaystyle\int_{\mathbb{R}^{3}}\alpha_{0}\mathbf{v}\textrm{pdf}_{0}(\mathbf% {v})dV=\int_{\mathbb{R}^{3}}\alpha_{l}\mathbf{v}\textrm{pdf}_{l}(\mathbf{v})dV% +\int_{\mathbb{R}^{3}}\alpha_{r}\mathbf{v}\textrm{pdf}_{r}(\mathbf{v})dV∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_v pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V = ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT bold_v pdf start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V + ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT bold_v pdf start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V

For each point, to ensure that the distribution is as consistent as possible, we hope that the mean of the outer product matrix will not change either, requiring the conservation of second-order moment:

(10) 3α0𝐯𝐯Tpdf0(𝐯)𝑑V=3αl𝐯𝐯Tpdfl(𝐯)𝑑V+3αr𝐯𝐯Tpdfr(𝐯)𝑑Vsubscriptsuperscript3subscript𝛼0superscript𝐯𝐯𝑇subscriptpdf0𝐯differential-d𝑉subscriptsuperscript3subscript𝛼𝑙superscript𝐯𝐯𝑇subscriptpdf𝑙𝐯differential-d𝑉subscriptsuperscript3subscript𝛼𝑟superscript𝐯𝐯𝑇subscriptpdf𝑟𝐯differential-d𝑉\displaystyle\int_{\mathbb{R}^{3}}\alpha_{0}\mathbf{v}\mathbf{v}^{T}\textrm{% pdf}_{0}(\mathbf{v})dV=\int_{\mathbb{R}^{3}}\alpha_{l}\mathbf{v}\mathbf{v}^{T}% \textrm{pdf}_{l}(\mathbf{v})dV+\int_{\mathbb{R}^{3}}\alpha_{r}\mathbf{v}% \mathbf{v}^{T}\textrm{pdf}_{r}(\mathbf{v})dV∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_vv start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V = ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT bold_vv start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT pdf start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V + ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT bold_vv start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT pdf start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V

Via these conserved quantities, we can reduce the splitting problem to an optimization problem constrained by this integral tensor equation set (ITEs). This problem is difficult to solve in general, so we look for a special solution.

3.4. Closed Form Solutions for Guassian Splitting

A special solution to the ITEs is the following integral problem. This solution separates the two Gaussians in spatial for a smaller Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT and ensures that the visual consistency of the left and right sides separately for smaller Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT:

(11) 𝕍kα0pdf0(𝐯)𝑑Vsubscriptsubscript𝕍𝑘subscript𝛼0subscriptpdf0𝐯differential-d𝑉\displaystyle\int_{\mathbb{V}_{k}}\alpha_{0}\textrm{pdf}_{0}(\mathbf{v})dV∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V =3αkpdfk(𝐯)𝑑V,k{l,r}formulae-sequenceabsentsubscriptsuperscript3subscript𝛼𝑘subscriptpdf𝑘𝐯differential-d𝑉𝑘𝑙𝑟\displaystyle=\int_{\mathbb{R}^{3}}\alpha_{k}\textrm{pdf}_{k}(\mathbf{v})dV,k% \in\{l,r\}= ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V , italic_k ∈ { italic_l , italic_r }
(12) 𝕍kα0𝐯pdf0(𝐯)𝑑Vsubscriptsubscript𝕍𝑘subscript𝛼0𝐯subscriptpdf0𝐯differential-d𝑉\displaystyle\int_{\mathbb{V}_{k}}\alpha_{0}\mathbf{v}\textrm{pdf}_{0}(\mathbf% {v})dV∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_v pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V =3αk𝐯pdfk(𝐯)𝑑V,k{l,r}formulae-sequenceabsentsubscriptsuperscript3subscript𝛼𝑘𝐯subscriptpdf𝑘𝐯differential-d𝑉𝑘𝑙𝑟\displaystyle=\int_{\mathbb{R}^{3}}\alpha_{k}\mathbf{v}\textrm{pdf}_{k}(% \mathbf{v})dV,k\in\{l,r\}= ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_v pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V , italic_k ∈ { italic_l , italic_r }
(13) 𝕍kα0𝐯𝐯Tpdf0(𝐯)𝑑Vsubscriptsubscript𝕍𝑘subscript𝛼0superscript𝐯𝐯𝑇subscriptpdf0𝐯differential-d𝑉\displaystyle\int_{\mathbb{V}_{k}}\alpha_{0}\mathbf{v}\mathbf{v}^{T}\textrm{% pdf}_{0}(\mathbf{v})dV∫ start_POSTSUBSCRIPT blackboard_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_vv start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT pdf start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V =3αk𝐯𝐯Tpdfk(𝐯)𝑑V,k{l,r}formulae-sequenceabsentsubscriptsuperscript3subscript𝛼𝑘superscript𝐯𝐯𝑇subscriptpdf𝑘𝐯differential-d𝑉𝑘𝑙𝑟\displaystyle=\int_{\mathbb{R}^{3}}\alpha_{k}\mathbf{v}\mathbf{v}^{T}\textrm{% pdf}_{k}(\mathbf{v})dV,k\in\{l,r\}= ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_vv start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT pdf start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V , italic_k ∈ { italic_l , italic_r }
Refer to caption
Figure 4. The first three examples split the chair into two pieces directly along a randomly chosen plane passing through the origin with 𝐧=[0.5401,0.8316,0.0963]T𝐧superscript0.54010.83160.0963𝑇\mathbf{n}=[0.5401,0.8316,0.0963]^{T}bold_n = [ 0.5401 , 0.8316 , 0.0963 ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT; the last two remove a triangular model from the chair’s back. We compare our method to three other baselines: the move solution which moves any Gaussians directly, the remove solution which removes any Gaussians in the gap, and the filter solution which removes any Gaussian whose position is inside the bounding box or the closed curve. We execute our algorithm twice and 3 times in different situations for better results. The move solution results visible components in the gap while the remove solution leads to many holes. The filter solution produces many artifacts. Our solution produces the cleanest boundaries near the cuts.

Given that any 3D Gaussian i𝑖iitalic_i satisfies the following equation concerning its second central moment:

(14) Σi+μiμiT=3𝐯𝐯Tpdfi(𝐯)𝑑V,subscriptΣ𝑖subscript𝜇𝑖superscriptsubscript𝜇𝑖𝑇subscriptsuperscript3superscript𝐯𝐯𝑇subscriptpdf𝑖𝐯differential-d𝑉\displaystyle\Sigma_{i}+\mu_{i}\mu_{i}^{T}=\int_{\mathbb{R}^{3}}\mathbf{v}% \mathbf{v}^{T}\textrm{pdf}_{i}(\mathbf{v})dV,roman_Σ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT = ∫ start_POSTSUBSCRIPT blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT bold_vv start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT pdf start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_v ) italic_d italic_V ,

combining it with Eqs. (11-13), we can derive the closed-form solutions below for the split equations:

(15) αksubscript𝛼𝑘\displaystyle\alpha_{k}italic_α start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT =α0Ck,k{l,r}formulae-sequenceabsentsubscript𝛼0subscript𝐶𝑘𝑘𝑙𝑟\displaystyle=\alpha_{0}C_{k},k\in\{l,r\}= italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_k ∈ { italic_l , italic_r }
(16) μlsubscript𝜇𝑙\displaystyle\mathbf{\mu}_{l}italic_μ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =μ0𝐋0DτClabsentsubscript𝜇0subscript𝐋0𝐷𝜏subscript𝐶𝑙\displaystyle=\mathbf{\mu}_{0}-\frac{\mathbf{L}_{0}D}{\tau C_{l}}= italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - divide start_ARG bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_D end_ARG start_ARG italic_τ italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_ARG
(17) μrsubscript𝜇𝑟\displaystyle\mathbf{\mu}_{r}italic_μ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT =μ0+𝐋0DτCrabsentsubscript𝜇0subscript𝐋0𝐷𝜏subscript𝐶𝑟\displaystyle=\mathbf{\mu}_{0}+\frac{\mathbf{L}_{0}D}{\tau C_{r}}= italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + divide start_ARG bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_D end_ARG start_ARG italic_τ italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG
(18) 𝚺lsubscript𝚺𝑙\displaystyle\mathbf{\Sigma}_{l}bold_Σ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =𝚺0+𝐋0𝐋0Tτ2(d0DτClD2Cl2)absentsubscript𝚺0subscript𝐋0superscriptsubscript𝐋0𝑇superscript𝜏2subscript𝑑0𝐷𝜏subscript𝐶𝑙superscript𝐷2superscriptsubscript𝐶𝑙2\displaystyle=\mathbf{\Sigma}_{0}+\frac{\mathbf{L}_{0}\mathbf{L}_{0}^{T}}{\tau% ^{2}}(\frac{d_{0}D}{\tau C_{l}}-\frac{D^{2}}{C_{l}^{2}})= bold_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + divide start_ARG bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_ARG start_ARG italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_D end_ARG start_ARG italic_τ italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_ARG - divide start_ARG italic_D start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG )
(19) 𝚺rsubscript𝚺𝑟\displaystyle\mathbf{\Sigma}_{r}bold_Σ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT =𝚺0𝐋0𝐋0Tτ2(d0DτCr+D2Cr2)absentsubscript𝚺0subscript𝐋0superscriptsubscript𝐋0𝑇superscript𝜏2subscript𝑑0𝐷𝜏subscript𝐶𝑟superscript𝐷2superscriptsubscript𝐶𝑟2\displaystyle=\mathbf{\Sigma}_{0}-\frac{\mathbf{L}_{0}\mathbf{L}_{0}^{T}}{\tau% ^{2}}(\frac{d_{0}D}{\tau C_{r}}+\frac{D^{2}}{C_{r}^{2}})= bold_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - divide start_ARG bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_ARG start_ARG italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_D end_ARG start_ARG italic_τ italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG + divide start_ARG italic_D start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG )

where:

(20) Clsubscript𝐶𝑙\displaystyle C_{l}italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =12(1erf(d02τ))absent121erfsubscript𝑑02𝜏\displaystyle=\frac{1}{2}(1-\textrm{erf}(\frac{d_{0}}{\sqrt{2}\tau}))= divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( 1 - erf ( divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG start_ARG square-root start_ARG 2 end_ARG italic_τ end_ARG ) )
(21) Crsubscript𝐶𝑟\displaystyle C_{r}italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT =12(1+erf(d02τ))absent121erfsubscript𝑑02𝜏\displaystyle=\frac{1}{2}(1+\textrm{erf}(\frac{d_{0}}{\sqrt{2}\tau}))= divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( 1 + erf ( divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG start_ARG square-root start_ARG 2 end_ARG italic_τ end_ARG ) )
(22) D𝐷\displaystyle Ditalic_D =12πexp(d022τ2)absent12𝜋superscriptsubscript𝑑022superscript𝜏2\displaystyle=\frac{1}{\sqrt{2\pi}}\exp(-\frac{d_{0}^{2}}{2\tau^{2}})= divide start_ARG 1 end_ARG start_ARG square-root start_ARG 2 italic_π end_ARG end_ARG roman_exp ( - divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG )
(23) 𝐋0subscript𝐋0\displaystyle\mathbf{L}_{0}bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT =𝚺0𝐧absentsubscript𝚺0𝐧\displaystyle=\mathbf{\Sigma}_{0}\mathbf{n}= bold_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_n
(24) τ𝜏\displaystyle\tauitalic_τ =𝐧T𝚺0𝐧absentsuperscript𝐧𝑇subscript𝚺0𝐧\displaystyle=\sqrt{\mathbf{n}^{T}\mathbf{\Sigma}_{0}\mathbf{n}}= square-root start_ARG bold_n start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT bold_n end_ARG
(25) d0subscript𝑑0\displaystyle d_{0}italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT =P^(𝐧,d)(μ0)absent^𝑃𝐧𝑑subscript𝜇0\displaystyle=\hat{P}(\mathbf{n},d)(\mathbf{\mu}_{0})= over^ start_ARG italic_P end_ARG ( bold_n , italic_d ) ( italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT )

In the above, erf is the error function from probability theory. Clsubscript𝐶𝑙C_{l}italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and Crsubscript𝐶𝑟C_{r}italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT are the spatial weights of the target Gaussians, D𝐷Ditalic_D is the update amplitude of the split process, 𝐋0subscript𝐋0\mathbf{L}_{0}bold_L start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and τ𝜏\tauitalic_τ are the projections of different orders and d0subscript𝑑0d_{0}italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the distance from the Gaussian position to the splitting plane. Detailed derivations are given in the Supplementary Material.

3.5. Implementation Details for Splitting

Due to floating point precision issues and the properties of Gaussian distributions, errors will accumulate as splitting continues (e.g. when multiple edits are performed). We use the following approach to compensate for these problems.

Firstly, if the splitting plane P(𝐧,d)𝑃𝐧𝑑{P}(\mathbf{n},d)italic_P ( bold_n , italic_d ) is too far from the position of the original Gaussian, an almost invalid splitting is to create a Gaussian that is very similar to the original and another Gaussian that is almost invisible because of its very small α𝛼\alphaitalic_α. And if the splitting is applied to every Gaussian, there will be a huge amount of calculation and thus is inefficient. Inspired by the Gaussian filter’s influence range threshold, i.e, 3×max(𝐓𝐫𝐢(𝐒))3𝐓𝐫𝐢𝐒3\times\max(\mathbf{Tri(S)})3 × roman_max ( bold_Tri ( bold_S ) ) (where 𝐓𝐫𝐢𝐓𝐫𝐢\mathbf{Tri}bold_Tri denotes the main diagonal vector), we choose a threshold η𝜂\etaitalic_η for |d0|subscript𝑑0|d_{0}|| italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT |:

(26) η=3×max((R𝐧)𝐓𝐫𝐢(S))𝜂3direct-product𝑅𝐧𝐓𝐫𝐢𝑆\displaystyle\eta=3\times\max((R\cdot\mathbf{n})\odot\mathbf{Tri}(S))italic_η = 3 × roman_max ( ( italic_R ⋅ bold_n ) ⊙ bold_Tri ( italic_S ) )

If |d0|<ηsubscript𝑑0𝜂|d_{0}|<\eta| italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT | < italic_η, we will split the Gaussian with the plane; otherwise, we just leave the original Gaussian unchanged.

Secondly, the weight denominator Clsubscript𝐶𝑙C_{l}italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and Crsubscript𝐶𝑟C_{r}italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT may be very small, causing floating point accuracy to be compromised. Thus we add an offset ϵ=1020italic-ϵsuperscript1020\epsilon=10^{-20}italic_ϵ = 10 start_POSTSUPERSCRIPT - 20 end_POSTSUPERSCRIPT to Cl,Crsubscript𝐶𝑙subscript𝐶𝑟C_{l},C_{r}italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT and D𝐷Ditalic_D:

(27) Clsubscript𝐶𝑙\displaystyle C_{l}italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =12(1erf(d02τ)+ϵ)absent121erfsubscript𝑑02𝜏italic-ϵ\displaystyle=\frac{1}{2}(1-\textrm{erf}(\frac{d_{0}}{\sqrt{2}\tau})+\epsilon)= divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( 1 - erf ( divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG start_ARG square-root start_ARG 2 end_ARG italic_τ end_ARG ) + italic_ϵ )
(28) Crsubscript𝐶𝑟\displaystyle C_{r}italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT =12(1+erf(d02τ)+ϵ)absent121erfsubscript𝑑02𝜏italic-ϵ\displaystyle=\frac{1}{2}(1+\textrm{erf}(\frac{d_{0}}{\sqrt{2}\tau})+\epsilon)= divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( 1 + erf ( divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG start_ARG square-root start_ARG 2 end_ARG italic_τ end_ARG ) + italic_ϵ )
(29) D𝐷\displaystyle Ditalic_D =12π(exp(d022τ2)+ϵ)absent12𝜋superscriptsubscript𝑑022superscript𝜏2italic-ϵ\displaystyle=\frac{1}{\sqrt{2\pi}}(\exp(-\frac{d_{0}^{2}}{2\tau^{2}})+\epsilon)= divide start_ARG 1 end_ARG start_ARG square-root start_ARG 2 italic_π end_ARG end_ARG ( roman_exp ( - divide start_ARG italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) + italic_ϵ )

Thirdly, floating point precision issues may cause the eigenvalue matrix to deviate slightly from a real positive definite matrix. In order to ensure a positive definite resulting eigenvalue matrix ΛtisubscriptΛ𝑡𝑖\Lambda_{ti}roman_Λ start_POSTSUBSCRIPT italic_t italic_i end_POSTSUBSCRIPT, we remove any deviation of negative definite orientation from our eigenvalue matrix ΛisubscriptΛ𝑖\Lambda_{i}roman_Λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT:

(30) Λti=ReLU(Λi),i𝔾formulae-sequencesubscriptΛ𝑡𝑖ReLUsubscriptΛ𝑖𝑖𝔾\displaystyle\Lambda_{ti}=\textrm{ReLU}(\Lambda_{i}),i\in{\mathbb{G}}roman_Λ start_POSTSUBSCRIPT italic_t italic_i end_POSTSUBSCRIPT = ReLU ( roman_Λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , italic_i ∈ blackboard_G

Fourthly, in computer graphics, right-handed coordinate system is typically used. A rotation matrix R𝑅Ritalic_R defining a left-handed space cannot be transformed into a right-handed coordinate system by a normalized quaternion (the improper rotation problem). As a 3D Gaussian is completely centrally symmetric, we can turn the left-handed rotation matrix Risubscript𝑅𝑖R_{i}italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT into a right-handed rotation matrix Rtisubscript𝑅𝑡𝑖R_{ti}italic_R start_POSTSUBSCRIPT italic_t italic_i end_POSTSUBSCRIPT:

(31) Rti=Ridet(Ri),i𝔾formulae-sequencesubscript𝑅𝑡𝑖subscript𝑅𝑖subscript𝑅𝑖𝑖𝔾\displaystyle R_{ti}=R_{i}\det(R_{i}),i\in{\mathbb{G}}italic_R start_POSTSUBSCRIPT italic_t italic_i end_POSTSUBSCRIPT = italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_det ( italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , italic_i ∈ blackboard_G

In summary, the operations above are aimed at reducing the amount of matrix calculation, eliminating floating point precision errors, and removing logical inconsistencies in data transformation.

Refer to caption
Figure 5. We integrate our splitting algorithm into the training of 3D Gaussian with different splitting thresholds Thγ𝑇subscript𝛾Th_{\gamma}italic_T italic_h start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT. Our method removes most of the inhomogeneous Gaussians and achieves better results.

4. Experiments

To show the effectiveness of our splitting algorithm, we apply it to explicit Gaussian splatting model editing, 3D Gaussian learning and point cloud extraction from Gaussian splatting models, and compare our method with other solutions.

4.1. Editing by Splitting

During explicit editing, it is common to split some parts of an object or remove some specific components. We consider three editing strategies.

The first one is to split an object by a flat 3D plane, denoted “plane split”. As explained in Sec. 3.4, using a plane P(𝐧,d)𝑃𝐧𝑑{P}(\mathbf{n},d)italic_P ( bold_n , italic_d ), we can split any inhomogeneous 3D Gaussian into more uniform ones and achieve better results as shown in the first three examples of Fig. 4. More results are shown in Fig. 7. Since our algorithm produces a Gaussian model after editing, it can be applied several times to achieve further splits.

The second one removes Gaussians inside a polygonal bounding box, denoted “polygon delete”. We have designed a simple case to remove Gaussians inside a triangular prism to test the effect of our algorithm. We can easily find the outward direction of every plane of a polygonal bounding box. Subproblems include determining whether a line segment or a 3D triangle and a Gaussian intersect. For a line segment, edge projection can be applied to determine whether an intersection exists: with a Gaussian position μ0subscript𝜇0\mu_{0}italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and a line segment {𝐀,𝐁}𝐀𝐁\{\mathbf{A},\mathbf{B}\}{ bold_A , bold_B }, define:

(32) I=((𝐀μ0)(𝐀𝐁))((𝐁μ0)(𝐀𝐁))𝐼𝐀subscript𝜇0𝐀𝐁𝐁subscript𝜇0𝐀𝐁\displaystyle I=((\mathbf{A}-\mathbf{\mu}_{0})\cdot(\mathbf{A}-\mathbf{B}))((% \mathbf{B}-\mathbf{\mu}_{0})\cdot(\mathbf{A}-\mathbf{B}))italic_I = ( ( bold_A - italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ⋅ ( bold_A - bold_B ) ) ( ( bold_B - italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ⋅ ( bold_A - bold_B ) )

If I0𝐼0I\geq 0italic_I ≥ 0 and the intersection threshold η𝜂\etaitalic_η is guaranteed, the line segment and the Gaussian intersect. Obviously, a 3D triangle intersection can be found using the above test three times. The results are shown in the last example in Fig. 4. For a more complex polyhedral bounding box, we can use a combination of the above methods or ray casting algorithm to retain or remove the Gaussians in the bounding box.

The third one is to remove Gaussians inside a 3D closed curved surface B(x,y,z)=0𝐵𝑥𝑦𝑧0B(x,y,z)=0italic_B ( italic_x , italic_y , italic_z ) = 0, denoted as “curve delete”. We can compute the tangent normal 𝐧𝐧\mathbf{n}bold_n of the closest position on the curve to the Gaussian position as:

(33) 𝐧=BB𝐧𝐵norm𝐵\displaystyle\mathbf{n}=\frac{\nabla B}{||\nabla B||}bold_n = divide start_ARG ∇ italic_B end_ARG start_ARG | | ∇ italic_B | | end_ARG

where 𝐧𝐧\mathbf{n}bold_n is an outward normal from the inside of the curve according to the definition of a 3D closed curve. Example results are show in Fig. 1. More results are shown in Fig. 9.

Table 1. Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT when editing the chair
Situation Editing Strategy Eisubscript𝐸𝑖absentE_{i}\downarrowitalic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ↓ Eesubscript𝐸𝑒absentE_{e}\downarrowitalic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ↓
plane split move solution 0.0000 0.5836
plane split remove solution 3.4121 0.0000
plane split ours once 0.5828 0.0009
plane split ours twice 0.5830 0.0006
polygon delete filter solution 0.0000 0.0668
polygon delete ours 3 times 0.3610 0.0005
curve delete filter solution 0.0000 0.0710
curve delete ours 3 times 0.3027 0.0015

We evaluated Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT for the above three editing situations for different splitting methods using the chair object from the NeRF synthetic dataset (Mildenhall et al., 2020) and move the two pieces apart. Quantitative results are shown in Table 1 and visual comparisons are presented in Fig. 4. If both Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT are smaller, the results are better. However, due to the unimodal and symmetric shape of Gaussian distribution, it is impossible for both metrics to be smaller at the same time. Although other methods can have a zero value for Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT, there will be significant holes when Ee=0subscript𝐸𝑒0E_{e}=0italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 0, and significant blurring and needles when Ei=0subscript𝐸𝑖0E_{i}=0italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0. Our algorithm achieves a small value for both indicators and ensures minimal voids, blurring and needles.

Table 2. Eisubscript𝐸𝑖E_{i}italic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Eesubscript𝐸𝑒E_{e}italic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT plane splitting on Nerf synthetic dataset
Editing Strategy Eisubscript𝐸𝑖absentE_{i}\downarrowitalic_E start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ↓ Eesubscript𝐸𝑒absentE_{e}\downarrowitalic_E start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ↓
move solution 0.0000 2.3823
remove solution 15.2541 0.0000
ours 2.3819 0.0003

To evaluate the average performance on the whole NeRF synthetic dataset, we conducted an experiment by splitting each object with a plane, which passes through the center of the space with a randomly generated normal 𝐧=[0.5401,0.8316,0.0963]T𝐧superscript0.54010.83160.0963𝑇\mathbf{n}=[0.5401,0.8316,0.0963]^{T}bold_n = [ 0.5401 , 0.8316 , 0.0963 ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT. The results are shown in Table 2. Our method can greatly decrease the part beyond the split plane and ensure very small interval changes.

4.2. Integration with 3D Gaussian Learning

The 3D Gaussian splatting model has achieved high-quality rendering results with very fast training and rendering. But its results still suffer from blurring and spurs. There exist many needle-like bugles as shown in the first example in Fig. 5 for the original 3D Gaussian splatting model. More results are shown in Fig. 8. As we have explained in Sec. 3.2, this is caused by inhomogeneous Gaussians.

Since structural inhomogeneity comes from differences in scale along different principal directions, we can compute the inhomogeneity γ𝛾\gammaitalic_γ of a Gaussian as the ratio between the largest and the second largest scales of the principal directions:

(34) pdm𝑝subscript𝑑𝑚\displaystyle pd_{m}italic_p italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT =maxi{0,1,2}(𝐓𝐫𝐢[i]))\displaystyle=\underset{i\in\{0,1,2\}}{\operatorname{\textrm{max}}}(\mathbf{% Tri}[i]))= start_UNDERACCENT italic_i ∈ { 0 , 1 , 2 } end_UNDERACCENT start_ARG max end_ARG ( bold_Tri [ italic_i ] ) )
(35) pds𝑝subscript𝑑𝑠\displaystyle pd_{s}italic_p italic_d start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT =second_maxi{0,1,2}(𝐓𝐫𝐢[i]))\displaystyle=\underset{i\in\{0,1,2\}}{\operatorname{\textrm{second\_max}}}(% \mathbf{Tri}[i]))= start_UNDERACCENT italic_i ∈ { 0 , 1 , 2 } end_UNDERACCENT start_ARG second_max end_ARG ( bold_Tri [ italic_i ] ) )
(36) γ𝛾\displaystyle\gammaitalic_γ =pdmpdsabsent𝑝subscript𝑑𝑚𝑝subscript𝑑𝑠\displaystyle=\frac{pd_{m}}{pd_{s}}= divide start_ARG italic_p italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_ARG start_ARG italic_p italic_d start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG

We can set a max threshold ηγ=5subscript𝜂𝛾5\eta_{\gamma}=5italic_η start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT = 5 for γ𝛾\gammaitalic_γ; if γ𝛾\gammaitalic_γ of a Gaussian exceeds this threshold, the Gaussian needs to be split. During 3D Gaussian learning, the tangent normal is needed. We can assume that the normal direction is parallel to the principal direction of the max eigenvalues:

(37) 𝐧=R[argmaxi{0,1,2}(𝐓𝐫𝐢[i]))]\displaystyle\mathbf{n}=R[\underset{i\in\{0,1,2\}}{\operatorname{\textrm{% argmax}}}(\mathbf{Tri}[i]))]bold_n = italic_R [ start_UNDERACCENT italic_i ∈ { 0 , 1 , 2 } end_UNDERACCENT start_ARG argmax end_ARG ( bold_Tri [ italic_i ] ) ) ]

We set the split plane to pass through the center of the Gaussian, so we have a simplified version of our algorithm with d0=0subscript𝑑00d_{0}=0italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 0. Furthermore, Cl=Cr=0.5subscript𝐶𝑙subscript𝐶𝑟0.5C_{l}=C_{r}=0.5italic_C start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = 0.5 and D=1/2π𝐷12𝜋D=1/{\sqrt{2\pi}}italic_D = 1 / square-root start_ARG 2 italic_π end_ARG. The first term of ΣlsubscriptΣ𝑙\Sigma_{l}roman_Σ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and ΣrsubscriptΣ𝑟\Sigma_{r}roman_Σ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT is 00. In this way, we can speed up the basic algorithm by saving calculations.

The training results for the ship object are shown in Fig. 5. Although the three views are the same from a distance, when viewed close up, the original simple 3D Gaussian has lots of needles. By incorporating our algorithm, the needles decrease greatly with a threshold of ηγ=10subscript𝜂𝛾10\eta_{\gamma}=10italic_η start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT = 10 and hardly any needles result with a threshold of ηγ=5subscript𝜂𝛾5\eta_{\gamma}=5italic_η start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT = 5.

We tested the threshold ηγsubscript𝜂𝛾\eta_{\gamma}italic_η start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT every 5000 iterations starting from the 9999th iteration and ending at the 24999th iteration to determine whether to split or not. Since our splitting algorithm can be computed in parallel, it hardly increases the training time compared to the original 3D Gaussian splatting. We also tested on the whole NeRF synthetic dataset with the same hyper-parameters as for the original 3D Gaussian splatting method. Quantitative results are presented in Table 3, which gives Peak Signal-to-noise Ratio (PSNR), Structural Similarity (SSIM) (Wang et al., 2004), and Learned Perceptual Image Patch Similarity (LPIPS) (Zhang et al., 2018). Our algorithm splits the inhomogeneous Gaussians, so that the trained Gaussian results have fewer needles, with better results for all three metrics.

Table 3. 3D Gaussian splatting training results with and without our splitting algorithm.
Method PSNR\uparrow SSIM\uparrow LPIPS\downarrow
3D GS (Kerbl et al., 2023) 36.9356 0.9825 0.0236
Ours 37.1908 0.9839 0.0216

4.3. Extracting Point Clouds from 3D Gaussian Splatting Models

A 3D Gaussian Splatting model can be regarded as providing a kind of point cloud, in which each point represents a different shape. This characteristic makes the point cloud extracted from 3D Gaussians splatting models very uneven, with many gaps in large flat untextured regions, leading to severe problems for downstream tasks like normal extraction, point cloud segmentation, etc.

Because our algorithm can provide more homogeneous Gaussians, it can be used to increase the uniformity of extracted point clouds. Assume that the average of each Gaussian’s maximum principal direction scale is Rmsubscript𝑅𝑚R_{m}italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT. We can define the degree of inhomogeneity between the i𝑖iitalic_i-th largest and the j𝑗jitalic_j-th largest eigenvalue (i<j𝑖𝑗i<jitalic_i < italic_j) as:

(38) γij=𝐓𝐫𝐢[i]𝐓𝐫𝐢[j]+Rm,(i,j){(0,1),(1,2),(0,2)}formulae-sequencesubscript𝛾𝑖𝑗𝐓𝐫𝐢delimited-[]𝑖𝐓𝐫𝐢delimited-[]𝑗subscript𝑅𝑚𝑖𝑗011202\displaystyle\gamma_{ij}=\frac{\mathbf{Tri}[i]}{\mathbf{Tri}[j]+R_{m}},(i,j)% \in\{(0,1),(1,2),(0,2)\}italic_γ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = divide start_ARG bold_Tri [ italic_i ] end_ARG start_ARG bold_Tri [ italic_j ] + italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_ARG , ( italic_i , italic_j ) ∈ { ( 0 , 1 ) , ( 1 , 2 ) , ( 0 , 2 ) }

If any γijsubscript𝛾𝑖𝑗\gamma_{ij}italic_γ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is greater than the inhomogeneity threshold ηγ=2subscript𝜂𝛾2\eta_{\gamma}=2italic_η start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT = 2, the Gaussian should be split at principal component i𝑖iitalic_i. Splitting at the center of a Gaussian will make the positions of new Gaussians too close. To ensure the new Gaussians’ positions are far away from each other, we select the splitting parameters d0subscript𝑑0d_{0}italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT as 2𝐓𝐫𝐢[i]2𝐓𝐫𝐢delimited-[]𝑖2\mathbf{Tri}[i]2 bold_Tri [ italic_i ] to ensure a proper interval between new Gaussians. An experimental result is shown in Fig. 6 and more results are shown in Fig. 10. Our method produces a more uniform and denser point cloud than the original 3D Gaussian Splatting model and has very few holes.

Refer to caption
Figure 6. Our splitting algorithm helps to extract more uniform and denser point clouds from a well-trained 3D Gaussian model for the chair object.

5. Conclusion and Future Work

In this paper, we model the problem of how to split an N𝑁Nitalic_N-dimensional Gaussian into two independent N𝑁Nitalic_N-dimensional Gaussians and present a closed-form solution for this problem. This enables our splitting algorithm to be readily used with any 3D Gaussian model processing and helps to produce more uniformly distributed Gaussian. In this way, blurring and needle-like artifacts can be significantly reduced, benefiting various downstream applications.

In the future, we hope to apply our work to conversions between 3D Gaussian Splatting models and other 3D representations, improvement of rendering quality, Gaussian splatting model editing, and some other geometric applications of Gaussian Splatting models. Moreover, there is an inverse to our method, to merge Gaussians, under the conservation constraints:

(39) α0subscript𝛼0\displaystyle\alpha_{0}italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT =αl+αrabsentsubscript𝛼𝑙subscript𝛼𝑟\displaystyle=\alpha_{l}+\alpha_{r}= italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT + italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT
(40) μ0subscript𝜇0\displaystyle\mu_{0}italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT =αlμl+αrμrα0absentsubscript𝛼𝑙subscript𝜇𝑙subscript𝛼𝑟subscript𝜇𝑟subscript𝛼0\displaystyle=\frac{\alpha_{l}\mu_{l}+\alpha_{r}\mu_{r}}{\alpha_{0}}= divide start_ARG italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT + italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG start_ARG italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG
(41) Σ0subscriptΣ0\displaystyle\Sigma_{0}roman_Σ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT =αlΣl+αrΣrα0+αlμlμlT+αrμrμrTα0μ0μ0Tabsentsubscript𝛼𝑙subscriptΣ𝑙subscript𝛼𝑟subscriptΣ𝑟subscript𝛼0subscript𝛼𝑙subscript𝜇𝑙superscriptsubscript𝜇𝑙𝑇subscript𝛼𝑟subscript𝜇𝑟superscriptsubscript𝜇𝑟𝑇subscript𝛼0subscript𝜇0superscriptsubscript𝜇0𝑇\displaystyle=\frac{\alpha_{l}\Sigma_{l}+\alpha_{r}\Sigma_{r}}{\alpha_{0}}+% \frac{\alpha_{l}\mu_{l}\mu_{l}^{T}+\alpha_{r}\mu_{r}\mu_{r}^{T}}{\alpha_{0}}-% \mu_{0}\mu_{0}^{T}= divide start_ARG italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT roman_Σ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT + italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT roman_Σ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG start_ARG italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG + divide start_ARG italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT + italic_α start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_ARG start_ARG italic_α start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG - italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT

which can be used to greatly decrease storage requirements.

References

  • (1)
  • Chen et al. (2022) Anpei Chen, Zexiang Xu, Andreas Geiger, **gyi Yu, and Hao Su. 2022. TensoRF: Tensorial Radiance Fields. In Computer Vision - ECCV 2022 - 17th European Conference, Tel Aviv, Israel, October 23-27, 2022, Proceedings, Part XXXII (Lecture Notes in Computer Science, Vol. 13692), Shai Avidan, Gabriel J. Brostow, Moustapha Cissé, Giovanni Maria Farinella, and Tal Hassner (Eds.). Springer, 333–350. https://doi.org/10.1007/978-3-031-19824-3_20
  • Chen et al. (2020) Xiao-Song Chen, Chen-Feng Li, Geng-Chen Cao, Yun-Tao Jiang, and Shi-Min Hu. 2020. A moving least square reproducing kernel particle method for unified multiphase continuum simulation. ACM Trans. Graph. 39, 6 (2020), 176:1–176:15. https://doi.org/10.1145/3414685.3417809
  • Chen et al. (2023a) Yiwen Chen, Zilong Chen, Chi Zhang, Feng Wang, ** Liu, and Guosheng Lin. 2023a. GaussianEditor: Swift and Controllable 3D Editing with Gaussian Splatting. CoRR abs/2311.14521 (2023). https://doi.org/10.48550/ARXIV.2311.14521 arXiv:2311.14521
  • Chen et al. (2023b) Zilong Chen, Feng Wang, and Hua** Liu. 2023b. Text-to-3D using Gaussian Splatting. CoRR abs/2309.16585 (2023). https://doi.org/10.48550/ARXIV.2309.16585 arXiv:2309.16585
  • Dey et al. (2005) Tamal K. Dey, Gang Li, and Jian Sun. 2005. Normal Estimation for Point Clouds: A Comparison Study for a Voronoi Based Method. In 2nd Symposium on Point Based Graphics, PBG 2005, Stony Brook, NY, USA, June 21-22, 2005, Marc Alexa, Szymon Rusinkiewicz, Mark Pauly, and Matthias Zwicker (Eds.). Eurographics Association, 39–46. https://doi.org/10.2312/SPBG/SPBG05/039-046
  • Fang et al. (2023) Jiemin Fang, Junjie Wang, Xiaopeng Zhang, Lingxi Xie, and Qi Tian. 2023. GaussianEditor: Editing 3D Gaussians Delicately with Text Instructions. CoRR abs/2311.16037 (2023). https://doi.org/10.48550/ARXIV.2311.16037 arXiv:2311.16037
  • Guo et al. (2021) Meng-Hao Guo, Junxiong Cai, Zheng-Ning Liu, Tai-Jiang Mu, Ralph R. Martin, and Shi-Min Hu. 2021. PCT: Point cloud transformer. Computational Visual Media 7, 2 (2021), 187–199.
  • Hall et al. (2002) Peter M. Hall, A. David Marshall, and Ralph R. Martin. 2002. Adding and subtracting eigenspaces with eigenvalue decomposition and singular value decomposition. Image Vis. Comput. 20, 13-14 (2002), 1009–1016. https://doi.org/10.1016/S0262-8856(02)00114-2
  • Ho et al. (2020) Jonathan Ho, Ajay Jain, and Pieter Abbeel. 2020. Denoising Diffusion Probabilistic Models. In Advances in Neural Information Processing Systems 33: Annual Conference on Neural Information Processing Systems 2020, NeurIPS 2020, December 6-12, 2020, virtual, Hugo Larochelle, Marc’Aurelio Ranzato, Raia Hadsell, Maria-Florina Balcan, and Hsuan-Tien Lin (Eds.). https://proceedings.neurips.cc/paper/2020/hash/4c5bcfec8584af0d967f1ab10179ca4b-Abstract.html
  • Huang et al. (2023) Huajian Huang, Longwei Li, Hui Cheng, and Sai-Kit Yeung. 2023. Photo-SLAM: Real-time Simultaneous Localization and Photorealistic Map** for Monocular, Stereo, and RGB-D Cameras. CoRR abs/2311.16728 (2023). https://doi.org/10.48550/ARXIV.2311.16728 arXiv:2311.16728
  • Karras et al. (2019) Tero Karras, Samuli Laine, and Timo Aila. 2019. A Style-Based Generator Architecture for Generative Adversarial Networks. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019. Computer Vision Foundation / IEEE, 4401–4410. https://doi.org/10.1109/CVPR.2019.00453
  • Kerbl et al. (2023) Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, and George Drettakis. 2023. 3D Gaussian Splatting for Real-Time Radiance Field Rendering. ACM Trans. Graph. 42, 4 (2023), 139:1–139:14. https://doi.org/10.1145/3592433
  • Li et al. (2010) Bao Li, Ruwen Schnabel, Reinhard Klein, Zhi-Quan Cheng, Gang Dang, and Shiyao **. 2010. Robust normal estimation for point clouds with sharp features. Comput. Graph. 34, 2 (2010), 94–106. https://doi.org/10.1016/J.CAG.2010.01.004
  • Li et al. (2018) Yangyan Li, Rui Bu, Mingchao Sun, Wei Wu, Xinhan Di, and Baoquan Chen. 2018. PointCNN: Convolution On X-Transformed Points. In Advances in Neural Information Processing Systems 31: Annual Conference on Neural Information Processing Systems 2018, NeurIPS 2018, December 3-8, 2018, Montréal, Canada, Samy Bengio, Hanna M. Wallach, Hugo Larochelle, Kristen Grauman, Nicolò Cesa-Bianchi, and Roman Garnett (Eds.). 828–838. https://proceedings.neurips.cc/paper/2018/hash/f5f8590cd58a54e94377e6ae2eded4d9-Abstract.html
  • Loop (1987) Charles Loop. 1987. Smooth subdivision surfaces based on triangles. (1987).
  • Lu et al. (2022) Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. 2022. DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps. In Advances in Neural Information Processing Systems 35: Annual Conference on Neural Information Processing Systems 2022, NeurIPS 2022, New Orleans, LA, USA, November 28 - December 9, 2022, Sanmi Koyejo, S. Mohamed, A. Agarwal, Danielle Belgrave, K. Cho, and A. Oh (Eds.). http://papers.nips.cc/paper_files/paper/2022/hash/260a14acce2a89dad36adc8eefe7c59e-Abstract-Conference.html
  • Matsuki et al. (2023) Hidenobu Matsuki, Riku Murai, Paul H. J. Kelly, and Andrew J. Davison. 2023. Gaussian Splatting SLAM. CoRR abs/2312.06741 (2023). https://doi.org/10.48550/ARXIV.2312.06741 arXiv:2312.06741
  • Mildenhall et al. (2020) Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. 2020. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. In Computer Vision - ECCV 2020 - 16th European Conference, Glasgow, UK, August 23-28, 2020, Proceedings, Part I (Lecture Notes in Computer Science, Vol. 12346), Andrea Vedaldi, Horst Bischof, Thomas Brox, and Jan-Michael Frahm (Eds.). Springer, 405–421. https://doi.org/10.1007/978-3-030-58452-8_24
  • Poole et al. (2023) Ben Poole, Ajay Jain, Jonathan T. Barron, and Ben Mildenhall. 2023. DreamFusion: Text-to-3D using 2D Diffusion. In The Eleventh International Conference on Learning Representations, ICLR 2023, Kigali, Rwanda, May 1-5, 2023. OpenReview.net. https://openreview.net/pdf?id=FjNys5c7VyY
  • Qi et al. (2017) Charles Ruizhongtai Qi, Hao Su, Kaichun Mo, and Leonidas J. Guibas. 2017. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. In 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017. IEEE Computer Society, 77–85. https://doi.org/10.1109/CVPR.2017.16
  • Shen et al. (2021) Tianchang Shen, Jun Gao, Kangxue Yin, Ming-Yu Liu, and Sanja Fidler. 2021. Deep Marching Tetrahedra: a Hybrid Representation for High-Resolution 3D Shape Synthesis. In Advances in Neural Information Processing Systems 34: Annual Conference on Neural Information Processing Systems 2021, NeurIPS 2021, December 6-14, 2021, virtual, Marc’Aurelio Ranzato, Alina Beygelzimer, Yann N. Dauphin, Percy Liang, and Jennifer Wortman Vaughan (Eds.). 6087–6101. https://proceedings.neurips.cc/paper/2021/hash/30a237d18c50f563cba4531f1db44acf-Abstract.html
  • Song et al. (2021) Jiaming Song, Chenlin Meng, and Stefano Ermon. 2021. Denoising Diffusion Implicit Models. In 9th International Conference on Learning Representations, ICLR 2021, Virtual Event, Austria, May 3-7, 2021. OpenReview.net. https://openreview.net/forum?id=St1giarCHLP
  • Sorkine and Alexa (2007) Olga Sorkine and Marc Alexa. 2007. As-rigid-as-possible surface modeling. In Proceedings of the Fifth Eurographics Symposium on Geometry Processing, Barcelona, Spain, July 4-6, 2007 (ACM International Conference Proceeding Series, Vol. 257), Alexander G. Belyaev and Michael Garland (Eds.). Eurographics Association, 109–116. https://doi.org/10.2312/SGP/SGP07/109-116
  • Sun et al. (2022) Chunyi Sun, Yanbin Liu, Junlin Han, and Stephen Gould. 2022. NeRFEditor: Differentiable Style Decomposition for Full 3D Scene Editing. CoRR abs/2212.03848 (2022). https://doi.org/10.48550/ARXIV.2212.03848 arXiv:2212.03848
  • Tang et al. (2023) Jiaxiang Tang, Jiawei Ren, Hang Zhou, Ziwei Liu, and Gang Zeng. 2023. DreamGaussian: Generative Gaussian Splatting for Efficient 3D Content Creation. CoRR abs/2309.16653 (2023). https://doi.org/10.48550/ARXIV.2309.16653 arXiv:2309.16653
  • Wang et al. (2021) Peng Wang, Lingjie Liu, Yuan Liu, Christian Theobalt, Taku Komura, and Wen** Wang. 2021. NeuS: Learning Neural Implicit Surfaces by Volume Rendering for Multi-view Reconstruction. In Advances in Neural Information Processing Systems 34: Annual Conference on Neural Information Processing Systems 2021, NeurIPS 2021, December 6-14, 2021, virtual, Marc’Aurelio Ranzato, Alina Beygelzimer, Yann N. Dauphin, Percy Liang, and Jennifer Wortman Vaughan (Eds.). 27171–27183. https://proceedings.neurips.cc/paper/2021/hash/e41e164f7485ec4a28741a2d0ea41c74-Abstract.html
  • Wang et al. (2004) Zhou Wang, Alan C. Bovik, Hamid R. Sheikh, and Eero P. Simoncelli. 2004. Image quality assessment: from error visibility to structural similarity. IEEE Trans. Image Process. 13, 4 (2004), 600–612. https://doi.org/10.1109/TIP.2003.819861
  • Wang et al. (2023) Zhengyi Wang, Cheng Lu, Yikai Wang, Fan Bao, Chongxuan Li, Hang Su, and Jun Zhu. 2023. ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation. CoRR abs/2305.16213 (2023). https://doi.org/10.48550/ARXIV.2305.16213 arXiv:2305.16213
  • Wu et al. (2023b) Guanjun Wu, Taoran Yi, Jiemin Fang, Lingxi Xie, Xiaopeng Zhang, Wei Wei, Wenyu Liu, Qi Tian, and Xinggang Wang. 2023b. 4D Gaussian Splatting for Real-Time Dynamic Scene Rendering. CoRR abs/2310.08528 (2023). https://doi.org/10.48550/ARXIV.2310.08528 arXiv:2310.08528
  • Wu et al. (2023a) Tong Wu, Jia-Mu Sun, Yu-Kun Lai, and Lin Gao. 2023a. DE-NeRF: DEcoupled Neural Radiance Fields for View-Consistent Appearance Editing and High-Frequency Environmental Relighting. In ACM SIGGRAPH 2023 Conference Proceedings, SIGGRAPH 2023, Los Angeles, CA, USA, August 6-10, 2023, Erik Brunvand, Alla Sheffer, and Michael Wimmer (Eds.). ACM, 74:1–74:11. https://doi.org/10.1145/3588432.3591483
  • Xie et al. (2023) Tianyi Xie, Zeshun Zong, Yuxing Qiu, Xuan Li, Yutao Feng, Yin Yang, and Chenfanfu Jiang. 2023. PhysGaussian: Physics-Integrated 3D Gaussians for Generative Dynamics. CoRR abs/2311.12198 (2023). https://doi.org/10.48550/ARXIV.2311.12198 arXiv:2311.12198
  • Xu et al. (2023) Rui Xu, Zhiyang Dou, Ningna Wang, Shiqing ** Wang, and Changhe Tu. 2023. Globally Consistent Normal Orientation for Point Clouds by Regularizing the Winding-Number Field. ACM Trans. Graph. 42, 4 (2023), 111:1–111:15. https://doi.org/10.1145/3592129
  • Zhang et al. (2023) Biao Zhang, Jiapeng Tang, Matthias Nießner, and Peter Wonka. 2023. 3DShape2VecSet: A 3D Shape Representation for Neural Fields and Generative Diffusion Models. ACM Trans. Graph. 42, 4 (2023), 92:1–92:16.
  • Zhang et al. (2018) Richard Zhang, Phillip Isola, Alexei A. Efros, Eli Shechtman, and Oliver Wang. 2018. The Unreasonable Effectiveness of Deep Features as a Perceptual Metric. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018. Computer Vision Foundation / IEEE Computer Society, 586–595. https://doi.org/10.1109/CVPR.2018.00068
  • Zielonka et al. (2023) Wojciech Zielonka, Timur M. Bagautdinov, Shunsuke Saito, Michael Zollhöfer, Justus Thies, and Javier Romero. 2023. Drivable 3D Gaussian Avatars. CoRR abs/2311.08581 (2023). https://doi.org/10.48550/ARXIV.2311.08581 arXiv:2311.08581
Refer to caption
Figure 7. Various plane split results, which show the differences between splitting algorithms more clearly. The remove solution leads to more holes, and the move solution leads to more adhesion, while ours clearly separates the two parts with a clear boundary.
Refer to caption
Figure 8. Incorporating our algorithm reduces blurring and needles compared to the standard 3D Gaussian splatting model training.
Refer to caption
Figure 9. Various editing examples removing certain shapes from a 3D Gaussian splatting model. The filter solution of deleting the Gaussians within the shape directly produces more irregular boundaries than our methods, and leaves material in the hole left by removal.
Refer to caption
Figure 10. Example showing that our algorithm can help to extract a more uniform point cloud.