Image-to-3D
multiViewdiff / README.md
dylanebert's picture
dylanebert HF staff
Update README.md
5bc5f88 verified
metadata
license: openrail
pipeline_tag: image-to-3d

Overview

This is a duplicate of ashawkey/imagedream-ipmv-diffusers.

It is hosted here for the purpose of persistence and reproducibility for the ML for 3D course.

Original MVDream paper: [https://huggingface.co/papers/2308.16512](MVDream: Multi-view Diffusion for 3D Generation)

Original ImageDream paper: [https://huggingface.co/papers/2312.02201](ImageDream: Image-Prompt Multi-view Diffusion for 3D Generation)

Usage

This project can be used from other projects as follows.

import torch
from diffusers import DiffusionPipeline

# Text to Multi-View Diffusion
text_pipeline = DiffusionPipeline.from_pretrained(
    "ashawkey/mvdream-sd2.1-diffusers",
    custom_pipeline="dylanebert/multi_view_diffusion",
    torch_dtype=torch.float16,
    trust_remote_code=True,
).to("cuda")

# Image to Multi-View Diffusion
image_pipeline = DiffusionPipeline.from_pretrained(
    "ashawkey/imagedream-ipmv-diffusers",
    custom_pipeline="dylanebert/multi_view_diffusion",
    torch_dtype=torch.float16,
    trust_remote_code=True,
).to("cuda")

Original model card below.


MVDream-diffusers

A unified diffusers implementation of MVDream and ImageDream.

We provide converted fp16 weights on huggingface:

Install

# dependency
pip install -r requirements.txt

# xformers is required! please refer to https://github.com/facebookresearch/xformers
pip install ninja
pip install -v -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers

Usage

python run_mvdream.py "a cute owl"
python run_imagedream.py data/anya_rgba.png

Convert weights

MVDream:

# download original ckpt (we only support the SD 2.1 version)
mkdir models
cd models
wget https://huggingface.co/MVDream/MVDream/resolve/main/sd-v2.1-base-4view.pt
wget https://raw.githubusercontent.com/bytedance/MVDream/main/mvdream/configs/sd-v2-base.yaml
cd ..

# convert
python convert_mvdream_to_diffusers.py --checkpoint_path models/sd-v2.1-base-4view.pt --dump_path ./weights_mvdream --original_config_file models/sd-v2-base.yaml --half --to_safetensors --test

ImageDream:

# download original ckpt (we only support the pixel-controller version)
cd models
wget https://huggingface.co/Peng-Wang/ImageDream/resolve/main/sd-v2.1-base-4view-ipmv.pt
wget https://raw.githubusercontent.com/bytedance/ImageDream/main/extern/ImageDream/imagedream/configs/sd_v2_base_ipmv.yaml
cd ..

# convert
python convert_mvdream_to_diffusers.py --checkpoint_path models/sd-v2.1-base-4view-ipmv.pt --dump_path ./weights_imagedream --original_config_file models/sd_v2_base_ipmv.yaml --half --to_safetensors --test

Acknowledgement

  • The original papers:
    @article{shi2023MVDream,
        author = {Shi, Yichun and Wang, Peng and Ye, Jianglong and Mai, Long and Li, Kejie and Yang, Xiao},
        title = {MVDream: Multi-view Diffusion for 3D Generation},
        journal = {arXiv:2308.16512},
        year = {2023},
    }
    @article{wang2023imagedream,
        title={ImageDream: Image-Prompt Multi-view Diffusion for 3D Generation},
        author={Wang, Peng and Shi, Yichun},
        journal={arXiv preprint arXiv:2312.02201},
        year={2023}
    }
    
  • This codebase is modified from mvdream-hf.