어두운 배경이 싫으시다면 페이지 우측 하단에 보이는 초승달 모양의 아이콘을 클릭하면 화이트모드로 변경됩니다. 초승달 모양 버튼 : `화이트/다크 모드` 전환 |
이전 포스팅에서 'Dynamic Thresholding' 확장 기능에 대해서 잠깐 이야기가 나왔었는데, WebUI에서는 이런 여러가지 기능들을 외부 오픈소스(Github)로 다운로드 받아 설치할 수 있습니다. 이런 형태로 외부에서 기능을 다운로드 받는 것을 'Extensions'라고 하며 확장기능이라고 합니다. 이번 포스팅에서는 이 확장기능 사용법과 다운로드 받는 방법에 대해서 설명하겠습니다.
1. Extensions 확장기능 설명
'Extensions'는 WebUI를 실행하면 상단에 보이는 메뉴들 중 가장 우측에 있습니다. 해당 메뉴를 선택하면 아래 설치된 확장 기능을 On/Off 할 수 있거나 외부 링크를 통해 다운로드 받아 설치할 수 있습니다.
하단에 보면 4가지 서브 메뉴 카테고리가 보입니다. 앞의 'Installed', 'Available', 'Install from URL' 세 개만 알고 계시면 됩니다. 뒤에 'Backup/Restore'는 말그대로 백업 기능인데, 저도 사실 안 써봐서 자세한 기능에 대해서는 잘 모릅니다. ㅎㅎ
🟦 각각의 메뉴 설명
🔹Installed
Installed는 해당 WebUI에 설치되어 있는 확장기능들 목록을 보여줍니다. 그리고 사용하고 싶은 확장기능을 켜고 끌 수 있습니다. 아래 사진을 보면 'URL' 항목에 `built-in` 이라고 적힌 것들은 말그대로 WebUI를 설치할 때 기본으로 들어간 기능들입니다.
그 밑에 있는 확장기능들은 WebUI가 업데이트될 때 자동으로 설치되는 것들과 직접 설치한 확장기능들이 나타납니다. 이번 포스팅에서 소개해드릴 'Dynamic Thresholding' 확장기능도 'sd-dynamic-thresholding'이라는 이름으로 설치된 것을 볼 수 있습니다.
확장기능을 On/Off 하거나 'Check for updates'를 통해 확장기능 업데이트를 확인해서 업데이트할 항목이 있는 경우, 설치를 자동으로 하며 이를 적용하기 위해서는 'Apply and restart UI' 버튼을 눌러 최종적으로 적용해야 WebUI에 적용됩니다.
간혹 'Error'라고 뜨며 목록이 안 보일 수 있는데 우측 끝에 보면 'Refresh' 버튼이 있습니다. 이걸 누르면 새로고침돼서 목록이 나타납니다.
🔹Available
해당 메뉴는 WebUI에 설치 가능한 확장기능 목록을 한 번에 볼 수 있는 메뉴입니다. 처음에 보이는 'Load from:' 버튼을 누르면 아래에 설치 가능한 확장기능 목록이 로드되어 나타납니다. 해당 확장기능은 WebUI 제작자인 'AUTOMATIC1111' 깃허브 페이지의 index.json 파일을 참고하여 로드되므로, 모든 확장기능이 다 있거나 최신 버전이 아닐 수는 있지만 이것만으로도 엄청나게 많습니다.
아래 보이는 확장기능들에 대해서 자세히 알고 싶다면 제목 부분을 클릭하면 제작자의 github 페이지로 이동합니다. 모두 오픈소스이므로 그냥 Install하면 설치가 됩니다.
🔹Install from URL
만약 외부에서 직접 확장기능을 다운로드 받고 싶다면 'Install from URL' 메뉴에서 해당 확장기능 오픈소스가 있는 URL을 붙여넣기 하면 설치할 수 있습니다.
아래 보이는 'URL for extension's git repository'에 확장기능 URL을 붙여넣기하고, 'Install' 버튼을 누르면 설치가 됩니다.
2. Dynamic Thresholding
해당 기능에 대해서 간략하게 설명하면, 이미지를 생성할 때 작성한 프롬프트를 기반으로 이미지를 생성하는데, 'CFG scale' 값을 조정하며 프롬프트 내용을 보다 정확하게, 그리고 디테일하게 해석할 수 있습니다.
이때 CFG 값을 높이면(20이상) 이미지가 잘못된 방향으로 해석해서 아래와 같이 깨진 이미지가 생성됩니다.
해당 이미지를 hires를 적용하여 업스케일링하면 그나마 좀 보정은 되는데 그렇다고 좋은 퀄리티라고 말을 할 수는 없습니다.
CFG 값을 높이는 이유는 프롬프트의 해석, 분석 능력을 최대한 높여서 이미지의 디테일 정도나 정확도 등을 높여 풍부한 이미지를 제공하기 위함인데, 너무 높이면 위와 같이 과도하게 분석한 결과 깨진 이미지가 생성됩니다.
그래서 똑똑하신 분들이 이런 CFG 값을 높여도 깨지지 않는 이미지를 만들 수 있는 확장기능을 만들었고, 이것을 사용하면 아래와 같이 CFG 값을 높여서 사용해도 작은 값으로 생성한 이미지와 같은 형태로 만들면서 동시에 풍성하고 디테일한 이미지를 생성할 수 있습니다.
🟦 Dynamic Thresholding 확장기능 설치하기
아래 링크를 복사해주시고, 위에서 설명했던 'Extensions' 메뉴의 'Install from URL' 메뉴로 이동합니다. 그리고 아래와 같이 URL을 붙여넣기하고 'Install' 버튼을 눌러 설치를 합니다.
`https://github.com/mcmonkeyprojects/sd-dynamic-thresholding`
설치가 완료되면 'Installed' 메뉴에서 'Apply and restart UI'를 눌러 적용 및 리로드합니다. 그리고 'txt2img' 메뉴로 이동합니다. 해당 기능은 'txt2img'와 'img2img'에서 사용할 수 있습니다.
'Generation' 설정값 중 'Seed' 아래에 'Dynamic Thresholding (CFG Scale Fix)' 라는 이름이 보일 겁니다. 이것을 체크하면 아래 설정 옵션메뉴가 확장되어 나타납니다.
🟦 Dynamic Thresholding 옵션 설명
옵션을 하나하나 자세하게 설명하면 너무 내용이 길어질 수 있기 때문에 몇 가지 핵심만 설명하고 나머지는 거의 값을 고정하여 사용하시면 됩니다.
일단 'Generation'의 'CFG scale'값은 10 ~ 30(최대)으로 높게 설정합니다. 그리고 'Dynamic Thresholding' 옵션의 'Mimic CFG Scale' 값은 원래 목표한 이미지의 Scale 값(평소 쓰던 값)을 넣어주시면 됩니다.
당연히 기본 'CFG scale'값이 'Mimic CFG Scale' 값보다 커야합니다. 그리고 다른 옵션들은 다음과 같습니다.
🔹Top percentile of latents to clamp
이값은 CFG Scale의 임계치를 얼마나 적용할 지 한계값을 설정하는 것인데, 제작자는 일단 95 ~ 100 사이의 값을 사용할 것을 추천하고 있습니다. (100은 약간 이상한 이미지가 생성될 수 있으니 가급적 99.x 단위를 최대로 해서 사용)
CFG 값의 크기와 모델 등에 따라서 보통 97 ~ 99 정도로 사용하시면 됩니다.
🔹Interpolate Phi
기본값은 1인데 다른 값을 주어서 본인 취향에 맞춰 이미지를 생성해도 됩니다. (범위는 0 ~ 1) 해당 값을 조정하면 세부적인 디테일이 살짝 변합니다.
🔹Mimic Scale Scheduler, CFG Scale Schduler
두 스케줄러는 같은 옵션들로 구성되어 있는데, 워낙 다양한 스케줄러가 있기 때문에 하나씩 설명하는 것은 내용이 길어서 힘듭니다 ㅎㅎ;
일단 제작자 추천은 'Half Cosine Up'으로 둘 다 설정해주시면 됩니다. 이 스케줄러가 가장 효율이 좋다고 하는데, 뭐 본인이 시간이 많고 이것저것 테스트해보시고 싶다면 직접 하나씩 선택해서 이미지를 생성해보면서 원하는 기능을 찾아보셔도 됩니다.
🔹Minimum value of the (Mimic Scale Scheduler, CFG Scale Scheduler)
이것도 개발자 권장사항인 3 ~ 4 정도로 사용합니다. 물론 본인이 취향껏 값을 조정해서 사용해보셔도 됩니다.
이외 나머지 옵션은 그대로 두고 사용하시면 됩니다. 가급적 해당 기능은 Hires와 같이 사용하시는 것이 좋습니다. 그리고 CFG Scale 값이 무조건 높다고 좋은 것은 아니니 값을 변경하면서 적절히 원하는 이미지를 생성하시길 바랍니다.
구독 및 좋아요는 컨텐츠를 생산하는데 많은 도움이 됩니다. 😊
감사합니다.