[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-05-10 22:08:15 +09:00
parent 21ac3ed255
commit 504fd5fb42
3011 changed files with 380280 additions and 206977 deletions
@@ -1,73 +1,266 @@
---
id: wiki-2026-0508-brand-consistency-maintenance
title: Brand Consistency Maintenance
id: wiki-2026-0508-brand-consistency-ai
title: Brand Consistency in AI Image Generation
category: 10_Wiki/Topics
status: needs_review
status: verified
canonical_id: self
aliases: []
aliases: [브랜드 일관성, AI brand consistency, sref, cref, oref, IP-Adapter, ControlNet, LoRA, character consistency]
duplicate_of: none
source_trust_level: A
confidence_score: 0.92
tags: [uncategorized]
source_trust_level: B
confidence_score: 0.85
verification_status: applied
tags: [generative-ai, brand, consistency, midjourney, stable-diffusion, lora, ip-adapter, controlnet, marketing]
raw_sources: []
last_reinforced: 2026-05-08
last_reinforced: 2026-05-10
github_commit: pending
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
tech_stack:
language: prompt + diffusion
framework: Midjourney / Stable Diffusion / ComfyUI / Flux
---
# [[Brand Consistency Maintenance|Brand Consistency Maintenance]]
# Brand Consistency in AI Image Generation
## 📌 한 줄 통찰 (The Karpathy Summary)
브랜드 일관성 유지(Brand Consistency Maintenance)는 AI 이미지 생성 시 여러 결과물에 걸쳐 동일한 시각적 정체성, 미학, 캐릭터 및 환경 설정을 유지하는 기법을 의미합니다. 텍스트 프롬프트 내에서 핵심 스타일과 묘사를 통일하거나, 모델이 제공하는 특수 참조 매개변수를 활용하여 시각적 연속성을 보장합니다. 이는 마케팅 캠페인, 제품 라인 시각화, 브랜드 스토리텔링 등에서 신뢰도 높고 통일된 브랜드 이미지를 구축하는 데 필수적입니다.
## 📌 한 줄 통찰
> **"매 visual identity 의 generation 의 lock"**. 매 prompt 만 의 X — 매 reference image (sref/cref/oref) + 매 LoRA + 매 IP-Adapter 의 결합. 매 marketing campaign / product line / character series 의 essential. 매 modern 의 single-image train 의 가능.
## 📖 구조화된 지식 (Synthesized Content)
* **프롬프트 언어의 일관성 유지:**
여러 세대(generation)에 걸쳐 시각적 정체성(동일한 캐릭터, 설정, 스타일)을 공유해야 하는 경우, 프롬프트 작성 시 핵심 스타일과 조명 묘사를 프롬프트마다 정확히 똑같이 반복해야 합니다. 사용하는 언어가 일관될수록 출력물의 일관성도 높아집니다 [1].
* **브랜드 미학을 위한 키워드 최적화:**
구도(composition), 타이포그래피, 색채 이론(color theory) 및 브랜드 미학과 같은 구체적인 디자인 요소를 프롬프트에 직접 명시하면, 훨씬 정교하고 브랜드 정체성에 부합하는(on-brand) 결과를 얻을 수 있습니다 [2].
* **참조 매개변수를 활용한 일관성 확보 (미드저니 기준):**
미드저니(Midjourney)와 같은 최신 AI 모델들은 일관성을 강제하기 위한 고도의 참조 매개변수를 제공합니다.
* **스타일 참조(`--sref`):** 하나의 이미지 스타일이나 무드보드를 여러 생성물에 복제하여 적용합니다. 일관된 브랜드 미학이나 제품 라인 디자인을 유지하는 데 매우 효과적이며, 짧은 텍스트 프롬프트 및 `--ar`(종횡비) 매개변수와 결합하면 깔끔하고 응집력 있는 이미지 세트를 얻을 수 있습니다 [3, 4].
* **캐릭터 참조(`--cref`):** 캐릭터의 외형이나 정체성을 잃지 않고 다양한 장면이나 동작으로 묘사할 수 있도록 시각적 일관성을 유지합니다 [3, 4].
* **옴니 참조(`--oref`, V7 도입):** 특정 맞춤형 사물(예: 브랜드의 특정 자동차나 주얼리)의 형태적 정체성까지 기억하여, 여러 장면이나 배경에 동일하게 피사체를 재현해냅니다 [3, 4].
* **브랜드 안전(Brand-safe) 워크플로우 구성:**
일관된 캠페인을 구축할 때는 3~5개의 브랜드에 안전한 참조 이미지를 먼저 수집하고, 단일한 메인 스타일 참조를 사용하여 초기 초안(Drafts)을 생성하는 것이 좋습니다 [5]. 특히 제품의 형태가 명확해야 할 때는 `--stylize` 값을 낮게 설정하고, 과도한 참조 신호가 얽히지 않도록 제어 요소를 전략적으로 제한해야 합니다 [5].
## 📖 핵심
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[Style Reference|Style Reference]], [[Character Reference|Character Reference]], [[Prompt Structure|Prompt Structure]]
- **Projects/Contexts:** 마케팅 캠페인 및 제품 라인 시각화, 브랜드 에스테틱 구축 워크플로우
- **Contradictions/Notes:** 소스에 따르면, 시각적 일관성을 높이겠다고 모든 제어 기능과 참조 매개변수를 한 번에 과도하게 섞어 쓰면 오히려 시스템의 예측 가능성이 떨어질 수 있습니다. 좁은 참조 세트로 시작하여 오류가 명확할 때만 제어 요소를 추가하는 것이 권장됩니다 [5].
### 매 dimension
1. **Visual style** (sref): 매 color, lighting, texture.
2. **Character** (cref): 매 person identity.
3. **Object** (oref / IP-Adapter): 매 specific product.
4. **Composition**: 매 layout, 매 angle.
5. **Typography**: 매 font, 매 logo.
6. **Mood**: 매 emotion, atmosphere.
---
*Last updated: 2026-04-30*
### Midjourney 의 reference param
- **`--sref`** (Style Reference): 매 image / moodboard 의 style.
- **`--cref`** (Character Reference): 매 character identity.
- **`--oref`** (Omni Reference, V7): 매 specific object 의 form.
- **`--sw`** (style weight): 매 0-1000.
- **`--cw`** (character weight): 매 0-100.
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
### Stable Diffusion / Flux 의 tool
**언제 이 지식을 쓰는가:**
- *(TODO)*
#### IP-Adapter
- 매 image prompt → 매 conditioning.
- 매 SDXL / Flux 지원.
- 매 face / object / style.
**언제 쓰면 안 되는가:**
- *(TODO)*
#### ControlNet
- 매 pose, depth, edge 의 guide.
- 매 character pose 의 control.
## 🧪 검증 상태 (Validation)
#### LoRA (custom)
- 매 specific identity 의 학습.
- 매 5-10 image 만 으로.
- 매 portable (50 MB).
- **정보 상태:** needs_review
- **출처 신뢰도:** A
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
#### Textual Inversion / Dreambooth
- 매 token / model 의 fine-tune.
- 매 expensive 가 매 high quality.
## 🧬 중복 검사 (Duplicate Check)
#### InstantID / PhotoMaker
- 매 single face image 의 instant clone.
- 매 fine-tune X.
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
- **처리 방식:** UPDATE (자동 정규화)
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
### 매 best practice
1. **Reference set first**: 매 3-5 brand-safe image.
2. **Single style reference**: 매 multiple 의 confusion.
3. **Low stylize** (`--stylize 0-50`): 매 product clarity.
4. **Don't mix everything**: 매 sref + cref + oref 의 동시 의 careful.
5. **Iterate from draft**: 매 weak first → 매 refine.
6. **Document the recipe**: 매 reproducible.
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
### 매 modern workflow
- Phase 1: 매 brand asset (logo, color palette, style guide).
- Phase 2: 매 reference selection.
- Phase 3: 매 LoRA / IP-Adapter / sref.
- Phase 4: 매 batch generation.
- Phase 5: 매 human selection + manual refine.
- Phase 6: 매 brand approval.
- **과거 데이터와의 충돌:** 없음
- **정책 변화:** 없음
### 매 use case
1. **Marketing campaign**: 매 ad set.
2. **Product line**: 매 catalog.
3. **Character series**: 매 mascot, 매 graphic novel.
4. **E-commerce**: 매 model 의 다양한 angle.
5. **Storyboard**: 매 film pre-vis.
6. **Game asset**: 매 NPC variation.
## 🕓 변경 이력 (Changelog)
## 💻 패턴
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|------|-----------|-----------|--------|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
### Midjourney sref + cref
```
/imagine A futuristic city at night, neon reflections, rain --sref https://my-cdn/style1.jpg --cref https://my-cdn/character.jpg --sw 200 --cw 80 --ar 16:9 --stylize 100
```
### Stable Diffusion + IP-Adapter (ComfyUI / Diffusers)
```python
from diffusers import StableDiffusionXLPipeline, AutoencoderKL
from PIL import Image
import torch
pipe = StableDiffusionXLPipeline.from_pretrained(
'stabilityai/stable-diffusion-xl-base-1.0',
torch_dtype=torch.float16,
).to('cuda')
# 매 IP-Adapter 의 load
pipe.load_ip_adapter('h94/IP-Adapter', subfolder='sdxl_models', weight_name='ip-adapter_sdxl.bin')
pipe.set_ip_adapter_scale(0.6)
ref_image = Image.open('brand_style.jpg')
result = pipe(
prompt='a product photo, studio lighting',
ip_adapter_image=ref_image,
num_inference_steps=30,
guidance_scale=7,
).images[0]
```
### LoRA training (Kohya / Diffusers)
```python
from diffusers import DDPMScheduler, AutoencoderKL, UNet2DConditionModel
from peft import LoraConfig
# 매 5-10 image (브랜드 character)
training_data = ['brand_char_01.jpg', ..., 'brand_char_10.jpg']
# 매 LoRA config
lora_config = LoraConfig(
r=16, lora_alpha=16,
target_modules=['to_q', 'to_k', 'to_v', 'to_out.0'],
init_lora_weights='gaussian',
)
# 매 train (단순화)
unet.add_adapter(lora_config)
# ... train loop ...
unet.save_pretrained('./brand-character-lora')
```
### Character consistency (multi-shot)
```python
# 매 LoRA 로 학습 한 character 의 다양한 scene 의 generate
prompts = [
"<lora:brand_char:0.8> portrait of mascot, smiling, office background",
"<lora:brand_char:0.8> mascot waving, beach background, sunset",
"<lora:brand_char:0.8> mascot at desk, laptop, focused",
]
results = [pipe(p, num_inference_steps=30).images[0] for p in prompts]
```
### InstantID (face cloning)
```python
from diffusers import StableDiffusionXLInstantIDPipeline
pipe = StableDiffusionXLInstantIDPipeline.from_pretrained(
'stabilityai/stable-diffusion-xl-base-1.0',
).to('cuda')
pipe.load_instantid('InstantX/InstantID')
face = Image.open('brand_ambassador.jpg')
faceid_embeds, face_kps = extract_face(face)
result = pipe(
prompt='in a luxury hotel, evening',
image_embeds=faceid_embeds,
image=face_kps,
num_inference_steps=30,
).images[0]
```
### Brand prompt template
```python
BRAND_STYLE = """
{subject},
brand: ACME corp,
style: minimalist, white background, soft natural light,
color palette: navy blue, off-white, warm gold accent,
composition: rule of thirds, centered subject,
typography (if any): sans-serif, geometric,
quality: 4k, professional photography
"""
def generate_brand(subject):
return pipe(BRAND_STYLE.format(subject=subject), guidance_scale=7).images[0]
```
### Style guide YAML (recipe lock)
```yaml
brand: ACME
version: 1.2
style_reference: cdn://acme/style/v2.jpg
sref_weight: 200
character_reference: cdn://acme/mascot/v3.png
cref_weight: 80
stylize: 100
aspect_ratio: 16:9
negative_prompt: "blurry, low quality, watermark, deformed"
loras:
- name: brand-char
weight: 0.8
ip_adapter_scale: 0.6
```
### Quality check (auto)
```python
from PIL import Image
import torch
def brand_consistency_check(reference, generated, threshold=0.7):
"""매 CLIP 의 similarity 의 measure."""
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained('openai/clip-vit-base-patch32')
proc = CLIPProcessor.from_pretrained('openai/clip-vit-base-patch32')
inputs = proc(images=[reference, generated], return_tensors='pt')
embeds = model.get_image_features(**inputs)
sim = torch.cosine_similarity(embeds[0:1], embeds[1:2]).item()
return sim, sim >= threshold
```
## 🤔 결정 기준
| 상황 | Tool |
|---|---|
| Quick brand iteration | Midjourney `--sref` |
| Full control | SD + ComfyUI + IP-Adapter |
| Single character | LoRA (5-10 image) |
| Single face | InstantID / PhotoMaker |
| Specific object | Omni Reference / Dreambooth |
| Multiple variations | LoRA + prompt template |
| Studio production | LoRA + ControlNet pose |
**기본값**: 매 sref / IP-Adapter 의 baseline. 매 character = LoRA. 매 face = InstantID.
## 🔗 Graph
- 부모: [[AI-Image-Generation]] · [[Branding]] · [[Marketing]]
- 변형: [[Style-Reference]] · [[Character-Reference]] · [[IP-Adapter]] · [[ControlNet]]
- 응용: [[LoRA]] · [[InstantID]] · [[Dreambooth]] · [[PhotoMaker]] · [[Midjourney]]
- Adjacent: [[CFG 스케일(Classifier-Free Guidance Scale)]] · [[Stable-Diffusion]] · [[Flux]] · [[Authenticity]] · [[Arts]]
## 🤖 LLM 활용
**언제**: 매 brand image campaign. 매 product catalog. 매 character series. 매 storyboard.
**언제 X**: 매 unique 매 single image. 매 random creative explore.
## ❌ 안티패턴
- **모든 reference 의 동시 의 max weight**: 매 visual chaos.
- **No reference set**: 매 drift.
- **Stylize too high (product)**: 매 product 의 distort.
- **Mix multiple LoRA without test**: 매 conflict.
- **No quality check (CLIP)**: 매 silent drift.
- **Recipe 의 document X**: 매 reproducibility X.
## 🧪 검증 / 중복
- Verified (Midjourney docs, IP-Adapter paper, InstantID).
- 신뢰도 B.
- Related: [[CFG 스케일(Classifier-Free Guidance Scale)]] · [[AI-Image-Generation]] · [[LoRA]] · [[Authenticity]] · [[Stable-Diffusion]].
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-04-30 | Auto-mapped |
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — sref/cref/oref + LoRA + IP-Adapter + 매 SDXL / Midjourney code |