Skip to content

[ICCV 2025] Official PyTorch Implementation of "Curve-Aware Gaussian Splatting for 3D Parametric Curve Reconstruction""

License

Notifications You must be signed in to change notification settings

zhirui-gao/Curve-Gaussian

Repository files navigation

[ICCV 2025] CurveGaussian

Curve-Aware Gaussian Splatting for 3D Parametric Curve Reconstruction

Zhirui Gao, Renjiao Yi, Yaqiao Dai, Xuening Zhu, Wei Chen, Chenyang Zhu, Kai Xu

arXiv Project page Dataset

romm0

CurveGaussian enables compact 3D parametric curve reconstruction from multi-view 2D edge maps.

pipeline

This repository contains the official implementation of the paper: Curve-Aware Gaussian Splatting for 3D Parametric Curve Reconstruction, which is accepted to ICCV 2025. CurveGaussian is a novel bi-directional coupling framework between parametric curves and edge-oriented Gaussian components, enabling direct optimization of parametric curves through differentiable Gaussian splatting.

If you find this repository useful to your research or work, it is really appreciated to star this repository✨ and cite our paper 📚.

Feel free to contact me ([email protected]) or open an issue if you have any questions or suggestions.

🔥 See Also

You may also be interested in our other works:

  • [ICCV 2025] PartGS: A self-supervised part-aware reconstruction framework that integrates 2D Gaussians and superquadrics to parse objects and scenes into an interpretable decomposition.

  • [TCSVT 2025] PoseProbe: A novel approach of utilizing everyday objects commonly found in both images and real life, as pose probes, to tackle few-view NeRF reconstruction using only 3 to 6 unposed scene images.

  • [CVMJ 2024] DeepTm: An accurate template matching method based on differentiable coarse-to-fine correspondence refinement, especially designed for planar industrial parts.

📢 News

  • 2025-06-27: The paper is available on arXiv.
  • 2025-06-26: CurveGaussian is accepted to ICCV 2025. 🎉

📋 TODO

  • Release the training and evaluation code.
  • Evaluation and visualization code.
  • Custom dataset support.

🔧 Installation

git clone --recurse-submodules https://github.com/zhirui-gao/Curve-Gaussian.git

Our code environment is similar to 3DGS

We make a custom rasterization library (diff-cur-rasterization) based on original diff-gaussian-rasterization.

If you have an environment for 3DGS, you just run

pip install  submodules/diff-cur-rasterization

Otherwise, you sholud creat a new conda environment:

conda env create --file environment.yml
conda activate gaussian_splatting

📊 Dataset

For ABC_dataset, we use the dataset provided by EMAP.

For Replica dataset, download from link

Download datasets:

python scripts/download_data.py 

The data is organized as follows:

<scan_id>
|-- meta_data.json      # camera parameters
|-- color               # images for each view
    |-- 0_colors.png
    |-- 1_colors.png
    ...
|-- edge_DexiNed        # edge maps extracted from DexiNed
    |-- 0_colors.png
    |-- 1_colors.png
    ...
|-- edge_PidiNet        # edge maps extracted from PidiNet
    |-- 0_colors.png
    |-- 1_colors.png
    ...

🚀 Training

ABC-dataset

Run a single dataset

python train.py -s /media/gzr/ABC-NEF_Edge/data/00000168 -m output/00000168  -r 2 --eval  --quiet

Run the whole dataset

python scripts/run_batch_ABC.py

Replicat-dataset

set arguments/init.py

self.detector = 'PidiNet'  
bash scripts/run_replica.sh

👊 Evaluation

ABC-dataset

python edge_extraction/eval_ABC.py

If you want to render a continuous video of parametric curves:

First download camera poses files for projection, and organize the dataset as follows

<scan_id>
|-- meta_data.json      # camera parameters
|-- transforms_video.json   # continuous camera parameters
|-- video  # gt images under continuous camera parameters

Then just run the command:

python edge_extraction/eval_ABC.py --render_mv True

Replica-dataset

python edge_extraction/eval_replica.py

This is only for calculating the number of curves and visualization since GT curves are not available.

👀 Visual Results

ABC-NEF Dataset

room2 2 2

Replica Dataset

romm0 romm1

📚 Citation

If you find our work helpful, please consider citing:

@misc{gao2025curveawaregaussiansplatting3d,
      title={Curve-Aware Gaussian Splatting for 3D Parametric Curve Reconstruction}, 
      author={Zhirui Gao and Renjiao Yi and Yaqiao Dai and Xuening Zhu and Wei Chen and Chenyang Zhu and Kai Xu},
      year={2025},
      eprint={2506.21401},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2506.21401}, 
}

Acknowledgement

This project is built upon 3DGS, EMAP and NEF. We use pretrained DexiNed and PidiNet for edge map extraction. We thank all the authors for their great work and repos.

About

[ICCV 2025] Official PyTorch Implementation of "Curve-Aware Gaussian Splatting for 3D Parametric Curve Reconstruction""

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published