|
<!--Copyright 2024 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. |
|
--> |
|
|
|
# ์ ์ด๋ ์์ฑ |
|
|
|
Diffusion ๋ชจ๋ธ์ ์ํด ์์ฑ๋ ์ถ๋ ฅ์ ์ ์ดํ๋ ๊ฒ์ ์ปค๋ฎค๋ํฐ์์ ์ค๋ซ๋์ ์ถ๊ตฌํด ์์ผ๋ฉฐ ํ์ฌ ํ๋ฐํ ์ฐ๊ตฌ ์ฃผ์ ์
๋๋ค. ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ง์ diffusion ๋ชจ๋ธ์์๋ ์ด๋ฏธ์ง์ ํ
์คํธ ํ๋กฌํํธ ๋ฑ ์
๋ ฅ์ ๋ฏธ๋ฌํ ๋ณํ๋ก ์ธํด ์ถ๋ ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ์ด์์ ์ธ ์ธ๊ณ์์๋ ์๋ฏธ๊ฐ ์ ์ง๋๊ณ ๋ณ๊ฒฝ๋๋ ๋ฐฉ์์ ์ ์ดํ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค. |
|
|
|
์๋ฏธ ๋ณด์กด์ ๋๋ถ๋ถ์ ์๋ ์
๋ ฅ์ ๋ณํ๋ฅผ ์ถ๋ ฅ์ ๋ณํ์ ์ ํํ๊ฒ ๋งคํํ๋ ๊ฒ์ผ๋ก ์ถ์๋ฉ๋๋ค. ์ฆ, ํ๋กฌํํธ์์ ํผ์ฌ์ฒด์ ํ์ฉ์ฌ๋ฅผ ์ถ๊ฐํ๋ฉด ์ ์ฒด ์ด๋ฏธ์ง๊ฐ ๋ณด์กด๋๊ณ ๋ณ๊ฒฝ๋ ํผ์ฌ์ฒด๋ง ์์ ๋ฉ๋๋ค. ๋๋ ํน์ ํผ์ฌ์ฒด์ ์ด๋ฏธ์ง๋ฅผ ๋ณํํ๋ฉด ํผ์ฌ์ฒด์ ํฌ์ฆ๊ฐ ์ ์ง๋ฉ๋๋ค. |
|
|
|
์ถ๊ฐ์ ์ผ๋ก ์์ฑ๋ ์ด๋ฏธ์ง์ ํ์ง์๋ ์๋ฏธ ๋ณด์กด ์ธ์๋ ์ํฅ์ ๋ฏธ์น๊ณ ์ ํ๋ ํ์ง์ด ์์ต๋๋ค. ์ฆ, ์ผ๋ฐ์ ์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ํ์ง์ด ์ข๊ฑฐ๋ ํน์ ์คํ์ผ์ ๊ณ ์ํ๊ฑฐ๋ ์ฌ์ค์ ์ด๊ธฐ๋ฅผ ์ํฉ๋๋ค. |
|
|
|
diffusion ๋ชจ๋ธ ์์ฑ์ ์ ์ดํ๊ธฐ ์ํด `diffusers`๊ฐ ์ง์ํ๋ ๋ช ๊ฐ์ง ๊ธฐ์ ์ ๋ฌธ์ํํฉ๋๋ค. ๋ง์ ๋ถ๋ถ์ด ์ต์ฒจ๋จ ์ฐ๊ตฌ์ด๋ฉฐ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค. ๋ช
ํํ ์ค๋ช
์ด ํ์ํ๊ฑฐ๋ ์ ์ ์ฌํญ์ด ์์ผ๋ฉด ์ฃผ์ ํ์ง ๋ง์๊ณ [ํฌ๋ผ](https://discuss.huggingface.co/) ๋๋ [GitHub ์ด์](https://github.com/huggingface/diffusers/issues)์์ ํ ๋ก ์ ์์ํ์ธ์. |
|
|
|
์์ฑ ์ ์ด ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ๋ต์ ์ธ ์ค๋ช
๊ณผ ๊ธฐ์ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ธฐ์ ์ ๋ํ ์์ธํ ์ค๋ช
์ ํ์ดํ๋ผ์ธ์์ ๋งํฌ๋ ์๋ณธ ๋
ผ๋ฌธ์ ์ฐธ์กฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. |
|
|
|
์ฌ์ฉ ์ฌ๋ก์ ๋ฐ๋ผ ์ ์ ํ ๊ธฐ์ ์ ์ ํํด์ผ ํฉ๋๋ค. ๋ง์ ๊ฒฝ์ฐ ์ด๋ฌํ ๊ธฐ๋ฒ์ ๊ฒฐํฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ
์คํธ ๋ฐ์ ๊ณผ SEGA๋ฅผ ๊ฒฐํฉํ์ฌ ํ
์คํธ ๋ฐ์ ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์ถ๋ ฅ์ ๋ ๋ง์ ์๋ฏธ์ ์ง์นจ์ ์ ๊ณตํ ์ ์์ต๋๋ค. |
|
|
|
๋ณ๋์ ์ธ๊ธ์ด ์๋ ํ, ์ด๋ฌํ ๊ธฐ๋ฒ์ ๊ธฐ์กด ๋ชจ๋ธ๊ณผ ํจ๊ป ์๋ํ๋ฉฐ ์์ฒด ๊ฐ์ค์น๊ฐ ํ์ํ์ง ์์ ๊ธฐ๋ฒ์
๋๋ค. |
|
|
|
1. [Instruct Pix2Pix](#instruct-pix2pix) |
|
2. [Pix2Pix Zero](#pix2pixzero) |
|
3. [Attend and Excite](#attend-and-excite) |
|
4. [Semantic Guidance](#semantic-guidance) |
|
5. [Self-attention Guidance](#self-attention-guidance) |
|
6. [Depth2Image](#depth2image) |
|
7. [MultiDiffusion Panorama](#multidiffusion-panorama) |
|
8. [DreamBooth](#dreambooth) |
|
9. [Textual Inversion](#textual-inversion) |
|
10. [ControlNet](#controlnet) |
|
11. [Prompt Weighting](#prompt-weighting) |
|
12. [Custom Diffusion](#custom-diffusion) |
|
13. [Model Editing](#model-editing) |
|
14. [DiffEdit](#diffedit) |
|
15. [T2I-Adapter](#t2i-adapter) |
|
|
|
ํธ์๋ฅผ ์ํด, ์ถ๋ก ๋ง ํ๊ฑฐ๋ ํ์ธํ๋/ํ์ตํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. |
|
|
|
| **Method** | **Inference only** | **Requires training /<br> fine-tuning** | **Comments** | |
|
| :-------------------------------------------------: | :----------------: | :-------------------------------------: | :---------------------------------------------------------------------------------------------: | |
|
| [Instruct Pix2Pix](#instruct-pix2pix) | โ
| โ | Can additionally be<br>fine-tuned for better <br>performance on specific <br>edit instructions. | |
|
| [Pix2Pix Zero](#pix2pixzero) | โ
| โ | | |
|
| [Attend and Excite](#attend-and-excite) | โ
| โ | | |
|
| [Semantic Guidance](#semantic-guidance) | โ
| โ | | |
|
| [Self-attention Guidance](#self-attention-guidance) | โ
| โ | | |
|
| [Depth2Image](#depth2image) | โ
| โ | | |
|
| [MultiDiffusion Panorama](#multidiffusion-panorama) | โ
| โ | | |
|
| [DreamBooth](#dreambooth) | โ | โ
| | |
|
| [Textual Inversion](#textual-inversion) | โ | โ
| | |
|
| [ControlNet](#controlnet) | โ
| โ | A ControlNet can be <br>trained/fine-tuned on<br>a custom conditioning. | |
|
| [Prompt Weighting](#prompt-weighting) | โ
| โ | | |
|
| [Custom Diffusion](#custom-diffusion) | โ | โ
| | |
|
| [Model Editing](#model-editing) | โ
| โ | | |
|
| [DiffEdit](#diffedit) | โ
| โ | | |
|
| [T2I-Adapter](#t2i-adapter) | โ
| โ | | |
|
|
|
## Pix2Pix Instruct |
|
|
|
[Paper](https://arxiv.org/abs/2211.09800) |
|
|
|
[Instruct Pix2Pix](../api/pipelines/stable_diffusion/pix2pix) ๋ ์
๋ ฅ ์ด๋ฏธ์ง ํธ์ง์ ์ง์ํ๊ธฐ ์ํด stable diffusion์์ ๋ฏธ์ธ-์กฐ์ ๋์์ต๋๋ค. ์ด๋ฏธ์ง์ ํธ์ง์ ์ค๋ช
ํ๋ ํ๋กฌํํธ๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ ํธ์ง๋ ์ด๋ฏธ์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
|
Instruct Pix2Pix๋ [InstructGPT](https://openai.com/blog/instruction-following/)์ ๊ฐ์ ํ๋กฌํํธ์ ์ ์๋ํ๋๋ก ๋ช
์์ ์ผ๋ก ํ๋ จ๋์์ต๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion/pix2pix)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Pix2Pix Zero |
|
|
|
[Paper](https://arxiv.org/abs/2302.03027) |
|
|
|
[Pix2Pix Zero](../api/pipelines/stable_diffusion/pix2pix_zero)๋ฅผ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ธ ์ด๋ฏธ์ง ์๋ฏธ๋ฅผ ์ ์งํ๋ฉด์ ํ ๊ฐ๋
์ด๋ ํผ์ฌ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ๋
์ด๋ ํผ์ฌ์ฒด๋ก ๋ณํ๋๋๋ก ์ด๋ฏธ์ง๋ฅผ ์์ ํ ์ ์์ต๋๋ค. |
|
|
|
๋
ธ์ด์ฆ ์ ๊ฑฐ ํ๋ก์ธ์ค๋ ํ ๊ฐ๋
์ ์๋ฒ ๋ฉ์์ ๋ค๋ฅธ ๊ฐ๋
์ ์๋ฒ ๋ฉ์ผ๋ก ์๋ด๋ฉ๋๋ค. ์ค๊ฐ ์ ๋ณต(intermediate latents)์ ๋๋
ธ์ด์ง(denoising?) ํ๋ก์ธ์ค ์ค์ ์ต์ ํ๋์ด ์ฐธ์กฐ ์ฃผ์ ์ง๋(reference attention maps)๋ฅผ ํฅํด ๋์๊ฐ๋๋ค. ์ฐธ์กฐ ์ฃผ์ ์ง๋(reference attention maps)๋ ์
๋ ฅ ์ด๋ฏธ์ง์ ๋
ธ์ด์ฆ ์ ๊ฑฐ(?) ํ๋ก์ธ์ค์์ ๋์จ ๊ฒ์ผ๋ก ์๋ฏธ ๋ณด์กด์ ์ฅ๋ คํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. |
|
|
|
Pix2Pix Zero๋ ํฉ์ฑ ์ด๋ฏธ์ง์ ์ค์ ์ด๋ฏธ์ง๋ฅผ ํธ์งํ๋ ๋ฐ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. |
|
|
|
- ํฉ์ฑ ์ด๋ฏธ์ง๋ฅผ ํธ์งํ๋ ค๋ฉด ๋จผ์ ์บก์
์ด ์ง์ ๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค. |
|
๋ค์์ผ๋ก ํธ์งํ ์ปจ์
๊ณผ ์๋ก์ด ํ๊ฒ ์ปจ์
์ ๋ํ ์ด๋ฏธ์ง ์บก์
์ ์์ฑํฉ๋๋ค. ์ด๋ฅผ ์ํด [Flan-T5](https://huggingface.co/docs/transformers/model_doc/flan-t5)์ ๊ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ
์คํธ ์ธ์ฝ๋๋ฅผ ํตํด ์์ค ๊ฐ๋
๊ณผ ๋์ ๊ฐ๋
๋ชจ๋์ ๋ํ "ํ๊ท " ํ๋กฌํํธ ์๋ฒ ๋ฉ์ ์์ฑํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, ํฉ์ฑ ์ด๋ฏธ์ง๋ฅผ ํธ์งํ๊ธฐ ์ํด pix2pix-zero ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. |
|
- ์ค์ ์ด๋ฏธ์ง๋ฅผ ํธ์งํ๋ ค๋ฉด ๋จผ์ [BLIP](https://huggingface.co/docs/transformers/model_doc/blip)๊ณผ ๊ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ์บก์
์ ์์ฑํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ๋กฌํํธ์ ์ด๋ฏธ์ง์ ddim ๋ฐ์ ์ ์ ์ฉํ์ฌ "์ญ(inverse)" latents์ ์์ฑํฉ๋๋ค. ์ด์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ค ๋ฐ ๋์ ๊ฐ๋
๋ชจ๋์ ๋ํ "ํ๊ท (mean)" ํ๋กฌํํธ ์๋ฒ ๋ฉ์ด ์์ฑ๋๊ณ ๋ง์ง๋ง์ผ๋ก "์ญ(inverse)" latents์ ๊ฒฐํฉ๋ pix2pix-zero ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ฏธ์ง๋ฅผ ํธ์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. |
|
|
|
<Tip> |
|
|
|
Pix2Pix Zero๋ '์ ๋ก ์ท(zero-shot)' ์ด๋ฏธ์ง ํธ์ง์ด ๊ฐ๋ฅํ ์ต์ด์ ๋ชจ๋ธ์
๋๋ค. |
|
์ฆ, ์ด ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ๋ฐ ์๋น์์ฉ GPU์์ 1๋ถ ์ด๋ด์ ์ด๋ฏธ์ง๋ฅผ ํธ์งํ ์ ์์ต๋๋ค(../api/pipelines/stable_diffusion/pix2pix_zero#usage-example). |
|
|
|
</Tip> |
|
|
|
์์์ ์ธ๊ธํ๋ฏ์ด Pix2Pix Zero์๋ ํน์ ๊ฐ๋
์ผ๋ก ์ธ๋๋ฅผ ์ ๋ํ๊ธฐ ์ํด (UNet, VAE ๋๋ ํ
์คํธ ์ธ์ฝ๋๊ฐ ์๋) latents์ ์ต์ ํํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค.์ฆ, ์ ์ฒด ํ์ดํ๋ผ์ธ์ ํ์ค [StableDiffusionPipeline](../api/pipelines/stable_diffusion/text2img)๋ณด๋ค ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ ์ ์์ต๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion/pix2pix_zero)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Attend and Excite |
|
|
|
[Paper](https://arxiv.org/abs/2301.13826) |
|
|
|
[Attend and Excite](../api/pipelines/stable_diffusion/attend_and_excite)๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋กฌํํธ์ ํผ์ฌ์ฒด๊ฐ ์ต์ข
์ด๋ฏธ์ง์ ์ถฉ์คํ๊ฒ ํํ๋๋๋ก ํ ์ ์์ต๋๋ค. |
|
|
|
์ด๋ฏธ์ง์ ์กด์ฌํด์ผ ํ๋ ํ๋กฌํํธ์ ํผ์ฌ์ฒด์ ํด๋นํ๋ ์ผ๋ จ์ ํ ํฐ ์ธ๋ฑ์ค๊ฐ ์
๋ ฅ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ๋
ธ์ด์ฆ ์ ๊ฑฐ ์ค์ ๊ฐ ํ ํฐ ์ธ๋ฑ์ค๋ ์ด๋ฏธ์ง์ ์ต์ ํ ํจ์น ์ด์์ ๋ํด ์ต์ ์ฃผ์ ์๊ณ๊ฐ์ ๊ฐ๋๋ก ๋ณด์ฅ๋ฉ๋๋ค. ๋ชจ๋ ํผ์ฌ์ฒด ํ ํฐ์ ๋ํด ์ฃผ์ ์๊ณ๊ฐ์ด ํต๊ณผ๋ ๋๊น์ง ๋
ธ์ด์ฆ ์ ๊ฑฐ ํ๋ก์ธ์ค ์ค์ ์ค๊ฐ ์ ๋ณต๊ธฐ๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ์ต์ ํ๋์ด ๊ฐ์ฅ ์ํํ ์ทจ๊ธ๋๋ ํผ์ฌ์ฒด ํ ํฐ์ ์ฃผ์๋ ฅ์ ๊ฐํํฉ๋๋ค. |
|
|
|
Pix2Pix Zero์ ๋ง์ฐฌ๊ฐ์ง๋ก Attend and Excite ์ญ์ ํ์ดํ๋ผ์ธ์ ๋ฏธ๋ ์ต์ ํ ๋ฃจํ(์ฌ์ ํ์ต๋ ๊ฐ์ค์น๋ฅผ ๊ทธ๋๋ก ๋ ์ฑ)๊ฐ ํฌํจ๋๋ฉฐ, ์ผ๋ฐ์ ์ธ 'StableDiffusionPipeline'๋ณด๋ค ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ ์ ์์ต๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion/attend_and_excite)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Semantic Guidance (SEGA) |
|
|
|
[Paper](https://arxiv.org/abs/2301.12247) |
|
|
|
์๋ฏธ์ ๋(SEGA)๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง์์ ํ๋ ์ด์์ ์ปจ์
์ ์ ์ฉํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ์ปจ์
์ ๊ฐ๋๋ ์กฐ์ ํ ์ ์์ต๋๋ค. ์ฆ, ์ค๋ง์ผ ์ปจ์
์ ์ฌ์ฉํ์ฌ ์ธ๋ฌผ ์ฌ์ง์ ์ค๋ง์ผ์ ์ ์ง์ ์ผ๋ก ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์์ต๋๋ค. |
|
|
|
๋ถ๋ฅ๊ธฐ ๋ฌด๋ฃ ์๋ด(classifier free guidance)๊ฐ ๋น ํ๋กฌํํธ ์
๋ ฅ์ ํตํด ์๋ด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ, SEGA๋ ๊ฐ๋
ํ๋กฌํํธ์ ๋ํ ์๋ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๊ฐ๋
ํ๋กฌํํธ๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ ์ฉํ ์ ์์ต๋๋ค. ๊ฐ ๊ฐ๋
ํ๋กฌํํธ๋ ์๋ด๊ฐ ๊ธ์ ์ ์ผ๋ก ์ ์ฉ๋๋์ง ๋๋ ๋ถ์ ์ ์ผ๋ก ์ ์ฉ๋๋์ง์ ๋ฐ๋ผ ํด๋น ๊ฐ๋
์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค. |
|
|
|
Pix2Pix Zero ๋๋ Attend and Excite์ ๋ฌ๋ฆฌ SEGA๋ ๋ช
์์ ์ธ ๊ทธ๋ผ๋ฐ์ด์
๊ธฐ๋ฐ ์ต์ ํ๋ฅผ ์ํํ๋ ๋์ ํ์ฐ ํ๋ก์ธ์ค์ ์ง์ ์ํธ ์์ฉํฉ๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/semantic_stable_diffusion)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Self-attention Guidance (SAG) |
|
|
|
[Paper](https://arxiv.org/abs/2210.00939) |
|
|
|
[์๊ธฐ ์ฃผ์ ์๋ด](../api/pipelines/stable_diffusion/self_attention_guidance)๋ ์ด๋ฏธ์ง์ ์ ๋ฐ์ ์ธ ํ์ง์ ๊ฐ์ ํฉ๋๋ค. |
|
|
|
SAG๋ ๊ณ ๋น๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ง ์์ ์์ธก์์ ์์ ํ ์กฐ๊ฑดํ๋ ์ด๋ฏธ์ง์ ์ด๋ฅด๊ธฐ๊น์ง ๊ฐ์ด๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ณ ๋น๋ ๋ํ
์ผ์ UNet ์๊ธฐ ์ฃผ์ ๋งต์์ ์ถ์ถ๋ฉ๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion/self_attention_guidance)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Depth2Image |
|
|
|
[Project](https://huggingface.co/stabilityai/stable-diffusion-2-depth) |
|
|
|
[Depth2Image](../pipelines/stable_diffusion_2#depthtoimage)๋ ํ
์คํธ ์๋ด ์ด๋ฏธ์ง ๋ณํ์ ๋ํ ์๋งจํฑ์ ๋ ์ ๋ณด์กดํ๋๋ก ์์ ์ ํ์ฐ์์ ๋ฏธ์ธ ์กฐ์ ๋์์ต๋๋ค. |
|
|
|
์๋ณธ ์ด๋ฏธ์ง์ ๋จ์(monocular) ๊น์ด ์ถ์ ์น๋ฅผ ์กฐ๊ฑด์ผ๋ก ํฉ๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion_2#depthtoimage)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
<Tip> |
|
|
|
InstructPix2Pix์ Pix2Pix Zero์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ค์ํ ์ฐจ์ด์ ์ ์ ์์ ๊ฒฝ์ฐ |
|
๋ ์ฌ์ ํ์ต๋ ๊ฐ์ค์น๋ฅผ ๋ฏธ์ธ ์กฐ์ ํ๋ ๋ฐ๋ฉด, ํ์๋ ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์
๋๋ค. ์ฆ, ๋ค์์ ์ํํ ์ ์์ต๋๋ค. |
|
์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์์ ์ ํ์ฐ ๋ชจ๋ธ์ Pix2Pix Zero๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค. |
|
|
|
</Tip> |
|
|
|
## MultiDiffusion Panorama |
|
|
|
[Paper](https://arxiv.org/abs/2302.08113) |
|
|
|
MultiDiffusion์ ์ฌ์ ํ์ต๋ diffusion model์ ํตํด ์๋ก์ด ์์ฑ ํ๋ก์ธ์ค๋ฅผ ์ ์ํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๊ณ ํ์ง์ ๋ค์ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐ ์ฝ๊ฒ ์ ์ฉํ ์ ์๋ ์ฌ๋ฌ diffusion ์์ฑ ๋ฐฉ๋ฒ์ ํ๋๋ก ๋ฌถ์ต๋๋ค. ๊ฒฐ๊ณผ๋ ์ํ๋ ์ข
ํก๋น(์: ํ๋
ธ๋ผ๋ง) ๋ฐ ํ์ดํธํ ๋ถํ ๋ง์คํฌ์์ ๋ฐ์ด๋ฉ ๋ฐ์ค์ ์ด๋ฅด๋ ๊ณต๊ฐ ์๋ด ์ ํธ์ ๊ฐ์ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ์ ์ด๋ฅผ ์ค์ํฉ๋๋ค. |
|
[MultiDiffusion ํ๋
ธ๋ผ๋ง](../api/pipelines/stable_diffusion/panorama)๋ฅผ ์ฌ์ฉํ๋ฉด ์์์ ์ข
ํก๋น(์: ํ๋
ธ๋ผ๋ง)๋ก ๊ณ ํ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. |
|
|
|
ํ๋
ธ๋ผ๋ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion/panorama)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## ๋๋ง์ ๋ชจ๋ธ ํ์ธํ๋ |
|
|
|
์ฌ์ ํ์ต๋ ๋ชจ๋ธ ์ธ์๋ Diffusers๋ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ๋ฐ์ดํฐ์ ๋ํด ๋ชจ๋ธ์ ํ์ธํ๋ํ ์ ์๋ ํ์ต ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค. |
|
|
|
## DreamBooth |
|
|
|
[DreamBooth](../training/dreambooth)๋ ๋ชจ๋ธ์ ํ์ธํ๋ํ์ฌ ์๋ก์ด ์ฃผ์ ์ ๋ํด ๊ฐ๋ฅด์นฉ๋๋ค. ์ฆ, ํ ์ฌ๋์ ์ฌ์ง ๋ช ์ฅ์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์คํ์ผ๋ก ๊ทธ ์ฌ๋์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../training/dreambooth)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Textual Inversion |
|
|
|
[Textual Inversion](../training/text_inversion)์ ๋ชจ๋ธ์ ํ์ธํ๋ํ์ฌ ์๋ก์ด ๊ฐ๋
์ ๋ํด ํ์ต์ํต๋๋ค. ์ฆ, ํน์ ์คํ์ผ์ ์ํธ์ ์ฌ์ง ๋ช ์ฅ์ ์ฌ์ฉํ์ฌ ํด๋น ์คํ์ผ์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../training/text_inversion)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## ControlNet |
|
|
|
[Paper](https://arxiv.org/abs/2302.05543) |
|
|
|
[ControlNet](../api/pipelines/stable_diffusion/controlnet)์ ์ถ๊ฐ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ ๋ณด์กฐ ๋คํธ์ํฌ์
๋๋ค. |
|
๊ฐ์ฅ์๋ฆฌ ๊ฐ์ง, ๋์, ๊น์ด ๋งต, ์๋ฏธ์ ์ธ๊ทธ๋จผํธ์ ๊ฐ์ ๋ค์ํ ์กฐ๊ฑด์ ๋ํด ํ๋ จ๋ 8๊ฐ์ ํ์ค ์ฌ์ ํ๋ จ๋ ControlNet์ด ์์ต๋๋ค, |
|
๊น์ด ๋งต, ์๋งจํฑ ์ธ๊ทธ๋จผํ
์ด์
๊ณผ ๊ฐ์ ๋ค์ํ ์กฐ๊ฑด์ผ๋ก ํ๋ จ๋ 8๊ฐ์ ํ์ค ์ ์ด๋ง์ด ์์ต๋๋ค. |
|
|
|
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [์ฌ๊ธฐ](../api/pipelines/stable_diffusion/controlnet)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Prompt Weighting |
|
|
|
ํ๋กฌํํธ ๊ฐ์ค์น๋ ํ
์คํธ์ ํน์ ๋ถ๋ถ์ ๋ ๋ง์ ๊ด์ฌ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ ๊ฐ๋จํ ๊ธฐ๋ฒ์
๋๋ค. |
|
์
๋ ฅ์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ ๊ฐ๋จํ ๊ธฐ๋ฒ์
๋๋ค. |
|
|
|
์์ธํ ์ค๋ช
๊ณผ ์์๋ [์ฌ๊ธฐ](../using-diffusers/weighted_prompts)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Custom Diffusion |
|
|
|
[Custom Diffusion](../training/custom_diffusion)์ ์ฌ์ ํ์ต๋ text-to-image ๊ฐ ํ์ฐ ๋ชจ๋ธ์ ๊ต์ฐจ ๊ด์ฌ๋ ๋งต๋ง ๋ฏธ์ธ ์กฐ์ ํฉ๋๋ค. |
|
๋ํ textual inversion์ ์ถ๊ฐ๋ก ์ํํ ์ ์์ต๋๋ค. ์ค๊ณ์ ๋ค์ค ๊ฐ๋
ํ๋ จ์ ์ง์ํฉ๋๋ค. |
|
DreamBooth ๋ฐ Textual Inversion ๋ง์ฐฌ๊ฐ์ง๋ก, ์ฌ์ฉ์ ์ง์ ํ์ฐ์ ์ฌ์ ํ์ต๋ text-to-image diffusion ๋ชจ๋ธ์ ์๋ก์ด ๊ฐ๋
์ ํ์ต์์ผ ๊ด์ฌ ์๋ ๊ฐ๋
๊ณผ ๊ด๋ จ๋ ์ถ๋ ฅ์ ์์ฑํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค. |
|
|
|
์์ธํ ์ค๋ช
์ [๊ณต์ ๋ฌธ์](../training/custom_diffusion)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## Model Editing |
|
|
|
[Paper](https://arxiv.org/abs/2303.08084) |
|
|
|
[ํ
์คํธ-์ด๋ฏธ์ง ๋ชจ๋ธ ํธ์ง ํ์ดํ๋ผ์ธ](../api/pipelines/model_editing)์ ์ฌ์ฉํ๋ฉด ์ฌ์ ํ์ต๋ text-to-image diffusion ๋ชจ๋ธ์ด ์
๋ ฅ ํ๋กฌํํธ์ ์๋ ํผ์ฌ์ฒด์ ๋ํด ๋ด๋ฆด ์ ์๋ ์๋ชป๋ ์์์ ๊ฐ์ ์ ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. |
|
์๋ฅผ ๋ค์ด, ์์ ์ ํ์ฐ์ "A pack of roses"์ ๋ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ฉด ์์ฑ๋ ์ด๋ฏธ์ง์ ์ฅ๋ฏธ๋ ๋นจ๊ฐ์์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด ํ์ดํ๋ผ์ธ์ ์ด๋ฌํ ๊ฐ์ ์ ๋ณ๊ฒฝํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. |
|
|
|
์์ธํ ์ค๋ช
์ [๊ณต์ ๋ฌธ์](../api/pipelines/model_editing)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## DiffEdit |
|
|
|
[Paper](https://arxiv.org/abs/2210.11427) |
|
|
|
[DiffEdit](../api/pipelines/diffedit)๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ณธ ์
๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์ต๋ํ ๋ณด์กดํ๋ฉด์ ์
๋ ฅ ํ๋กฌํํธ์ ํจ๊ป ์
๋ ฅ ์ด๋ฏธ์ง์ ์๋ฏธ๋ก ์ ํธ์ง์ด ๊ฐ๋ฅํฉ๋๋ค. |
|
|
|
|
|
์์ธํ ์ค๋ช
์ [๊ณต์ ๋ฌธ์](../api/pipelines/diffedit)๋ฅผ ์ฐธ์กฐํ์ธ์. |
|
|
|
## T2I-Adapter |
|
|
|
[Paper](https://arxiv.org/abs/2302.08453) |
|
|
|
[T2I-์ด๋ํฐ](../api/pipelines/stable_diffusion/adapter)๋ ์ถ๊ฐ์ ์ธ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ auxiliary ๋คํธ์ํฌ์
๋๋ค. |
|
๊ฐ์ฅ์๋ฆฌ ๊ฐ์ง, ์ค์ผ์น, depth maps, semantic segmentations์ ๊ฐ์ ๋ค์ํ ์กฐ๊ฑด์ ๋ํด ํ๋ จ๋ 8๊ฐ์ ํ์ค ์ฌ์ ํ๋ จ๋ adapter๊ฐ ์์ต๋๋ค, |
|
|
|
[๊ณต์ ๋ฌธ์](api/pipelines/stable_diffusion/adapter)์์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์. |