Files
2nd/10_Wiki/Topic_Prompt/Stable Diffusion.md
T
2026-06-29 22:05:07 +09:00

131 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: stable-diffusion
title: "Stable Diffusion"
category: "AI_and_ML"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["SD", "스테이블 디퓨전", "Latent Diffusion Model", "오픈소스 이미지 AI", "A1111", "ComfyUI", "SDXL"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.92
created_at: 2026-06-26
updated_at: 2026-06-26
review_reason: ""
merge_history: []
tags: ["research", "image Prompt 작성 방법", "Stable Diffusion", "Open Source AI", "Denoising"]
raw_sources: [
"AI for Images: Midjourney, DALL-E, Stable Diffusion, Firefly Complete Guide",
"AI 이미지 프롬프트 엔지니어링의 이론적 기초와 모델별 최적화 실무 방법론",
"Stable Diffusion prompt: a definitive guide - Stable Diffusion Art",
"Flux vs Stable Diffusion vs Midjourney Comparison - Artsmart.ai",
"Midjourney vs Stable Diffusion vs Flux: Which Wins? (2025) - PXZ AI",
"How to Use Negative Prompts in Stable Diffusion (2025) - QWE AI Academy",
"Stable Diffusion Negative Prompt: Optimize Your AI Art - AI Photo Generator",
"How to use positive and negative prompts in Stable Diffusion - Graydient AI"
]
applied_in: ["Meteora_Web_Furniture_Variant_Catalog", "E-commerce_Image_Batch_Automation"]
github_commit: ""
---
# [[Stable Diffusion]]
## 🎯 한 줄 통찰 (One-line insight)
Stable Diffusion은 잠재 공간(Latent Space)에서의 **역확산(Reverse Diffusion) 연산을 사용자에게 완전히 개방**하여, 수학적 가중치 조절과 보조 신경망 결합을 통해 **이미지 생성의 전 과정을 미세 통제할 수 있게 하는 오픈소스 워크호스**이다 [S5, S44, S432].
## 🧠 핵심 개념 (Core concepts)
- **잠재 확산 모델 (Latent Diffusion):** 고해상도 픽셀 공간이 아닌 압축된 잠재 공간에서 연산을 수행하여 계산 효율성을 극대화하고 로컬 환경 구동을 가능케 함 [S432, S433].
- **확장 신경망 (Extensions):** **ControlNet**(기하학적 제어) 및 **LoRA**(미세 조정 모델)를 결합하여 특정 화풍이나 구도를 기하학적으로 강제함 [S5, S433, S1016].
- **가중치 문법 (Weighting Syntax):** 텍스트 임베딩 단계에서 토큰별 물리적 지배력을 숫자로 조율(Factor)하는 연산 체계 [S44, S721].
- **무조건적 샘플링 가이던스 (Negative Prompting):** 생성 과정에서 불필요한 확률 영역으로의 발산을 막는 반발 가드레일을 독립된 입력 필드로 관리 [S45, S46, S1107].
## 🧩 추출된 패턴 (Extracted patterns)
- **조각가 패턴 (Sculptor Pattern):** 노이즈라는 거대한 대리석에서 긍정 프롬프트(목적지)와 부정 프롬프트(경계)라는 치슬(Chisel)을 사용해 형태를 깎아내는 설계 철학 [S803, S1176].
- **프롬프트 스케줄링 (Morphing Pattern):** 생성 단계(Step)별로 피사체나 화풍을 교체하여 글로벌 구도와 마이크로 텍스처를 분리 제어하는 패턴 [S45].
- **계단식 가중치 누적 (Nested Weighting):** 소괄호(`()`)나 대괄호(`[]`)를 중첩 사용하여 특정 키워드의 중요도를 지수적으로 증폭시키거나 감쇄시키는 방식 [S44, S721].
- **점진적 정제 루프 (Iterative Refinement):** 짧은 프롬프트로 시작해 결함을 진단하고, 필요한 기술적 어휘를 최소한으로 추가하며 결과물을 깎아내는 워크플로우 [S1115, S1130].
## ⚖️ 비교 및 선택 기준 (Comparison & decision criteria)
| 항목 (Option) | 장점 | 단점 | 언제 선택 |
|---|---|---|---|
| **Stable Diffusion** | **최대 제어권**, 로컬 실행, 무한한 커스터마이징, 비용 무료 [S5, S13, S804] | 높은 학습 곡선, 하드웨어(GPU) 사양 요구, 품질 불균형 [S13, S806] | **상업용 제품 카탈로그 일관성 유지**, 특정 캐릭터/포즈의 정밀 제어 필요 시 [S5, S11, S809] |
| **Midjourney** | 압도적 미적 품질, 자연어 순응도 높음, 저사양 가능 [S3, S768, S796] | 폐쇄형 시스템, 텍스트 구현 약함, 구독료 발생 [S4, S798] | 신속한 컨셉 아트 및 시각적 영감이 최우선일 때 [S14, S800, S838] |
| **DALL-E 3** | 극강의 자연어 이해, 타이포그래피 정확도 [S4, S48, S1013] | 매개변수 미세 제어 불가, 일러스트 편향 [S5, S48] | 복잡한 상황 묘사나 텍스트 포함 드래프트 제작 시 [S4, S52] |
## 📖 세부 내용 (Details)
### 1. 물리적 노이즈 제어 문법
- **가중치 수식:** `(keyword:factor)` 형태를 취하며, 1.0보다 크면 표현 강도가 증가하고 작으면 약화됨 [S44, S721]. AUTOMATIC1111 환경에서 `(keyword)`는 1.1배, `[keyword]`는 0.9배의 가중치를 가짐 [S44, S721].
- **스케줄링:** `[keyword1 : keyword2 : factor]` 문법을 통해 전체 생성 스텝 중 특정 시점(factor)에서 피사체를 교체할 수 있음 (예: 초기엔 인물 형상, 후기엔 텍스처 반영) [S45].
- **토큰 최적화:** 75(또는 77)토큰 한계를 우회하기 위해 `BREAK` 구문을 사용하여 강제 청크 분할을 적용, 개념 간 간섭을 차단함 [S45, S46].
### 2. 아키텍처 버전별 진화 및 최적화 전략 [S46, S647]
- **V1.5:** 해부학적 데이터가 한정적이므로 인체 교정을 위해 5~15개 내외의 **중량급 네거티브 프롬프트**가 필수적임.
- **XL (SDXL):** 거대해진 듀얼 텍스트 인코더를 사용하여 긴 네거티브 나열 시 오히려 품질이 저하됨. 2~5개의 **극소 품질 지시어**만 권장함.
- **V3 / 3.5:** MMDiT 구조로 텍스트 결합력이 우수해져 네거티브가 거의 불필요하며, 과도한 제약은 본래의 디테일을 훼손함.
### 3. CFG Scale (가이던스) 운용 [S46, S1016, S1142]
- 모델이 프롬프트를 얼마나 엄격하게 준수할지 결정하는 수치로, **7~12 범위**가 창의성과 정확성의 스윗 스팟으로 간주됨.
- CFG가 15 이상으로 높아지면 색상 과포화나 구조 붕괴(Deep-fried artifacts)가 발생할 위험이 비약적으로 상승함.
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
- **프롬프트 길이에 대한 모순:** 과거에는 "masterpiece", "8k" 등 대량의 미사여구가 품질을 높인다고 믿었으나, OpenCLIP 등 최신 인코더에서는 이러한 단어가 **오히려 노이즈를 유발**하거나 성능을 저하시키는 것으로 판명됨 [S45, S646, S725].
- **부정 프롬프트의 한계:** 네거티브 프롬프트는 훈련 데이터에 없는 개념(예: 완벽한 손가락)을 강제할 수 없으며, 단지 낮은 확률의 노이즈 영역으로 밀어내는 역할만 수행함 [S648, S654].
## 🛠️ 적용 사례 (Applied in summary)
- **Meteora Web 가구 카탈로그:** 제품의 원형(Silhouette)을 ControlNet으로 고정하고, Stable Diffusion의 가중치 조율을 통해 **동일 조명/배경 하에 50개 이상의 제품 색상 변체**를 생성하여 비용을 80% 절감함 [S5, S11, S30].
- **E-commerce 배치 자동화:** Python 스크립트와 결합된 ComfyUI 워크플로우를 통해 수백 장의 제품 이미지를 일괄 생성 및 배경 제거(rembg) 처리하는 파이프라인 구축 [S6, S11, S25].
## 💻 코드 패턴 (Code patterns)
### 로컬 환경 구축 패턴 (Windows/NVIDIA)
```bash
# ComfyUI 또는 A1111 구동을 위한 필수 환경
# 사양: Python 3.10.6, NVIDIA GPU (6GB+ VRAM 권장) [S6, S812]
git clone https://github.com/comfyanonymous/ComfyUI.git # 또는 A1111 리포지토리
pip install -r requirements.txt
python main.py # 실행 후 localhost:8188 또는 7860 접속 [S6, S812]
```
### A1111 프롬프트 가중치 응용 패턴
```text
# 특정 요소 강조 및 네거티브 필터링 예시
Prompt: (golden sunrise:1.2), photorealistic, (Hasselblad X2D 100C:1.1)
Negative: (extra fingers:1.4), blurry, low quality, watermark, [shadow]
# ( )는 1.1배 증가, [ ]는 0.9배 감소, 숫자는 직접 지정 [S44, S721, S1017]
```
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual (실무 에이전시의 대량 생산 파이프라인 적용 데이터 기반)
- **출처 신뢰도:** A (공식 문서, 전문 기술 블로그, 커뮤니티 검증 데이터 포함)
- **신뢰 점수:** 0.92
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[image Prompt 작성 방법]]
- **관련 개념:** [[Diffusion Models]], [[Prompt Engineering]], [[ControlNet]], [[Negative Prompt]], [[CFG Scale]]
- **참조 맥락:** 고밀도 제어가 필요한 상업용 시각 자산 제작 및 로컬 하이브리드 워크플로우 설계 시 참조.
## 📚 출처 (Sources)
- [S5] Meteora Web Agency: Total Control with Stable Diffusion
- [S6] ComfyUI Local Installation and Python 3.10 requirements
- [S11] AI for E-commerce: Product Variant Generation Techniques
- [S44] 스테이블 디퓨전 가중치 조절 수식 및 역확산 연산 가이드
- [S45] 프롬프트 스케줄링 및 BREAK 청크 분할 원리
- [S46] 아키텍처 버전별(SD 1.5, XL, 3.5) 네거티브 구성 및 CFG 통제 기준
- [S432] Latent Diffusion 정의 및 훈련 데이터 역확산 프로세스
- [S433] ControlNet 및 LoRA 신경망 확장 기법 정의
- [S647] 모델 버전별 네거티브 프롬프트 행동 차이 분석
- [S721] ( ) 및 [ ] 괄호 가중치 수학적 배수 처리 정의
- [S803] 역확산 과정과 조각가 패턴 비유
- [S804] 스테이블 디퓨전의 오픈소스 특성 및 완전 제어권 정의
- [S812] A1111 설치 단계 및 환경 사양 가이드
- [S1016] CFG Scale 설정 범위(7~12) 및 모델 순응도 제어
- [S1107] Positive/Negative 지시문과 CFG의 균형 제어
- [S1176] 조각가와 치슬(Chisel)의 비유를 통한 프롬프트 설계 철학
## 📝 변경 이력 (Change history)
- 2026-06-26: Initial draft generated via Datacollector_MAC P-Reinforce engine. 로컬 제어 문법과 버전별 최적화 전략 합성 완료.