|
|
|
|
|
## Examples |
|
|
|
Using the [🤗's Diffusers library](https://github.com/huggingface/diffusers) in a simple and efficient manner. |
|
|
|
```python |
|
from PIL import Image |
|
import os |
|
import torch |
|
from diffusers import StableDiffusionUpscaleLDM3DPipeline, StableDiffusionLDM3DPipeline |
|
|
|
|
|
#Generate a rgb/depth output from LDM3D |
|
pipe_ldm3d = StableDiffusionLDM3DPipeline.from_pretrained("Intel/ldm3d-4c") |
|
pipe_ldm3d.to("cuda") |
|
|
|
prompt =f"A picture of some lemons on a table" |
|
output = pipe_ldm3d(prompt) |
|
rgb_image, depth_image = output.rgb, output.depth |
|
rgb_image[0].save(f"lemons_ldm3d_rgb.jpg") |
|
depth_image[0].save(f"lemons_ldm3d_depth.png") |
|
|
|
|
|
#Upscale the previous output to a resolution of (1024, 1024) |
|
pipe_ldm3d_upscale = StableDiffusionUpscaleLDM3DPipeline.from_pretrained("Intel/ldm3d-sr") |
|
pipe_ldm3d_upscale.to("cuda") |
|
|
|
low_res_img = Image.open(f"lemons_ldm3d_rgb.jpg").convert("RGB") |
|
low_res_depth = Image.open(f"lemons_ldm3d_depth.png").convert("L") |
|
outputs = pipe_ldm3d_upscale(prompt="high quality high resolution uhd 4k image", rgb=low_res_img, depth=low_res_depth, num_inference_steps=50, target_res=[1024, 1024]) |
|
|
|
upscaled_rgb, upscaled_depth =outputs.rgb[0], outputs.depth[0] |
|
upscaled_rgb.save(f"upscaled_lemons_rgb.png") |
|
upscaled_depth.save(f"upscaled_lemons_depth.png") |
|
``` |
|
|