⊢ AI 모델 활용

Stable Diffusion을 활용한 이미지 생성

최 수빈 2025. 3. 25. 10:13

 

Stable Diffusion

 

텍스트 설명을 입력하면 이미지를 생성하는 인공지능 모델(Text-to-Image)

 

입력 : 자연어 텍스트 (prompt)

출력: 고해상도 이미지 (512x512 이상 가능)

라이선스: 오픈소스(MIT 기반), 누구나 사용 가능

학습 데이터: LAION-5B라는 대규모 텍스트-이미지 페어 데이터셋

 

 

작동 방식

  1. 노이즈 이미지를 준비
  2. 텍스트를 보고 어떤 이미지를 원하는지 파악
  3. 노이즈를 점점 제거하면서 이미지를 만들어냄
    → 이 과정을 Diffusion(확산)과정이라고 부름

 

 

stable diffusion 모델 설치

pip install diffusers transformers torch

 

이미지 생성

from diffusers import StableDiffusionPipeline
import torch

# MPS 디바이스 설정
device = torch.device("mps")

# Stable Diffusion 파이프라인 로드
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4").to(
    device
)

# 이미지 생성
prompt = "A cat wearing sunglasses, photorealistic"
image = pipe(prompt).image[0]

# 저장 및 보기
image.sate("stable_diffusion_ouptput.png")
image.show()

 

Loading pipeline components...: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:22<00:00,  3.15s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [39:02<00:00, 46.86s/it]

A cat wearing sunlasses, photorealistic

 

다음부턴 코랩으로..ㄱ

 

 

Stable Diffusion 모델의 세부 조정

 

guidane_scale
텍스트 조건을 얼마나 강하게 반영할지 결정하는 파라미터

값이 높을수록 텍스트 설명에 충실한 이미지 생성

 

num_inference_steps

이미지 생성 과정에서의 추론 단계 수를 지정

단계 수가 많을 수록 이미지의 품질이 향상되지만, 생성 시간이 길어짐

image = pipe(prompt, guidance_scale=7.5, num_inference_steps=50).images[0]