STRinGS (bottom) produces sharper and readable text
as compared to vanilla 3DGS (top)
- [Feb 4, 2026] 🚀 Code Released!
- [Dec 25, 2025] 🎁 STRinGS-360 Dataset is now available! Download here.
- [Dec 12, 2025] 🔗 Project Page is live! Check it out here.
- [Nov 9, 2025] 🎉 Paper accepted to WACV 2026!
-
Clone the repository:
# HTTPS git clone --recursive https://github.com/STRinGS-official/STRinGS.git cd STRinGS
# SSH git clone --recursive git@github.com:STRinGS-official/STRinGS.git cd STRinGS
-
Create a virtual environment and activate it:
conda env create --file environment.yml conda activate strings pip install submodules/*
Download all the datasets (STRinGS-360, Tanks&Temples and DL3DV-10K Benchmark) used in the paper here. Place the Datasets folder in the root directory of the repository.
The dataset structure is as follows:
Datasets
├── DL3DV-10K
│ ├── multilingual
│ ├── scene_107
│ ├── scene_132
│ ├── scene_136
│ ├── scene_21
│ ├── scene_3
│ ├── scene_80
│ └── scene_92
├── STRinGS-360
│ ├── books
│ ├── chemicals
│ ├── extinguisher
│ ├── globe
│ └── shelf
└── TandT
├── train
└── truck
Each scene should have the following structure:
scene_name
├── hisam_jsons
├── images
├── input
├── masks
├── masks_vis
└── sparse
The masks folder should contain binary text masks corresponding to each image in the images folder. This can be generated using any off-the-shelf text detection method. Our implementation using Hi-SAM can be found here. Run the following command to generate text masks using Hi-SAM:
bash text_segmentation.sh <dataset_path> <dilation_factor>For all experiments, we used a dilation factor of 20% of the image width.
To replicate the results in the paper, run the following:
python full_eval.py -s360 Datasets/STRinGS-360/ -tat Datasets/TandT/ -dl3dv Datasets/DL3DV-10K/For running on individual datasets, use the following commands:
-
Train
python train.py -s <dataset_path> -m <model_output> --eval --phase_separator <phase_separator>
-
Render
python render.py -m <model_output> --skip_train
-
Metrics
python metrics.py -m <model_output> python metrics_ocr.py -m <model_output>
@InProceedings{STRinGS_2026_WACV,
author = {Raundhal, Abhinav and Behera, Gaurav and Narayanan, P. J. and Sarvadevabhatla, Ravi Kiran and Tapaswi, Makarand},
title = {STRinGS: Selective Text Refinement in Gaussian Splatting},
booktitle = {Proceedings of the Winter Conference on Applications of Computer Vision (WACV)},
month = {March},
year = {2026},
}