Stable Diffusion(스테이블 디퓨전)을 본격적으로 사용하기에 앞서 WebUI의 초기 화면을 보고 어떠한 Parameter(매개변수)가 있는지 각각의 속성과 기능이 무엇인지 알아보도록 하자.
Stable Diffusion 설치하기
먼저 Stable Diffusion을 설치하지 않았다면 아래 포스팅을 참고하여 설치하면 준비가 끝난다.
Stable Diffusion WebUI 초기 화면
Parameter(매개변수) 소개
Positive Prompt(긍정적 프롬프트)
- 생성하려는 내용에 대한 텍스트 설명을 영어로 입력한다.
- 문장이나 단어로 입력이 가능하다.
- 생성하고자 하는 단어 중 특정 단어나 표현에 가중치를 주고자 한다면, 괄호로 가중치를 설정할 수 있다.
예를 들어 자동차가 있는 이미지를 생성하며, 가중치의 기본 값은 1이다.
자동차를 더 강조하고 싶다면(Car:1.5)
이렇게 입력할 수 있다.
반대로 이미지 강조를 줄이고 싶다면(Car:0.8)
로 표현하면 된다.
Negative Prompt(부정적 프롬프트)
- 텍스트를 사용하여 이미지에 표시하고 싶지 않은 내용을 영어로 입력한다.
- Positive Prompt와 마찬가지로 문장이나 단어로 입력이 가능하다.
Sampling Method(샘플링 방법)
- 사용할 샘플러를 선택하는 창으로 이미지를 구성하는 알고리즘을 말한다.
- 다양한 샘플러가 있으며, 자신의 취향에 적합한 모델을 정해서 사용할 수 있다.
- 본인은 주로 “Euler a”, “DPM++ SDE”, “DPM++ SDE Karras” 모델을 사용하며, 시간이 될 때는 여러가지를 사용해보며 이미지 결과를 확인한다.
Sampling Steps(샘플링 단계)
- Stable Diffusion과 같은 Diffusion 모델은 무작위 가우스 노이즈에서 프롬프트와 일치하는 이미지까지 작은 단계를 거쳐 작동한다. Sampling Steps는 이러한 단계를 의미하며, 단계가 많을수록 노이즈부터 이미지까지 단계가 더 작고 정확해진다.
- Sampling Steps 값을 늘리면 이미지를 생성하는 데 필요한 시간이 직접적으로 늘어난다.
- Sampling Steps가 높다고 반드시 품질 좋은 이미지가 나오는 것은 아니다.
Width(너비)
- 단일 이미지의 너비(픽셀)을 의미한다.
- 이 값을 높이려면 더 많은 VRAM(그래픽 메모리)이 필요하다.
- 학습된 Stable Diffusion Checkpoint(사용하려는 모델)에 따라 최적 해상도가 있으며, 해상도의 비율이 달라지면 이미지 품질을 저하 시킬 수 있다.
Height(높이)
- 단일 이미지 높이(픽셀)를 의미한다.
- Width(너비)와 마찬가지로 학습된 모델에 따라 최적 해상도가 있다.
Batch Count(배치 카운트)
n_iteration
을 의미하는 것으로 이미지 세트가 생성되는 빈도(생성 시도 횟수)이다.
Batch Size(배치 크기)
- 동시에 생성되는 이미지 수이다. 이 값을 늘리면 생성되는 한번에 이미지가 많아지지만 더 많은 VRAM이 필요하다.
- 총 생성 이미지 수는 Batch Count에 Batch Size를 곱한 값이다.
CFG Scale(CFG 규모)
- 이미지가 프롬프트와 얼마나 일치하는지를 나타낸다.
- CFG Scale을 늘리면 이미지가 Prompt에 더 가까워지지만(모델에 따라) 이미지 품질도 다소 저하될 수 있다.
Seed(시드)
- 이미지 생성의 시작점을 뜻한다.
- Seed 값을 일정하게 유지하면 동일한(또는 거의 동일한) 이미지가 여러 번 생성된다.
- 본질적으로 Best Seed는 없다.
그렇지만 이전에 생성했던 결과가 좋았다면, 동일 Seed에 입력 매개변수를 조금만 변경하면 여전히 좋은 결과를 생성할 가능성이 높다.
위와 같은 Stable Diffusion의 다양한 매개변수들을 이해하고 활용함으로써 더욱 향상된 이미지를 생성할 수 있으며, 생성형 인공지능을 더욱 정교하게 활용해 보자.