X-Gaussian

caiyuanhao1998长期未更新

用辐射高斯泼溅做 X 射线新视角合成,只需少量稀疏视角就能快速重建 CT 三维结构,比 NeRF 类方法更高效。

"Radiative Gaussian Splatting for Efficient X-ray Novel View Synthesis" (ECCV 2024)

暂无版本336star16fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
git clone --recursive https://github.com/caiyuanhao1998/X-Gaussian.git
cd X-Gaussian
conda env create -f environment.yml
conda activate x_gaussian
bash install.sh
硬件要求按 README 说明

README 未说明显存要求;需 Linux 环境与 CUDA 11.8 工具链(nvcc),环境内置 PyTorch 2.1.2、Python 3.9、GCC 11,未列出具体 GPU 型号。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用辐射高斯泼溅做稀疏视角 X 光新视角合成与直接 CT 三维重建,无需 SfM

用辐射高斯泼溅做 X 射线新视角合成,只需少量稀疏视角就能快速重建 CT 三维结构,比 NeRF 类方法更高效。

核心能力

  • 用辐射高斯场同时渲染 2D 投影并直接重建 3D CT 体
  • 训练联合投影损失、3D TV 与体射线一致性约束
  • 无需 SfM,直接用训练投影初始化并自动缓存 FDK 初始化
  • 同一组高斯直接采样成 CT 体,不引入额外密度或体素参数
  • 支持仅用 CT 训练好的 PLY 文件独立做 3D 重建

容易踩的坑

需从 Google Drive 单独下载五个 pickle 格式 CT 数据集并放入 data/ 目录;克隆必须带 --recursive 拉取子模块,否则 install.sh 可能失败;环境依赖 CUDA 11.8 的 nvcc,版本不符需自行调整。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

     

    arXiv zhihu Youtube AK MrNeRF RF

    Point Cloud Visualization

     

    Training Process Visualization

     

    Introduction

    This is the official implementation of our ECCV 2024 paper "Radiative Gaussian Splatting for Efficient X-ray Novel View Synthesis". Our X-Gaussian is SfM-free. If you find this repo useful, please give it a star ⭐ and consider citing our paper. Thank you.

    News

    • 2026.11.08 : We added direct 3D reconstruction.
    • 2025.06.25 : Our new work X2-Gaussian for dynamic human chest breathing CT reconstruction has been accepted by ICCV 2025. Congrats to Weihao. Code and models will be released at this repo. 🚀
    • 2024.09.01 : Code, models, and training logs have been released. Welcome to have a try 😆
    • 2024.07.01 : Our X-Gaussian has been accepted by ECCV 2024! Code will be released before the start date of the conference (2024.09.29). Stay tuned. 🚀
    • 2024.06.03 : Code for traditional methods has been released at SAX-NeRF. ✨
    • 2024.06.03 : Code for fancy visualization and data generation has been released at SAX-NeRF. 🚀
    • 2024.06.03 : Data, code, models, and training logs of our CVPR 2024 work SAX-NeRF have been released. Feel free to use them :)
    • 2024.06.03 : The datasets have been released on Google Drive. Feel free to use them. 🚀
    • 2024.03.07 : Our paper is on arxiv now. Code, models, and training logs will be released. Stay tuned. 💫

    Performance

    results1

    results2

    Results on the original five datasets without downsampling, using 50 training projections, 30,000 training steps and 1,000 refinement steps. CT ground truth is used only for evaluation.

    DatasetCT resolution2D PSNR (dB)2D SSIM3D PSNR (dB)3D SSIM
    Chest128 × 128 × 12847.210.993731.940.8895
    Abdomen512 × 512 × 46348.160.996833.330.8917
    Foot256 × 256 × 25644.400.986931.880.8795
    Head256 × 256 × 12851.660.997940.210.9732
    Pancreas512 × 512 × 24047.650.992322.220.8750

    2D metrics average 50 held-out views, with each prediction and reference normalized by its own maximum. 3D metrics use a fixed range of 1 without clipping or intensity correction; SSIM averages nonempty reference slices over all three axes.

    results3

    results4

    Coordinate System

    The coordinate system in circular cone-beam X-ray scanning follows the OpenCV standards. The transformation between the camera, world, and image coordinate systems is shown below.

     

    1. Environment

    Use Linux with a CUDA 11.8 toolkit (nvcc). The environment installs Python 3.9, PyTorch 2.1.2 and GCC 11 for both 2D projection rendering and 3D CT reconstruction.

    git clone --recursive https://github.com/caiyuanhao1998/X-Gaussian.git
    cd X-Gaussian
    conda env create -f environment.yml
    conda activate x_gaussian
    bash install.sh
    

    2. Dataset

    Download the original five CT datasets from Google Drive:

    |--data
          # The first five datasets are used in our paper
          |--chest_50.pickle
          |--abdomen_50.pickle
          |--foot_50.pickle
          |--head_50.pickle
          |--pancreas_50.pickle
    

    Training reads these files directly and initializes from training projections. Datasets and outputs can be stored elsewhere and symlinked into data/ and output/.

    3. Training

    python train.py --config config/chest.yaml
    

    Training reuses cached initialization when available; otherwise it computes and saves FDK initialization automatically.

    Training jointly optimizes one Gaussian field for 2D projection rendering and 3D reconstruction, using projection loss, 3D TV, and volume-ray consistency. The default recipe runs 30,000 base steps and 1,000 refinement steps. CT ground truth is not used for training. The original Gaussian attributes are retained.

    4. Testing

    2D Projection Rendering

    python render.py -m output/chest --mode 2d
    

    Renders test cameras to output/chest/projections_test/ (raw NPY and PNG previews).

    3D Reconstruction Testing

    python render.py -m output/chest --mode 3d \
      --output output/chest/volume.npy
    

    The same trained Gaussians directly define the CT volume:

    $$ V(\mathbf x)=\sum_i\rho_i\exp!\left[-\frac12 (\mathbf x-\mathbf p_i)^\top\Sigma_i^{-1}(\mathbf x-\mathbf p_i)\right]. $$

    Here $\rho_i=\sigma(o_i)\bar r_i$ combines the original opacity and positive radiative intensity, and $\Sigma_i=R(q_i)D_iR(q_i)^\top$ uses the original rotations and squared scales in the diagonal matrix $D_i$. Reconstruction samples this field at voxel centers; no extra learned density or voxel parameters are introduced.

    3D mode also accepts a standalone CT-trained PLY via -m path/to/point_cloud.ply, without projections or CT truth. The saved scanner resolution and extent are used by default; --resolution, --center and --size override them. Both modes load the latest checkpoint by default (--iteration selects another checkpoint).

    Citation

    # X-Gaussian
    @inproceedings{x_gaussian,
      title={Radiative gaussian splatting for efficient x-ray novel view synthesis},
      author={Yuanhao Cai and Yixun Liang and Jiahao Wang and Angtian Wang and Yulun Zhang and Xiaokang Yang and Zongwei Zhou and Alan Yuille},
      booktitle={ECCV},
      year={2024}
    }
    
    # sax-nerf
    @inproceedings{sax_nerf,
      title={Structure-Aware Sparse-View X-ray 3D Reconstruction},
      author={Yuanhao Cai and Jiahao Wang and Alan Yuille and Zongwei Zhou and Angtian Wang},
      booktitle={CVPR},
      year={2024}
    }
    
    # X2-Gaussian
    @inproceedings{x2_gaussian,
      title={X2-Gaussian: 4D Radiative Gaussian Splatting for Continuous-time Tomographic Reconstruction},
      author={Yu, Weihao and Cai, Yuanhao and Zha, Ruyi and Fan, Zhiwen and Li, Chenxin and Yuan, Yixuan},
      booktitle={ICCV},
      year={2025}
    }
    

     

    Acknowledgement

    Our code and data are heavily borrowed from SAX-NeRF and 3DGS.