스테이블 디퓨전은 매우 강력한 AI 이미지 생성기입니다. 그런데, 스테이블 디퓨전은 사용자들이 개발하는 확장이 있어 더 많은 기능이 추가되고 더 편리하게 사용할 수 있습니다. 이 글에서는 스테이블 디퓨전의 대표 UI인 AUTOMATIC1111에서 사용할 수 있는 확장(extension)) 몇가지를 소개합니다.
아래는 목차입니다.
- 소프트웨어
- 확장(extension) 설치 방법
- 콘트롤넷(ControlNet)
- Infinite Image Browser
- Aspect Ratio selector(종횡비 선택)
- CLIP Interrogator
- Ultimate SD Upscale
- Civitai Helper
- After Detailer
- Regional Prompter(구역 분할 프롬프트)
- OpenPose Editior
- Style Selector for SDXL 1.0 (SDXL 1.0을 위한 스타일 선택)
- Roop
- 비디오 생성 확장
소프트웨어
이 글은 스테이블 디퓨전용 대표 웹UI라고 할 수 있는 AUTOMATIC1111에 관한 내용입니다. 설치하는 방법은 이 글을 읽어보시기 바랍니다. AUTOMATIC1111이 처음이시라면 초보자 가이드도 도움이 되실겁니다.
확장(extension) 설치 방법
- AUTOMATIC1111 에서 Extension 페이지로 들어갑니다.
- [Install from URL] 탭을 선택하고 원하는 확장의 URL을 [URL for extension's git repository] 필드에 입력합니다.
- Install 을 누르고 완료메시지가 나올 때까지 기다립니다.
- AUTOMATIC1111을 새로 시작합니다.
콘트롤넷(ControlNet)
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-ControlNet1
- URL : https://github.com/Mikubill/sd-webui-controlnet
ControlNet 은 참조 이미지에 있는 이미지의 형태나 자세, 색 등을 기반으로 (프롬프트에 입력된 내용을) 이미지로 생성하는, AUTOMATIC1111에서 가장 중요한 확장이라고 할 수 있습니다. ControlNet 설치 방법이나 사용방법 등은 이 글(1편)과 이 글(2편)을 참고하시기 바랍니다.
Infinite Image Browser
Stable Diffusion을 사용하다보면 아주 많은 이미지가 생성됩니다. 그 중에서 어떤 파일을 찾으려면 일반 파일 탐색기(explorer)를 사용하는 것보다 이 확장을 이용하는 것이 편리합니다.
특히 이 확장을 사용하면 사용한 모델/프롬프트를 기준으로 검색할 수 있습니다
Aspect Ratio selector(종횡비 선택)
URL : https://github.com/alemelis/sd-webui-ar
이 확장을 사용하면 가로 세로 픽셀을 얼마로 해야 하는지 매번 계산할 필요가 없습니다. 그냥 클릭만 해주면 이미지 크기가 해당 종횡비로 설정됩니다.
종횡비가 1보다 작을 경우(현재 상태) height가 고정되고 width는 계산된 값으로 지정됩니다. 예를 들어 위의 상태에서 16:9를 누른다면 512를 기준으로 계산해서 width가 910으로 바뀌게 될 것입니다. 자세한 내용은 위에 있는 URL을 들어가 보세요.
이것도 좋지만, stable-diffusion-webui\extensions\sd-webui-ar 에 들어가면 aspect_ratios.txt와 resolutions.txt 파일이 있는데 이것을 수정하면 자신이 많이 사용하는 해상도를 미리 설정해 둘 수 있어서 편리합니다. 아래는 제가 사용하는 resolutions.txt 입니다. SD1.5와 SDXL용으로 이미지 크기를 쉽게 변경할 수 있어 편리합니다.
SD1:1, 512, 512 # 1:1 square
SD3:2, 768, 512 # 3:2 landscape
XL1:1, 1024, 1024
XL5:4, 1152, 896
XL3:2, 1216, 832
XL16:9, 1344, 768
XL21:9, 1536, 640
이렇게 설정하면 아래와 같이 나타납니다. 아래에 있는 버튼만 눌러주면 적절한 해상도가 자동 선택되어 편리합니다.
CLIP Interrogator
CLIP interrogator 를 사용하면 이미지의 프롬프트를 알아낼 수 있습니다. 물론 Img2Img 페이지 속에 들어가서 이미지를 올린 후 Interrogate CLIP 버튼을 눌러서 사용하는 방법도 있지만, 이 확장을 사용하면 어떤 언어 모델을 사용할 것인지, 다른 데이터베이스를 사용해 분석할 것인지 등 여러가지 부가 옵션이 있습니다.
Ultimate SD Upscale
- 사용법: https://stable-diffusion-art.com/controlnet-upscale/ (영문)
- URL : https://github.com/Coyote-A/ultimate-upscale-for-automatic1111
저는 별로 확대를 좋아하지 않아서 설치하지 않았습니다만, 스테이블 디퓨전이 기본적으로 지원하는 해상도는 512x512이기 때문에 품질이 좋은 이미지를 원하면 Upscale(확대)가 필수적입니다(제가 예전에 정리한 글 참조). Ultimate SD Upscale은 ControlNet 을 사용해 이미지를 세부 타일별로 확대해주는 확장입니다. 특히 VRAM 이 크지 않은 GPU 카드를 사용할 때 유용하다고 합니다.
Civitai Helper
Stable Diffusion을 사용하면 Civitai.com에서 여러가지 모델을 다운로드 받으셨을 것입니다. 그런데, 이 확장을 사용하면 체크포인트 파일, LoRA, 텍스트 인버전 모델 등을 자동으로 올바른 폴더에 다운로드받을 수 있습니다.
게다가, 모델에 대한 커버 이미지도 함께 설치되므로 따로 이미지를 다운로드 받고 포맷을 바꾸거나 이름을 바꿀 필요가 없어 편리합니다. (참고로 모델 커버 이미지는 모델과 동일한 이름의 png 파일입니다.) 맨 위에 있는 Scan 버튼을 눌러주면 이미 다운로드 받아둔 모델의 커버이미지를 업데이트 시켜줍니다.
After Detailer
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-After-Detailer
- URL : https://github.com/Bing-su/adetailer
After Detailer 확장을 사용하면 이미지를 생성하면서 자동적으로 얼굴이나 손을 인식해서 수정해줍니다. 품질이 뛰어난 이미지를 확률이 급격하게 증가합니다. 제 생각엔 ControlNet 다음으로 가장 유용하지 않나 싶습니다. 물론 SDXL 에서는 얼굴이나 손이 잘못 생성되는 일이 줄어들어서 효용성이 떨어질 것 같기는 합니다.
Regional Prompter(구역 분할 프롬프트)
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-regional-prompter
- URL : https://github.com/hako-mikan/sd-webui-regional-prompter
구역 분할 프롬프트는 말 그대로 이미지를 구역으로 나누고, 구역별로 프롬프트를 적용시키는 확장입니다. 원하는 물체를 정확하게 위치시키거나 특정부분의 색을 조정하거나 등등 이미지를 세세하게 제어할 때 유용합니다.
OpenPose Editor
이 확장을 사용하면 Openpose ControlNet을 사용할 때, 전처리기를 거쳐 나온 자세를 보다 자세하게 편집할 수 있습니다. Openpose를 자주 사용하시는 분에게는 편리할 듯 싶네요.
Style Selector for SDXL 1.0 (SDXL 1.0을 위한 스타일 선택)
- 사용방법: https://www.internetmap.kr/entry/how-to-use-SDXL-in-AUTOMATIC1111#styleselectorxl
- URL : https://github.com/ahgsql/StyleSelectorXL
SDXL 1.0을 위한 사전 설정 스타일 선택(StyleSlectorXL) 확장은 선택하기만 하면 해당 스타일을 프롬프트와 부정적 프롬프트에 삽입시켜서 쉽게 생성할 수 있습니다. 예를 들어 프롬프트를 "a cat with a sword and light armor"로 지정하고 Mincraft 스타일을 지정하면, 내부적으로 프롬프트를 "Minecraft style a cat with a sword and light armor . Blocky, pixelated, vibrant colors, recognizable characters and objects, game assets", 부정적 프롬프트를 "smooth, realistic, detailed, photorealistic, noise, blurry, deformed" 라고 입력한 것으로 처리합니다.
Roop 확장
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-Consistent-Face#roop
- URL : https://github.com/s0md3v/sd-webui-roop
Roop extension을 사용하면 참조 이미지를 사용하여 이미지에 포함된 얼굴을 교체할 수 있습니다. 얼굴이 완전히 똑같아지는 않아도 어느정도 분위기는 보이고, 무엇보다 여러장을 생성할 경우 비슷한 얼굴이 나온다는 장점이 있습니다.
비디오 생성 확장
Deforum
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-Video-using-Deforum
- URL : https://github.com/deforum-art/sd-webui-deforum
Deforum은 멋진 비디오를 생성하는 Stable Diffusion 확장입니다. 위에서 보는 것처럼 중간 중간에 있는 Keyframe 들을 프롬프트로 지정해주면 (위는 제임스본드/고양이/우주정거장) 알아서 비디오를 만들어줍니다.
AnimateDiff
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-Text-to-Video
- URL : https://github.com/continue-revolution/sd-webui-animatediff
프롬프트를 하나 입력하면 그 이미지를 기준으로 짧은 움짤을 만들어주는 스테이블 디퓨전 확장입니다.
Mov2mov
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-Video-to-Video
- URL : https://github.com/Scholar01/sd-webui-mov2mov
비디오의 얼굴/분위기 등 스타일을 바꿔줄 수 있는 간단한 방법입니다.
Temporal Kit
- 사용법 : https://www.internetmap.kr/entry/Stable-Diffusion-Video-to-Video#temporalkit
- URL : https://github.com/CiaraStrawberry/TemporalKit
Temporal Kit은 EbSynth를 사용한 확장으로, 비디오를 프레임별로 잘라 스타일을 바꾸는 방식입니다.
==
이상입니다. 이 글은 https://stable-diffusion-art.com/automatic1111-extensions/ 을 번역하면서 일부 수정하여 작성하였습니다.
- Stable Diffusion 인공지능 이미지 생초보 가이드
- Stable Diffusion 대표 UI - AUTOMATIC1111 설치방법
- Automatic1111 GUI: 초보자 가이드(메뉴 해설)
- Stable Diffusion에 대한 기본적인 이론
- ChatGPT로 스테이블 디퓨전 프롬프트 만들기
- Stable Diffusion - 인페인트 가이드
- Stable Diffusion - 모델에 대한 모든 것
- Stable Diffusion - LoRA 모델 사용법
- Stable Diffusion - ControlNet 사용법(1)
- Stable Diffusion - ControlNet 사용법(2)
- Stable Diffusion - 하이퍼네트워크 사용법
- Stable Diffusion - AI 확대도구 사용법
- Stable Diffusion - 구역분할 프롬프트 사용법
- Stable Diffusion으로 멋진 이미지 만들기