ldm3d-4c / README.md
estellea's picture
Create README.md
09dea80
metadata
license: creativeml-openrail-m
datasets:
  - laion/laion400m
tags:
  - stable-diffusion
  - stable-diffusion-diffusers
  - text-to-image
language:
  - en

LDM3D model

The LDM3D model was proposed in "LDM3D: Latent Diffusion Model for 3D" by Gabriela Ben Melech Stan, Diana Wofk, Scottie Fox, Alex Redden, Will Saxton, Jean Yu, Estelle Aflalo, Shao-Yen Tseng, Fabio Nonato, Matthias Muller, Vasudev Lal.

LDM3D got accepted to CVPRW'23.

Model description

The abstract from the paper is the following: This research paper proposes a Latent Diffusion Model for 3D (LDM3D) that generates both image and depth map data from a given text prompt, allowing users to generate RGBD images from text prompts. The LDM3D model is fine-tuned on a dataset of tuples containing an RGB image, depth map and caption, and validated through extensive experiments. We also develop an application called DepthFusion, which uses the generated RGB images and depth maps to create immersive and interactive 360-degree-view experiences using TouchDesigner. This technology has the potential to transform a wide range of industries, from entertainment and gaming to architecture and design. Overall, this paper presents a significant contribution to the field of generative AI and computer vision, and showcases the potential of LDM3D and DepthFusion to revolutionize content creation and digital experiences.

LDM3D overview LDM3D overview taken from the original paper

Intended uses

You can use this model to generate RGB and depth map given a text prompt. A short video summarizing the approach can be found at this url and a VR demo can be found here.

How to use

Here is how to use this model to get the features of a given text in PyTorch:


from diffusers import StableDiffusionLDM3DPipeline

pipe = StableDiffusionLDM3DPipeline.from_pretrained("Intel/ldm3d")
pipe.to("cuda")


prompt ="A picture of some lemons on a table"
name = "lemons"

output = pipe(prompt)
rgb_image, depth_image = output.rgb, output.depth
rgb_image[0].save(name+"_ldm3d_rgb.jpg")
depth_image[0].save(name+"_ldm3d_depth.png")

This is the result:

ldm3d_results

Limitations and bias

For the image generation, limitations and bias are the same as the ones from Stable diffusion For the depth map generation, a first limitiation is that we are using DPT-large to produce the ground truth, hence, other limitations and bias are the same as the ones from DPT.

Training data

The LDM3D model was finetuned on a dataset constructed from a subset of the LAION-400M dataset, a large-scale image-caption dataset that contains over 400 million image-caption pairs.

Finetuning

The fine-tuning process comprises two stages. In the first stage, we train an autoencoder to generate a lower-dimensional, perceptually equivalent data representation. Subsequently, we fine-tune the diffusion model using the frozen autoencoder

Evaluation results

Please refer to Table 1 and Table2 from the paper for quantitative results. The figure below shows some qualitative results comparing our method with (Stable diffusion v1.4)[https://arxiv.org/pdf/2112.10752.pdf] and with (DPT-Large)[https://arxiv.org/pdf/2103.13413.pdf] for the depth maps qualitative results

BibTeX entry and citation info

@misc{stan2023ldm3d,
    title={LDM3D: Latent Diffusion Model for 3D},
    author={Gabriela Ben Melech Stan and Diana Wofk and Scottie Fox and Alex Redden and Will Saxton and Jean Yu and Estelle Aflalo and Shao-Yen Tseng and Fabio Nonato and Matthias Muller and Vasudev Lal},
    year={2023},
    eprint={2305.10853},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}