🚀 Shap-E
Shap-E引入了一種擴散過程,能夠根據文本提示生成3D圖像。它由OpenAI的Heewoo Jun和Alex Nichol在論文Shap-E: Generating Conditional 3D Implicit Functions中提出。
Shap-E的原始倉庫可在此處找到:https://github.com/openai/shap-e。
Shap-E的作者並未撰寫此模型卡片。他們在此處提供了單獨的模型卡片。
🚀 快速開始
Shap-E是一個可以根據文本提示生成3D圖像的模型。它的原始論文對其原理和效果進行了詳細闡述。你可以參考下面的使用示例來體驗Shap-E的功能。
✨ 主要特性
- 文本到3D圖像生成:可以根據文本提示生成3D圖像。
- 圖像到3D圖像生成:能夠從合成的2D圖像中採樣出3D圖像。
- 多輸出表示:直接生成隱式函數的參數,這些參數可以渲染為紋理網格和神經輻射場。
📦 安裝指南
首先確保你已經安裝了所有依賴項:
pip install transformers accelerate -q
pip install git+https://github.com/huggingface/diffusers@@shap-ee
💻 使用示例
基礎用法
import torch
from diffusers import ShapEImg2ImgPipeline
from diffusers.utils import export_to_gif, load_image
ckpt_id = "openai/shap-e-img2img"
pipe = ShapEImg2ImgPipeline.from_pretrained(repo).to("cuda")
img_url = "https://hf.co/datasets/diffusers/docs-images/resolve/main/shap-e/corgi.png"
image = load_image(img_url)
generator = torch.Generator(device="cuda").manual_seed(0)
batch_size = 4
guidance_scale = 3.0
images = pipe(
image,
num_images_per_prompt=batch_size,
generator=generator,
guidance_scale=guidance_scale,
num_inference_steps=64,
size=256,
output_type="pil"
).images
gif_path = export_to_gif(images, "corgi_sampled_3d.gif")
高級用法
在實際應用中,你可以根據不同的需求調整生成參數,例如batch_size
、guidance_scale
、num_inference_steps
等,以獲得不同質量和風格的3D圖像。
📚 詳細文檔
發佈的檢查點
作者發佈了以下檢查點:
結果展示
2D參考圖像 |
3D採樣圖像(一) |
3D採樣圖像(二) |
 |
 |
 |
2D參考柯基圖像 |
3D採樣圖像(一) |
3D採樣圖像(二) |
訓練細節
請參考原始論文。
已知限制和潛在偏差
請參考原始模型卡片。
🔧 技術細節
Shap-E的訓練分為兩個階段:首先,訓練一個編碼器,將3D資產確定性地映射到隱式函數的參數;其次,在編碼器的輸出上訓練一個條件擴散模型。當在大量配對的3D和文本數據上進行訓練時,該模型能夠在幾秒鐘內生成複雜多樣的3D資產。與基於點雲的顯式生成模型Point-E相比,Shap-E收斂更快,並且在建模更高維、多表示輸出空間的情況下,能夠達到相當或更好的樣本質量。
📄 許可證
本項目採用MIT許可證。
📖 引用
@misc{jun2023shape,
title={Shap-E: Generating Conditional 3D Implicit Functions},
author={Heewoo Jun and Alex Nichol},
year={2023},
eprint={2305.02463},
archivePrefix={arXiv},
primaryClass={cs.CV}
}