Skip to content

Official reference implementation of "ABC-GS: Alignment-Based Controllable Style Transfer for 3D Gaussian Splatting"

License

Notifications You must be signed in to change notification settings

vpx-ecnu/ABC-GS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABC-GS: Alignment-Based Controllable Style Transfer for 3D Gaussian Splatting

arXiv Project Page

This repository contains the official implementation of the paper "ABC-GS: Alignment-Based Controllable Style Transfer for 3D Gaussian Splatting", introducing a novel approach for style transfer in 3D scenes represented by Gaussian Splatting.

Key Features

  • 🎨 Multi Style Transfer Loss: Supports four distinct style loss formulations (FAST, NNFM, KNN-FM, Gram Matrix)
  • 🌟 Three-Phase Training: Pre-processing → Style Transfer → Post-processing pipeline
  • 🔍 Controllable Style Transfer: Implements senmatic-aware and multi-style for Gaussian scene stylization
  • 📦 Modular Architecture: Extensible design for custom loss functions and training phases

Gallery

Single Style Transfer

Semantic-aware Style Transfer

Compositional Style Transfer

Installation

Requirements

  • NVIDIA GPU with CUDA 11.8
  • Python 3.10
  • PyTorch 2.3.0

Conda

# Clone repository with submodules
git clone https://github.com/vpx-ecnu/ABC-GS --recursive
cd ABC-GS

# Install Python dependencies
conda env create -f environment.yaml
conda activate ABC-GS
pip install abcgs/submodules/lang-segment-anything
pip install gs/submodules/diff-gaussian-rasterization
pip install gs/submodules/simple-knn

Quick Start

Dataset and Checkpoint

  • For scene dataset, you can find LLFF dataset in NeRF and T&T dataset in 3DGS.
  • For style dataset, you can find it in ARF.
  • For optimal stylization results, ensure that the original scene is trained using 0th-order spherical harmonics (SH) coefficients. Higher-order SH coefficients may introduce artifacts or inconsistencies during the style transfer process. Using 0th-order SH coefficients ensures smoother and more coherent stylization.

Single Style Transfer

python style_transfer.py --config configs/llff_single.yaml

Semantic-aware Style Transfer

python style_transfer.py --config configs/llff_semantic.yaml

Compositional Style Transfer

python style_transfer.py --config configs/llff_compositional.yaml

Please check python style_transfer.py --help or files under configs/ for help.

Contact

If you have any questions or suggestions, feel free to open an issue on GitHub. You can also contact Garv1tum and lzlcs directly.

Citation

If you find this project useful, please give a star⭐ to this repo and cite our paper:

@article{liu2025abc,
  title={ABC-GS: Alignment-Based Controllable Style Transfer for 3D Gaussian Splatting},
  author={Liu, Wenjie and Liu, Zhongliang and Yang, Xiaoyan and Sha, Man and Li, Yang},
  journal={IEEE International Conference on Multimedia and Expo (ICME)},
  year={2025}
}

Acknowledgements

This project builds upon the following works:

  • 3D Gaussian Splatting:
    The core 3D Gaussian rendering and optimization framework is based on the 3D Gaussian Splatting implementation by Bernhard Kerbl et al.
  • Lang-Segment-Anything:
    The semantic segmentation functionality is powered by Lang-Segment-Anything, a language-driven segmentation tool.

About

Official reference implementation of "ABC-GS: Alignment-Based Controllable Style Transfer for 3D Gaussian Splatting"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages