Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

SharpGS: Sharpness-Preserving 3D Gaussian Splatting with Differentiable Blur-Driven Density Control (ECCV 2026)
Official Implementation

This repository contains the official dateset and code in the following paper:

SharpGS: Sharpness-Preserving 3D Gaussian Splatting with Differentiable Blur-Driven Density Control

Moonsoo Jeong1, Dongbeen Kim1, Minseong Kim1, Sungkil Lee1,*

1Sungkyunkwan University

*Corresponding author

European Conference on Computer Vision (ECCV) 2026

Overview

We present SharpGS, a differentiable blur-driven density control, which enhances the quality of 3D Gaussian Splatting (3DGS). Standard 3DGS often struggles to capture intricate details, particularly in textured patterns and object boundaries, due to the limited sensitivity of its density control. Simple finer densification can result in excessive primitive counts with marginal quality gain. To address this, we introduce blur as an effective perceptual cue, leveraging CUDA-based differentiable blur. Our density control estimates per-primitive blur levels by comparing reconstructions to blurred ground-truth images, and identifies high-frequency regions where additional primitives are required. While this naturally produces more primitives, we counterbalance this by suppressing redundant primitives. Specifically, we penalize the blur levels of inherently smooth regions such as sky, and regularize the opacities of potential split/clone candidates. We experimentally demonstrate that SharpGS greatly improves the state-of-the-art 3DGS methods in terms of quality, while keeping learned primitives compact.

Code

Environment Setup

Use the provided environment.yml file to create and install the conda environment:

conda env create -f environment.yml
conda activate sharpGS

Usage

Replace items in braces {} with your actual values when running the commands.

Training

OMP_NUM_THREADS=4 \
CUDA_VISIBLE_DEVICES={gpu_idx} \
python train-sharpgs.py \
  -s {dataset_dir} \
  -m {output_dir} \
  -i images or images_{scale} \
  --use_reg \
  --decrease_opacity \
  --eval
  • {gpu_idx}: GPU index to use
  • {dataset_dir}: Path to dataset
  • {output_dir}: Directory to stored the trained model
  • images or images_{scale}: Directory of original images or scaled images, aligned with the resolution settings adopted in the official 3DGS results.
    • Mip-NeRF360 datasets
      Following the official 3DGS settings, scenes require down-scaled images:
      • Use images_4: bicycle, flowers, garden, stump, treehill
      • Use images_2: bonsai, counter, kitchen, room
    • Tanks&Temples (train, truck) and Deep Blending (drjohnson, playroom)
      These scenes use the original resolution, so use the default images directory.

Rendering & Evaluation

OMP_NUM_THREADS=4 \
CUDA_VISIBLE_DEVICES={gpu_idx} \
python metrics.py \
  -m {output_dir} \
  --skip_train

Citation

If you find this work useful, please cite:

@inproceedings{jeong26sharpgs,
    title       = {{SharpGS: Sharpness-Preserving 3D Gaussian Splatting with Differentiable Blur-Driven Density Control}},
    author      = {Jeong, Moonsoo and Kim, Dongbeen and Kim, Minseong and Lee, Sungkil},
    booktitle   = {(Provisionally accepted to) European Conference on Computer Vision (ECCV)},
    year        = {2026}
}

Acknowledgement

This repository is based on the 3DGS. Thanks for their awesome work.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors