스테이블 디퓨전(Comfyui) 속성 값(seed, control after generate, steps, cfg, sampler name, scheduler, denoise) 정리-1
스테이블 디퓨전을 통해 원하는 결과를 얻기위해 스테이블 디퓨전의 text to image 에 필요한 기본 속성을 정리하였습니다.
sampler name, scheduler 등을 이해하기 위해선 스테이블 디퓨전의 작동원리에 대해 알아야겠다고 생각을 했습니다.
실제 값을 바꿔가며 이미지를 생성해보니 각 값이 주는 의미를 알수 있었습니다.
비교를 위해 comfyui 기본 워크플로우로 사용하겠습니다.
기본이미지 설정값
seed : 184392836312706
control_after_generate : fixed
steps : 20
cfg : 8.0
sampler_name : euler
scheduler : nomal
denoise : 1.00
속성별 비교
1. Seed(시드) : 이미지의 시작점이 되는 난수
이 숫자에 따라 결과 이미지가 달라지며, 같은 숫자를 넣으면 이전의 이미지를 재현할 수 있습니다.
2. control_after_generate : 이미지 생성시 시드를 변경 여부 및 변경 방법을 결정
. fixed : 이미지 생성시 seed(시드) 를 변경하지 않음
. increment : 이미시 생성시 seed(시드) 를 한 자리씩 올림
. decrement : 이미시 생성시 seed(시드) 를 한 자리씩 내림
. randomize : 이미시 생성시 seed(시드) 를 무작위로 변경
주의사항)
"queue prompt" 버튼을 누르면 기존의 seed(시드) 값은 바로 변경됩니다.
따라서, control_after_generate 가 "fixed" 로 되어있지 않다면, 이미지 생성 후 "랜덤(randomize)"에서 "고정(fixed)"으로 바꾸어도 이미 이미지가 생성된 이후이기 때문에 화면에 보이는 생성 결과물과 시드는 다른 값을 가지게 됩니다.
ramdomize가 아닐경우 시드를 조정할 수 있지만, ramdomize로 생성되 이미지의 시드를 다시 알기 위해선 생성한 이미지를 프로그램으로 다시 끌어 넣으면(drag) 시드를 복원할 수 있습니다.
3. Sampling Steps : 무작위 노이즈에서 인식 가능한 이미지로 전환하기 위해 스테이블 디퓨전이 실행하는 반복 횟수
Step 이 높을 수록 더 섬세한 이미지가 나오지만, 생성 시간도 길어집니다. 20-30단계 정도가 적당합니다.
4. CFG Scale : 프롬프트를 AI가 얼마나 잘 따를지 조절하는 설정
숫자가 높을수록 프롬프트를 더 잘따르게 됩니다. 0~100 사이의 값을 가집니다.
5. Sampler_name : 이미지를 생성하는 방식으로 추후 다룰예정
DDPM, DDIM, PLMS, Euler, Heun, LMS, DPM, DPM2, DPM++, DPM-Solver, UniPC, DPM adaptive, Euler A, DPM2 A, DPM++ 2S A, DPM++ 2M A, LMS Karras, DPM2 Karras, DPM++ 2S A Karras, DPM++ 2M Karras, DPM++ SDE, DPM++ 2M SDE, and DPM++ SDE Karras 등의 방식으로 이미지를 생성할 수 있다.
6. scheduler : 모델의 출력과 시간 간격을 사용하여 노이즈 제거된 샘플을 반환하는 함수입니다
7. denoise : 출력 생성 시 입력 이미지에 추가되는 노이즈의 양을 제어하는 값
denoise 값은 0에서 1 사이이며, 0은 노이즈가 추가되지 않고(실제 입력은 0이상 가능) 1은 입력을 완전히 대체. 기본값은 0.75