Skip to content

Repository files navigation

Endo-PairGS: pair priors for dynamic endoscopic scene reconstruction

Xiankang Yu, Yuichiro Hayashi, Masahiro Oda, Takayuki Kitasaka, Kensaku Mori

Nagoya University

Architecture


Photo 1 Photo 2 Photo 3

Official implementation of Endo-PairGS: pair priors for dynamic endoscopic scene reconstruction, a self-supervised framework for dynamic endoscopic scene reconstruction.

Installation

Please follow Splatt3R and Endo-4DGS to install the python environments for training.

Must to install them in seperated conda environments for two-stage training

Data and pre-trained weights

Datasets

All the Training datasets can be download from GoogleDrive. The camera extrinsics is stored LLFF format. You can follow this to make your own datasets.

Pre-trained Weight

This is the fine-tuned weight of Splatt3R (GoogleDrive) on Endoscopic data. you can use this to generate paired 3D point cloud for dynamic recosntruction.

Training

Step 1

  1. Prepare the training data and split them in folders like the format in splits/endonerf.
  2. Download Splatt3R pre-trained weight to ./checkpoints/ folder.
  3. Run the follow scripts in run.sh.
CUDA_VISIBLE_DEVICES=0 python main.py configs/main.yaml

Step 2

  1. To generate aligned paired 3D point cloud used the model in Step 1.
CUDA_VISIBLE_DEVICES=0 python predict_3D.py configs/predict.yaml
  1. Use the Endo-4DGS model in \endo4dgs\train.sh for dynamic reconstruction.
# chnage the data path and output path in your device.
cd ./endo4dgs
CUDA_VISIBLE_DEVICES=0 PYTHONPATH='.'  python train.py -s /suedata1/Free/xkangyu/data/dynamic_endo_scene/cutting_tissues_twice --port 6017 --expname "endonerf/cutting" --configs arguments/endonerf.py

Evaluation

  1. Generate the 2D image of Step 1
CUDA_VISIBLE_DEVICES=0 python predict_2D.py configs/predict.yaml
  1. Generate dynamic reconstructed results in \endo4dgs\render.sh.
cd ./endo4dgs
CUDA_VISIBLE_DEVICES=0 python render.py --model_path "/suedata1/Free/xkangyu/mycodes/splatt3r_gs/output/endonerf/pulling_split3r" --pc --skip_video --skip_train --configs arguments/endonerf.py -s /suedata1/Free/xkangyu/data/dynamic_endo_scene/pulling_soft_tissues

3 After render the results, you can evaluate the metrics in \endo4dgs\eval.sh.

python metrics.py --model_path "/suedata1/Free/xkangyu/mycodes/splatt3r_gs/output/endonerf/pulling_split3r"

Citation

@article{yu2026endopairgs,
      title={Endo-PairGS: pair priors for dynamic endoscopic scene reconstruction}, 
      author={Yu, Xiankang and Hayashi, Yuichiro and Oda, Masahiro and Kitasaka, Takayuki and Mori, Kensaku},
      journal={International Journal of Computer Assisted Radiology and Surgery},
      year={2026},
      url={https://doi.org/10.1007/s11548-026-03707-y}, 
}

Access

If you have any question, please new a issues or email me.

About

Official implementation of Endo-PairGS

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages