SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2402.00525 · 2024

StopThePop: Sorted Gaussian Splatting for View-Consistent Real-time Rendering

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 10 functions out of this paper's own repositories and ran 6 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
r4dl/stopthepop canonical 6 of 10
FunctionStatusWhere it lives
gaussian Ran r4dl/stopthepop/utils/loss_utils.py
pointer only (licence: NONE) · get_code("c56b7ef16f309a45")
l1_loss Ran r4dl/stopthepop/utils/loss_utils.py
pointer only (licence: NONE) · get_code("ac0e42d6fbcfbbe6")
l2_loss Ran r4dl/stopthepop/utils/loss_utils.py
pointer only (licence: NONE) · get_code("8c3b0f873ba11813")
normalize_activation Ran r4dl/stopthepop/lpipsPyTorch/modules/utils.py
pointer only (licence: NONE) · get_code("1dab900b2adbe38e")
readImages Ran r4dl/stopthepop/metrics.py
pointer only (licence: NONE) · get_code("cdd00787894554b5")
read_next_bytes Ran r4dl/stopthepop/scene/colmap_loader.py
pointer only (licence: NONE) · get_code("56858e04e6fdb2ff")
get_network Not yet run r4dl/stopthepop/lpipsPyTorch/modules/networks.py
pointer only (licence: NONE) · get_code("07bd0da29c4dc7bb")
get_state_dict Not yet run r4dl/stopthepop/lpipsPyTorch/modules/utils.py
pointer only (licence: NONE) · get_code("b06f27c08cf5d0ca")
qvec2rotmat Not yet run r4dl/stopthepop/scene/colmap_loader.py
pointer only (licence: NONE) · get_code("6ce64cf0fbcd6bb1")
rotmat2qvec Not yet run r4dl/stopthepop/scene/colmap_loader.py
pointer only (licence: NONE) · get_code("659bc4e7e63ed8f9")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Gaussian Splatting has emerged as a prominent model for constructing 3D representations from images across diverse domains. However, the efficiency of the 3D Gaussian Splatting rendering pipeline relies on several simplifications. Notably, reducing Gaussian to 2D splats with a single view-space depth introduces popping and blending artifacts during view rotation. Addressing this issue requires accurate per-pixel depth computation, yet a full per-pixel sort proves excessively costly compared to a global sort operation. In this paper, we present a novel hierarchical rasterization approach that systematically resorts and culls splats with minimal processing overhead. Our software rasterizer effectively eliminates popping artifacts and view inconsistencies, as demonstrated through both quantitative and qualitative measurements. Simultaneously, our method mitigates the potential for cheating view-dependent effects with popping, ensuring a more authentic representation. Despite the elimination of cheating, our approach achieves comparable quantitative results for test images, while increasing the consistency for novel view synthesis in motion. Due to its design, our hierarchical approach is only 4% slower on average than the original Gaussian Splatting. Notably, enforcing consistency enables a reduction in the number of Gaussians by approximately half with nearly identical quality and view-consistency. Consequently, rendering performance is nearly doubled, making our approach 1.6x faster than the original Gaussian Splatting, with a 50% reduction in memory requirements.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2402.00525")
get_code_for_paper("2402.00525")
have("2402.00525")

Connect an agent — have() is free.