mirror of
https://github.com/huggingface/diffusers.git
synced 2026-01-27 17:22:53 +03:00
57 lines
2.7 KiB
Plaintext
57 lines
2.7 KiB
Plaintext
<!--Copyright 2023 The HuggingFace Team. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
|
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations under the License.
|
|
-->
|
|
|
|
# Text-guided depth-to-image generation
|
|
|
|
[[open-in-colab]]
|
|
|
|
The [`StableDiffusionDepth2ImgPipeline`] lets you pass a text prompt and an initial image to condition the generation of new images. In addition, you can also pass a `depth_map` to preserve the image structure. If no `depth_map` is provided, the pipeline automatically predicts the depth via an integrated [depth-estimation model](https://github.com/isl-org/MiDaS).
|
|
|
|
Start by creating an instance of the [`StableDiffusionDepth2ImgPipeline`]:
|
|
|
|
```python
|
|
import torch
|
|
import requests
|
|
from PIL import Image
|
|
|
|
from diffusers import StableDiffusionDepth2ImgPipeline
|
|
|
|
pipe = StableDiffusionDepth2ImgPipeline.from_pretrained(
|
|
"stabilityai/stable-diffusion-2-depth",
|
|
torch_dtype=torch.float16,
|
|
).to("cuda")
|
|
```
|
|
|
|
Now pass your prompt to the pipeline. You can also pass a `negative_prompt` to prevent certain words from guiding how an image is generated:
|
|
|
|
```python
|
|
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
|
|
init_image = Image.open(requests.get(url, stream=True).raw)
|
|
prompt = "two tigers"
|
|
n_prompt = "bad, deformed, ugly, bad anatomy"
|
|
image = pipe(prompt=prompt, image=init_image, negative_prompt=n_prompt, strength=0.7).images[0]
|
|
image
|
|
```
|
|
|
|
| Input | Output |
|
|
|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
|
|
| <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/coco-cats.png" width="500"/> | <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/depth2img-tigers.png" width="500"/> |
|
|
|
|
Play around with the Spaces below and see if you notice a difference between generated images with and without a depth map!
|
|
|
|
<iframe
|
|
src="https://radames-stable-diffusion-depth2img.hf.space"
|
|
frameborder="0"
|
|
width="850"
|
|
height="500"
|
|
></iframe>
|