Files
2nd/10_Wiki/Topics/AI_and_ML/상업용 제품 사진 및 브랜드 로고 디자인.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

211 lines
7.6 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: wiki-2026-0508-상업용-제품-사진-및-브랜드-로고-디자인
title: 상업용 제품 사진 및 브랜드 로고 디자인
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Commercial Product Photography, Brand Logo with AI, AI Branding]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [ai-image, branding, commercial, product-photography, flux, midjourney]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: python
framework: diffusers
---
# 상업용 제품 사진 및 브랜드 로고 디자인
## 매 한 줄
> **"매 commercial 의 deliverable 매 consistency × controllability × license 의 3축"**. AI 의 product hero shot, lifestyle shot, packshot, logo 의 generate 의 매 reference image (IP-Adapter), pose/composition (ControlNet), brand LoRA 의 의해 production-grade 도달. 매 2026 의 FLUX.1 + LoRA + Krea/Magnific upscaler 의 standard pipeline.
## 매 핵심
### 매 deliverable 종류
- **Packshot**: clean white/seamless bg, hero product 단독.
- **Lifestyle**: 매 context (hand, table, scene) 의 product.
- **Hero**: cinematic, dramatic light, brand storytelling.
- **Logo**: vector-clean, scalable, monogram/wordmark.
### 매 control 축
- **Reference image**: IP-Adapter 의 product 의 visual identity 보존.
- **Composition**: ControlNet (depth/canny) 의 layout lock.
- **Style**: brand LoRA 의 color palette / mood consistency.
- **License**: commercial-cleared model + asset trail.
### 매 응용
1. E-commerce 의 multi-angle packshot batch.
2. Lookbook 의 lifestyle shot 의 mood-board iteration.
3. Logo 의 monogram/lockup variation 탐색.
## 💻 패턴
### Packshot — clean bg 의 product
```python
from diffusers import FluxPipeline
import torch
pipe = FluxPipeline.from_pretrained(
"black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16
).to("cuda")
img = pipe(
prompt=(
"product photography of a minimalist ceramic coffee mug, "
"matte white seamless background, soft shadow, studio lighting, "
"centered composition, sharp focus, 50mm lens, commercial catalog style"
),
height=1024, width=1024, guidance_scale=3.5, num_inference_steps=28,
).images[0]
```
### IP-Adapter — product identity 보존
```python
from diffusers import StableDiffusionXLPipeline
from transformers import CLIPVisionModelWithProjection
import torch
pipe = StableDiffusionXLPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16).to("cuda")
pipe.load_ip_adapter("h94/IP-Adapter", subfolder="sdxl_models", weight_name="ip-adapter-plus_sdxl_vit-h.safetensors")
pipe.set_ip_adapter_scale(0.7)
product_ref = Image.open("client_product.png") # 매 actual product image
img = pipe(
prompt="product on marble counter, morning light, lifestyle scene",
ip_adapter_image=product_ref,
num_inference_steps=30, guidance_scale=6.0,
).images[0]
```
### ControlNet — composition lock
```python
from diffusers import StableDiffusionXLControlNetPipeline, ControlNetModel
from controlnet_aux import CannyDetector
canny = CannyDetector()
ctrl_img = canny(Image.open("layout_sketch.png"), 100, 200)
cn = ControlNetModel.from_pretrained("diffusers/controlnet-canny-sdxl-1.0", torch_dtype=torch.float16)
pipe = StableDiffusionXLControlNetPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", controlnet=cn, torch_dtype=torch.float16
).to("cuda")
img = pipe(
prompt="luxury watch packshot, dark moody studio, rim light",
image=ctrl_img, controlnet_conditioning_scale=0.7,
).images[0]
```
### Brand LoRA — style consistency
```python
# 매 12-30 brand asset 의 train 한 LoRA 의 load
pipe.load_lora_weights("./loras/acme-brand-v3.safetensors", adapter_name="brand")
pipe.set_adapters(["brand"], adapter_weights=[0.85])
img = pipe(prompt="<acme> hero shot, sneaker on rocky terrain, golden hour").images[0]
```
### Logo — vector-style 의 raster
```python
# Step 1: SDXL 의 raster logo
img = pipe(
prompt=(
"minimalist logo design, geometric monogram letter A, "
"single color, flat vector style, high contrast, white background, "
"centered, no gradient, no shadow"
),
negative_prompt="3d, photorealistic, gradient, texture, shadow, busy",
guidance_scale=8.0,
).images[0]
# Step 2: vectorize (vtracer / SVG)
import subprocess
img.save("logo.png")
subprocess.run(["vtracer", "--input", "logo.png", "--output", "logo.svg",
"--mode", "polygon", "--colormode", "binary"])
```
### Magnific / Krea-style upscale (commercial finish)
```python
from diffusers import StableDiffusionXLImg2ImgPipeline
upsc = StableDiffusionXLImg2ImgPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-refiner-1.0", torch_dtype=torch.float16
).to("cuda")
# 매 1024 → 2048 의 detail enhance pass
hi = img.resize((2048, 2048), Image.LANCZOS)
final = upsc(prompt="ultra detailed product photo, sharp",
image=hi, strength=0.25, num_inference_steps=20).images[0]
```
### Multi-angle batch (e-comm)
```python
angles = [
"front view, eye-level",
"3/4 view, slight high angle",
"top-down flat lay",
"profile silhouette, side light",
"macro detail, texture close-up",
]
for i, angle in enumerate(angles):
img = pipe(
prompt=f"product photography of [PRODUCT], {angle}, white seamless bg, studio light",
ip_adapter_image=product_ref,
generator=torch.Generator("cuda").manual_seed(42 + i),
).images[0]
img.save(f"packshot_{i:02d}.png")
```
### Background swap (Bria RMBG / Replicate)
```python
from transformers import AutoModelForImageSegmentation
rmbg = AutoModelForImageSegmentation.from_pretrained("briaai/RMBG-2.0", trust_remote_code=True)
# 매 mask 의 추출 → composite 의 new bg
mask = rmbg(img)
composite = Image.composite(img, new_bg, mask)
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| 실제 product 의 identity 보존 | IP-Adapter scale 0.6-0.8 + brand LoRA |
| Layout 정확 lock | ControlNet (canny/depth) scale 0.7 |
| Logo design exploration | high CFG (8+) + negative "3d, gradient" |
| Lifestyle scene | FLUX + lifestyle prompt + soft IP-Adapter (0.4) |
| 4K 의 commercial finish | SDXL refiner img2img strength=0.25 |
| 절대 license clean | FLUX.1 [pro] commercial / Adobe Firefly |
**기본값**: FLUX.1 base + IP-Adapter + brand LoRA + refiner upscale.
## 🔗 Graph
- 부모: [[상업용 브랜드 이미지 및 디자인 시스템 구축]] · [[AI 이미지 생성 및 편집 워크플로우 (AI Image Generation & Editing Workflow)]]
- 변형: [[미드저니 및 스테이블 디퓨전의 부분 편집 기법]]
- Adjacent: [[IP-Adapter]] · [[ControlNet]]
## 🤖 LLM 활용
**언제**: e-comm catalog batch, brand exploration, logo concept ideation, lookbook mood board.
**언제 X**: 매 client 의 strict legal requirement (talent likeness, trademarked product) — license-cleared pipeline 의 의무.
## ❌ 안티패턴
- **No reference image**: product identity drift — 매 useless to client.
- **Brand LoRA 의 over-weight (>1.0)**: 매 over-fit, novelty 사라짐.
- **Logo 의 photoreal prompt**: vector-incompatible — flat/single-color 의 specify.
- **License 의 무시 (raw SDXL output 의 commercial use)**: 매 legal exposure.
- **No upscale pass**: low-resolution 의 catalog quality 미달.
## 🧪 검증 / 중복
- Verified (FLUX.1 model card, IP-Adapter paper, ControlNet paper, Diffusers docs 2024-2026).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — packshot/lifestyle/logo + IP-Adapter/ControlNet/LoRA |