어제 오늘자로 컨트롤넷 WEBUI 확장에서


SEG, NORMAL MAP 기능이 추가됨에 따라 설치 및 사용 방법에 대해 알려주겠음


예전 pix2pix나 wd+sd뎁스보다 성능 ㄹㅇ 확실하니 찍먹 꼭 해라


미니콘다 방식으로 설치한 사람도 넘어가도 괜찮을 듯함



모든 기능이 작동하긴 하는데,


아직 WIP라 계속 개선해나갈테니 하루 한번쯤은 확장기능 업데이트 누르는걸 권장



1. 확장기능 -> URL로부터 확장기능 설치로 가서 아래 링크를 입력하고 설치한다. 

https://github.com/Mikubill/sd-webui-controlnet


2번에서 Refresh model했을때 추가된 모델 안보일 수 있으니, 설치한 다음에 일단 WEBUI 완전 종료한다.





2. https://huggingface.co/lllyasviel/ControlNet/tree/main/models

https://civitai.com/models/9251/controlnet-pre-trained-models


위 링크에 가서 모델을 다운 받는다. (huggingface는 원본, civitai는 용량 압축모델)


huggingface 원본 파일은 다 합쳐서 50기가 가까이 되니까 용량 부족한 사람은 civitai가서 압축 모델 받거나


찝찝하면 huggingface에서 필요한 원본 모델만 다운받으면 됨



그리고 제발 모델 하나만 받아놓고 왜 안되냐고 그러지 마라.


openpose할거면 openpose 모델 받아야지 왜 canny 모델받아놓고 안된다 그럼?


Civitai에서 무지성으로 다운로드 누르지말고 밑으로 스크롤해서 필요한 모델로 바꿔 받아라





그리고 혹시 이전에 미니콘다 방식으로 설치한 사람들은


기존 애니띵 병합모델 삭제하고 이거로 새로 받아라. 


그 이유는 간단함




WEBUI 확장에선 모델 병합없이도 다른 모델이랑 쓰까쓰기 가능함





3. stable-diffusion-webui\extensions\sd-webui-controlnet\models


확장 기능이 설치된 폴더로 이동해보면 models 폴더가 있을텐데


여기에 2번에서 다운받은 모델을 집어넣으면 됨






4. TXT2IMG 또는 IMG2IMG 탭에서 아래로 스크롤해보면 ControlNet 확장기능이 있을거임


Enable 체크하면 되고, 자기 VRAM이 8기가 이하다 싶으면 Low VRAM도 같이 체크하면 됨


preprocessor랑 model을 설정해야 사용 가능한데 이건 조금 뒤에 설명함



Weight는 컨트롤넷이 적용되는 강도라고 생각하면 됨


분석결과가 100% 동일한거 보면 알겠지만, 컨트롤넷 분석 결과를 얼마나 충실히 재현할지 고르는거라고 보면 될듯



리사이즈 모드는


뭘 골라도 애자같으니 애초에 그림 width, height 사이즈랑 일치시키는게 낫지만


일단 어떻게 작동하는지 보여주자면 아래와 같음




Outer Fit은 그림 사이즈랑 맞지 안될 경우 무조건 대가리깨져도 확대함. 걍 좌우를 쳐내는게 맞지 않노..


inner fit은 그림 사이즈랑 맞지 않을 경우 레터박스를 넣으면서 비율을 유지함


Just resize 고르는 흑우없제? 그림 찌그러진다 하지마라




img2img탭에서 오류 뜨는 경우는 ControlNet에만 이미지 넣고, img2img엔 이미지 안넣어서 그런거임


딱히 img2img 기능이 필요하지 않으면 txt2img탭으로 굴리면 된다. txt2img탭의 ControlNet에도 img 넣는 기능이 있음




 


https://arca.live/b/aiart/69724880


컨트롤넷 처음이면 위 링크 일단 읽어봐라


각 모델별 추가 설명은 위 링크에 가보면 있음. 


용량 넉넉하면 openpose 외에도 Depth, Normal, Canny, HED 등 다른거도 받아봐라. 쓸만함


그리고 포즈 추출할거면 openpose 받아야지 

선 따주는 canny받아놓고 왜 안된다 그럼?


모델별로 특징이 다르니 엉뚱한 모델 받아놓고 안된다고 하지마라




Preprocessor None = 직접 생성한 뼈대, 뎁스맵 등의 이미지를 넣을 때


Preprocessor 설정 = 사진에서 뼈대, 뎁스맵 등을 추출할 때




1-a. Pose 설정방법 (사진/그림에서 뼈대 추출할 때)




1-B. Pose 설정방법 (직접 만든 뼈대를 입력할 때)




2-A. Depth 설정방법 (사진, 그림에서 뎁스맵 추출할 때)




2-B. Depth 설정방법 (직접 제작한 뎁스맵 입력할 때)




3. Normal 설정방법




4. Seg 설정방법


* SEG가 목록에 안나올경우 cmd창 열고 pip install prettytable 하고 WEBUI 껐다 켜봐라




5. MLSD 설정방법




6. CANNY 설정방법




7. HED 설정방법




8. SCRIBBLE 설정방법


preprocessor는 none으로 설정한 상태로 두고 모델만 변경하면 됨


손으로 그린 그림 밑에 넣으면 된다.





9. SCRIBBLE INTERACTIVE 설정방법


preprocessor는 none으로 설정한 상태로 두고 모델만 변경하면 됨


opening draw canvas 클릭해서 그리는거 나오면 거기다 그리면 된다.




10. SCRIBBLE fake 설정방법






딱히 포즈, 뎁스맵, scribble에서만


Preprocessor none으로 해놓고 직접 만든 데이터 넣는거 되는게 아니라 다른거도 다 됨. 


그냥 자주 찾는 것들만 예시로 해놓은거임