스테이블 디퓨전 컨트롤넷 – WebUI 필수 확장프로그램 5종 설치 방법

스테이블 디퓨전에 입문하시는 많은 분들이 Automatc1111의 WebUI를 선택합니다. WebUI에서는 스테이블 디퓨전 컨트롤넷(ControlNet)을 비롯해 tagger, SuperMerger 등 다양한 확장기능(extensions)을 쉽고 빠르게 설치하고 활용할 수 있습니다. 본 글에서는 스테이블 디퓨전 확장프로그램 설치 방법에 대해 살펴보고, 컨트롤넷을 포함한 필수 확장프로그램 5종을 소개드리도록 하겠습니다.

WebUI 확장프로그램 설치 방법

A1111 WebUI에서 확장프로그램(extensions)를 설치하는 방법은 크게 3가지가 있는데요, 그 중 한가지는 직접 확장 플러그인의 Git 주소를 얻어 extensions 폴더에서 git clone하는 방법입니다. 물론 이렇게 진행해도 되지만, 되도록이면 WebUI 내에서 마련해둔 확장프로그램 관리 탭에서 설치하시는 것을 추천드립니다. 아래에서는 WebUI Extentions 탭에서 각종 확장프로그램을 설치하는 2가지 방법에 대해 살펴보도록 하겠습니다.

Available에서 설치하기

Extentsions > Available 탭으로 이동하면 Load from이라는 버튼이 보입니다. 이 버튼을 누르면 화면 하단에 설치 가능한 확장 프로그램들이 쭉 나타나게 됩니다.

WebUI 스테이블 디퓨전 확장프로그램 설치 방법

만약 특정 확장프로그램을 설치하고 싶으시다면 검색창에 키워드를 입력하면, 아래 설치 가능 목록이 필터링 되는데요, 원하는 프로그램을 찾아 우측 Action 탭에서 Install 버튼을 누르면 자동으로 설치가 진행됩니다.

WebUI 재시작

보통은 확장 프로그램 설치가 완료되었어도 WebUI에 바로 반영되지 않는데요, 당황하지 않고 Extensions > Installed 탭으로 온 뒤 아래 목록에 방금 설치한 확장프로그램명이 있는지 확인한 뒤, Apply and restart UI 버튼을 눌러줍니다. 그럼 WebUI가 재시작되면서 확장프로그램이 나타나게 됩니다.

설치를 잘 마쳤으나 위 방법으로 설치된 프로그램이 WebUI에 반영이 잘 안되는 경우 Check for updates를 먼저 누른 뒤 Apply and restart UI를 눌러보시고, 그래도 안되는 경우 아예 WebUI를 모두 종료한 뒤 다시 시작해보시기 바랍니다. 확장 프로그램들 중에 종종 WebUI를 완전히 재시작해야 초기 설정을 마치고 나타나는 경우가 있기도 합니다.

Install from URL

두 번째 방법은 깃(Git) 주소를 입력하여 설치하는 방법입니다. 이 방법은 주로 Available 탭에서 조회가 안되는 추가 기능을 설치할 때 사용하는 방법입니다.

WebUI 스테이블 디퓨전 확장프로그램 URL 설치 방법

위 그림과 같이 Extensions > Install from URL 탭으로 이동합니다. 아래의 URL for extensions’s git repository 칸에 Github 페이지 주소(repository 주소)를 입력한 뒤 하단의 Install 버튼을 눌러줍니다. 이후 설치가 완료되면 Available에서 설치한 것과 동일하게 Installed 탭에서 설치 목록을 확인하고 WebUI를 재시작해주면 됩니다.

필수 확장프로그램 5종

이제 확장프로그램을 설치하는 방법을 알았으니, WebUI 설치 후 필수로 설치해두면 좋은 기능 5개를 소개드리도록 하겠습니다.

프롬프트 자동완성

WebUI에서 프롬프트를 작성할 때는 모두 영어로 작성합니다. 영어권 국가 출신이거나, 영어로 생활을 하시는 분들께는 큰 문제가 없겠지만, 아무리 영어를 잘하는 분이더라도 영어를 외국어로 접한 사람들은 사용 가능한 어휘에 제한이 있기 마련입니다. 이때 굉장히 큰 토움이되는 것이 바로 프롬프트 자동 완성 기능입니다.

WebUI tagcomplete 프롬프트 자동완성

위 이미지와 같이 긍정 프롬프트 창에 gi만 입력했지만, 아래에 gi가 포함된 단어 중 가장 빈도수가 높은 순서로 추천 단어가 등장합니다. 해당 기능을 설치할 주소는 아래와 같습니다.

스테이블 디퓨전 컨트롤넷

컨트롤넷(ControlNet)은 아마 스테이블 디퓨전의 모든 확장프로그램 중에 가장 사용 빈도수가 높은 확장기능일 것으로 예상됩니다.

스테이블 디퓨전 컨트롤넷 예시 이미지

Openpose, Depth, Canny, Lineart, Scribble, Tile, Inpaint, IP-Adapter 등 수많은 기능을 탑재하고 있으며, 임의 생성되는 스테이블 디퓨전 이미지에 사용자의 의도를 더욱 명확하게 지시할 수 있는 강력한 도구입니다.

컨트롤넷 모델 다운로드

위에서 설치한 스테이블 디퓨전 컨트롤넷의 경우 기능 동작을 위한 틀이 갖춰진 것이고, 그 속에 실제 각 기능들을 동작하게 하려면 openpose, depth 등 각 세부 기능별 모델을 다운받아야 합니다. 각 모델은 아래 링크에서 다운받을 수 있으며, 다운받은 모델은 WebUI 설치 폴더 내 extensions/sd-webui-controlnet/models 폴더로 옮겨주시면 됩니다.

로라 블록웨이트

WebUI에서 로라(LoRA)를 적용할 때 원하는 부위에만 제한적으로 적용할 수 있도록 해주는 확장 기능입니다. 로라는 스테이블 디퓨전 컨트롤넷만큼이나 활용 빈도가 높은 기능인데요, 블록웨이트(block weight) 기능을 함께 사용함으로써 그 활용성이 배가됩니다.

자세한 로라 블록웨이트의 자세한 사용법에 대해서 궁금하신 분들은 아래 글을 참고하시기 바랍니다.

모델 병합

SuperMerger라는 확장 기능을 활용하면 보유하고 있는 모델(체크포인트)를 병합하거나, 모델에 로라 모델을 병합하는 등의 작업을 자유자재로 할 수 있습니다. 개인적으로는 주로 자주 쓰는 로라를 모델에 병합하는 방식으로 나만의 모델을 만들어 사용하곤 합니다.

SuperMerger를 활용해 기존 모델에 로라를 병합하는 방법에 대해 궁금하신 분들은 아래 글을 참고하시기 바랍니다.

랜덤 프롬프트

마지막으로 무작위 랜덤 프롬프트(와일드카드)를 적용할 수 있도록 해주는 기능인 다이나믹 프롬프트를 추천드립니다. 다이나믹 프롬프트 기능을 설치한 뒤 와일드카드(wildcard)를 작성하여 프롬프트에 사용하면, 계속해서 다른 프롬프트를 적용해 WebUI 가 그림을 무한 생성하도록 명령할 수 있습니다.

와일드카드를 작성하고 활용하는 자세한 방법에 대해 궁금하신 분들은 아래 글을 참고하시기 바랍니다.

스테이블 디퓨전 확장프로그램 제거 방법

앞서 확인한 바와 같이 스테이블 디퓨전 컨트롤넷 및 여타 확장프로그램을 설치하는 것은 그리 어려운 일이 아닙니다. 그런데, WebUI 내에서 설치 기능은 제공하지만 삭제 기능은 따로 제공하지 않는데요, 이 때문에 어떻게 확장프로그램을 삭제하는지 궁금해하시는 분들이 많은 것 같습니다. 스테이블 디퓨전 확장프로그램 삭제는 의외로 굉장히 간단합니다.

WebUI 스테이블 디퓨전 확장프로그램 삭제 방법

여기서는 스테이블 디퓨전 컨트롤넷을 예시로 하여 그 삭제 방법을 알아보도록 하겠습니다. WebUI에서 설치한 확장 프로그램의 경우 위 그림과 같이 실제로는 WebUI 설치 폴더 내 extensions 폴더에 모두 존재합니다. 따라서 만약 스테이블 디퓨전 컨트롤넷(sd-webui-controlnet)을 삭제하고 싶다면 extensions 폴더 안에서 삭제하고자 하는 확장프로그램명의 폴더를 그대로 지워주면 됩니다. 삭제 후 다시 WebUI를 실행하면 확장기능이 정상적으로 삭제된 것을 확인할 수 있습니다.