Skip to content

strings-official/STRinGS

Repository files navigation

STRinGS: Selective Text Refinement in Gaussian Splatting
WACV 2026

Abhinav Raundhal*, Gaurav Behera*,
P. J. Narayanan, Ravi Kiran Sarvadevabhatla, Makarand Tapaswi

arXiv Project Page STRinGS-360 Dataset


STRinGS (bottom) produces sharper and readable text as compared to vanilla 3DGS (top)

Announcements

  • [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!

Setup Instructions

  1. 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
  2. Create a virtual environment and activate it:

    conda env create --file environment.yml
    conda activate strings
    pip install submodules/*

Datasets

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.

Training and Evaluation

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:

  1. Train

    python train.py -s <dataset_path> -m <model_output> --eval --phase_separator <phase_separator>
  2. Render

    python render.py -m <model_output> --skip_train
  3. Metrics

    python metrics.py -m <model_output>
    python metrics_ocr.py -m <model_output>

BibTeX

@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},
}

About

[WACV 2026] STRinGS: Selective Text Refinement in Gaussian Splatting

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages