# custom-diff-surfel-rasterization **Repository Path**: Ky1eYang/custom-diff-surfel-rasterization ## Basic Information - **Project Name**: custom-diff-surfel-rasterization - **Description**: fork from https://github.com/hbb1/diff-surfel-rasterization 基于2dgs增加诸多高斯溅射相关论文的工程实现 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-09 - **Last Updated**: 2025-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Differential Surfel Rasterization with Linear Kernel ## Overview This project builds upon the **2D Gaussian Splatting (2DGS)** framework, specifically its differential surfel rasterization technique, to reconstruct geometrically accurate radiance fields from multi-view images. We introduce two key modifications to enhance rendering quality and performance: 1. **Multi-Channel Precomputed Colors**: Extending the appearance modeling with multiple precomputed color channels. 2. **Linear Kernel Replacement**: Replacing the Gaussian kernel with a linear kernel for sharper boundary rendering. These enhancements aim to improve detail capture in high-frequency regions while maintaining view-consistent geometry. ## Features - **Differential Surfel Rasterization**: Represents surfaces using 2D oriented Gaussian disks with perspective-correct rendering. - **Multi-Channel Colors**: Adds more precomputed color channels (`colors_precomp`) to each Gaussian, valid for additional surface properties. - **Linear Kernel**: Substitutes the Gaussian kernel with a linear kernel to reduce blur cost and enhance high-frequency details. ## Modifications ### 1. Linear Kernel The Gaussian kernel, with its smooth, unbounded support, can introduce blur in rendered output. We replace it with a linear kernel featuring sharper, bounded support, akin to a box filter, to improve clarity in high-frequency areas. ### 2. MCMC Add the relocation implementation of (3dgs-mcmc)[https://github.com/shakibakh/diff-gaussian-rasterization].which is used for a opacity-based kernel splitting approach. ## Implementation The codebase adapts the official 2DGS implementation, integrating the above modifications. Key steps include: 1. Implementing differential surfel rasterization based on 2DGS. 2. Adding multi-channel `colors_precomp` to the Gaussian representation. 3. Replacing the Gaussian kernel with a linear kernel in the splatting process. 4. Modifying the relocation implementation of 3dgs-mcmc for 2DGS. ## References

BibTeX

@misc{kheradmand20253dgaussiansplattingmarkov,
      title={3D Gaussian Splatting as Markov Chain Monte Carlo}, 
      author={Shakiba Kheradmand and Daniel Rebain and Gopal Sharma and Weiwei Sun and Jeff Tseng and Hossam Isack and Abhishek Kar and Andrea Tagliasacchi and Kwang Moo Yi},
      year={2025},
      eprint={2404.09591},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2404.09591}, 
}
@misc{chen2024gaussiansfasthighfidelity3d,
      title={Beyond Gaussians: Fast and High-Fidelity 3D Splatting with Linear Kernels}, 
      author={Haodong Chen and Runnan Chen and Qiang Qu and Zhaoqing Wang and Tongliang Liu and Xiaoming Chen and Yuk Ying Chung},
      year={2024},
      eprint={2411.12440},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2411.12440}, 
}
@inproceedings{Huang2DGS2024,
    title={2D Gaussian Splatting for Geometrically Accurate Radiance Fields},
    author={Huang, Binbin and Yu, Zehao and Chen, Anpei and Geiger, Andreas and Gao, Shenghua},
    publisher = {Association for Computing Machinery},
    booktitle = {SIGGRAPH 2024 Conference Papers},
    year      = {2024},
    doi       = {10.1145/3641519.3657428}
}
@Article{kerbl3Dgaussians,
      author       = {Kerbl, Bernhard and Kopanas, Georgios and Leimk{\"u}hler, Thomas and Drettakis, George},
      title        = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
      journal      = {ACM Transactions on Graphics},
      number       = {4},
      volume       = {42},
      month        = {July},
      year         = {2023},
      url          = {https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/}
}