ReconViaGen

GAP-LAB-CUHK-SZMIT更新放缓

用生成模型提升多视角 3D 物体重建精度,从多张图片还原准确的三维形状与位姿,适合做图像到 3D 的研究与落地。

(ICLR2026) ReconViaGen: Towards Accurate Multi-view 3D Object Reconstruction via Generation

暂无版本664star22fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
git clone --recursive https://github.com/GAP-LAB-CUHK-SZ/ReconViaGen.git
cd ReconViaGen
. ./setup.sh --new-env --basic --xformers --flash-attn --spconv --mipgaussian --kaolin --nvdiffrast --demo
硬件要求按 README 说明

16张图无精修推理需少于18GB显存,精修版少于24GB显存;训练用8张A100 80GB。README未说明是否支持CPU及其他GPU型号。

8G 显存可跑24G 显存可跑需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

多视角图像生成式三维物体重建,输出高精度网格与PBR材质

用生成模型提升多视角 3D 物体重建精度,从多张图片还原准确的三维形状与位姿,适合做图像到 3D 的研究与落地。

核心能力

  • 用多视角融合策略结合TRELLIS.2生成高分辨率网格
  • 分SS与SLat两阶段DiT流模型训练
  • 提供无精修与精修两套推理脚本
  • 支持用自训练checkpoint跑Gradio演示

容易踩的坑

必须带--recursive克隆,否则子模块缺失;setup.sh会新建conda环境并装PyTorch 2.4.0+CUDA 12.1,需提前配好CUDA;v0.5推理代码在单独分支,主分支不含高分辨率网格与PBR功能。

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

最近发版

0 个版本

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

用户点评

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

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

    README 原文

    未翻译

    ReconViaGen: Towards Accurate Multi-view 3D Object Reconstruction via Generation

    Website Paper Hugging Face Space

    teaser

    Alpha Demo: https://huggingface.co/spaces/Stable-X/ReconViaGen. We welcome feedback on failure cases to help improve the model.


    🆕 News — We've fixed some bugs in the v0.5 branch; please resynchronize with the remote repository. And we also deployed a demo on the huggingface space.

    🆕 News (v0.5) — Releasing the inference code of ReconViaGen-v0.5 in the v0.5 branch of this repository! Thanks for the excellent work TRELLIS.2! We have proposed an effective multi-view fusion strategy for TRELLIS.2, and then we combine ReconViaGen with TRELLIS.2 to enable the generation of high-resolution meshes and PBR materials. For details, please refer to the v0.5 branch of this repository.

    Demo of ReconViaGen-v0.5

    Demo of ReconViaGen-v0.5

    News (v0.2) — Releasing the training and inference code of ReconViaGen-v0.2 in the main branch of this repository! We have optimized the inference process. Reconstructing 16 images using ReconViaGen without refinement (app.py) consumes less than 18GB of VRAM. Reconstructing 16 images using ReconViaGen (app_fine.py) consumes less than 24GB of VRAM.

    News (Community) — An unofficial implementation of ReconViaGen is released! Thanks to estheryang11 a lot!

    Installation

    Clone the repo:

    git clone --recursive https://github.com/GAP-LAB-CUHK-SZ/ReconViaGen.git
    cd ReconViaGen
    

    Create a new conda environment named reconviagen and install the dependencies (pytorch 2.4.0 with CUDA 12.1):

    . ./setup.sh --new-env --basic --xformers --flash-attn --spconv --mipgaussian --kaolin --nvdiffrast --demo
    

    Local Demo 🤗

    Run the script to reconstruct the object without refinement by:

    python app.py
    

    Run the script to reconstruct the object with refinement by:

    python app_fine.py
    

    Training

    0. Data Preparation

    The processed dataset can be download here. The dataset is organized as follows:

    ProObjaverse-300K/
    ├── renders_random_env/
    │   ├── shard-0000/
    │   │   ├── {uid}.tar          # per-object archive
    │   │   │   ├── {uid}/000.json          # camera metadata (extrinsic 4×4, intrinsic 3×3)
    │   │   │   ├── {uid}/000.rgba.webp     # RGBA render, 1024×1024
    │   │   │   ├── {uid}/001.json
    │   │   │   ├── {uid}/001.rgba.webp
    │   │   │   └── ...                     # up to ~80 views per object
    │   │   └── ...
    │   ├── shard-0001/
    │   └── ...
    └── lh-slats/
        ├── shard-0000/
        │   ├── {uid}.npz          # structured latent for the object
        │   │   ├── feats:  float32 (N, 8)       # latent features per voxel
        │   │   └── coords: uint8   (N, 3)        # voxel coordinates in [0, 63]
        │   └── ...
        ├── shard-0001/
        └── ...
    

    Each .tar contains all rendered views for one object. The uid is shared between the render tar and the slat npz, and is used to pair them at training time. The .json camera file contains all camera pose of rendered views.

    1. Training DiT of SS Stage.

    Run the following code to train the flow model of SS Stage on the ProObjaverse-300K dataset:

    . ./train_ss.sh
    

    Noted that we trained the model with 8 A100 GPUs (80GB).

    2. Training DiT of SLat Stage.

    Run the following code to train the flow model of SLat Stage on the ProObjaverse-300K dataset:

    . ./train_slat.sh
    

    Noted that we trained the model with 8 A100 GPUs (80GB).

    3. Try the checkpoint with gradio:

    Run the following code to try your trained checkpoints with gradio:

    python app_try.py --ss_ckpt /path_to_your_trained_ss_ckpt --slat_ckpt /path_to_your_trained_slat_ckpt
    

    Citation

    @article{chang2025reconviagen,
            title={ReconViaGen: Towards Accurate Multi-view 3D Object Reconstruction via Generation},
            author={Chang, Jiahao and Ye, Chongjie and Wu, Yushuang and Chen, Yuantao and Zhang, Yidan and Luo, Zhongjin and Li, Chenghong and Zhi, Yihao and Han, Xiaoguang},
            journal={arXiv preprint arXiv:2510.23306},
            year={2025}
    }