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.
- 🎨 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
- NVIDIA GPU with CUDA 11.8
- Python 3.10
- PyTorch 2.3.0
# 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
- 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.
python style_transfer.py --config configs/llff_single.yaml
python style_transfer.py --config configs/llff_semantic.yaml
python style_transfer.py --config configs/llff_compositional.yaml
Please check python style_transfer.py --help
or files under configs/
for help.
If you have any questions or suggestions, feel free to open an issue on GitHub. You can also contact Garv1tum and lzlcs directly.
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}
}
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.