This repository contains the official authors implementation associated with the paper "All That Glitters Is Not Gold: Key-Secured 3D Secrets within 3D Gaussian Splatting."
All That Glitters Is Not Gold: Key-Secured 3D Secrets within 3D Gaussian Splatting
Yan Ren, Shilin Lu, Adams Wai-Kin KongAbstract:
Recent advances in 3D Gaussian Splatting (3DGS) have revolutionized scene reconstruction, opening new possibilities for 3D steganography by hiding 3D secrets within 3D covers. The key challenge in steganography is ensuring imperceptibility while maintaining high-fidelity reconstruction. However, existing methods often suffer from detectability risks and utilize only suboptimal 3DGS features, limiting their full potential. We propose a novel end-to-end key-secured 3D steganography framework (KeySS) that jointly optimizes a 3DGS model and a key-secured decoder for secret reconstruction. Our approach reveals that Gaussian features contribute unequally to secret hiding. The framework incorporates a key-controllable mechanism enabling multi-secret hiding and unauthorized access prevention, while systematically exploring optimal feature update to balance fidelity and security. To rigorously evaluate steganographic imperceptibility beyond conventional 2D metrics, we introduce 3D-Sinkhorn distance analysis, which quantifies distributional differences between original and steganographic Gaussian parameters in the representation space. Extensive experiments demonstrate that our method achieves state-of-the-art performance in both cover and secret reconstruction while maintaining high security levels, advancing the field of 3D steganography.
To install KeySS, please run the following commands. Note that our setup was tested on a server with a Quadro RTX 6000 GPU and CUDA 11.8:
git clone https://github.com/RY-Paper/KeySS.git
conda create -n keyss python=3.8 -y
conda activate keyss
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install plyfile
pip install tqdm scipy wandb opencv-python scikit-learn lpips
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
pip install transformers
pip install -U "huggingface_hub[cli]"The dataset needed consists of 9 scenes from MipNeRF360 dataset (available here) and 1 scene from Deep Blending dataset (available here). These scenes are used as cover and secret scenes in our experiments.
You can download the datasets using the following commands:
cd KeySS
mkdir data
wget -c http://storage.googleapis.com/gresearch/refraw360/360_v2.zip
unzip 360_v2.zip -d mipnerf360
wget -c https://storage.googleapis.com/gresearch/refraw360/360_extra_scenes.zip
unzip 360_extra_scenes.zip -d mipnerf360
wget -c https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/datasets/input/tandt_db.zip
unzip tandt_db.zip
Pretrained MipNeRF360 3DGS models can be downloaded using the following commands:
cd KeySS
huggingface-cli download jojojohn/mipnerf360_pretrained --repo-type=model --local-dir output
cd output
unzip keyss_gt_mipnerf360.zip
Please follow the dataset structure below to prepare the datasets and pretrained models in the source path location:
<location>
|---data
| |---mipnerf360 #datasets
| |---bicycle
| |---...
| |---db #datasets
| |---playroom
|---output
|---mipnerf360 #pretrained models
|---single_secret
|---multiple_secert
To train for single/multiple secret hiding, simply see the details in run_train.sh
bash run_train.shTo test for single/multiple secret hiding and 3D-Sinkhorn, simply see the details in run_test.sh
bash run_test.shWe would like to thank the authors of 3DGS, Gaussian Grouping and CLIP for their great work and generously providing source codes, which inspired our work and helped us a lot in the implementation.
If you find our work helpful, please consider citing:
@article{keyss2025,
title={All That Glitters Is Not Gold: Key-Secured 3D Secrets within 3D Gaussian Splatting},
author={Ren, Yan and Lu, Shilin and Kong, Adams Wai-Kin},
journal={arXiv preprint arXiv:2503.07191},
year={2025}
}