이런 문제를 해결할 수 있는 것이 Depth-guided 모델 입니다.
입력된 이미지로부터 장면의 구성을 담고있는 뎁스맵을 생성하고, 이 뎁스맵을 사용해서 이미지를 생성하는 것으로, 높은 디노이징 강도에서도 원본과 동일한 포즈와 구도를 유지할 수 있는 특수 모델입니다.
사용법에 대해서는 15편을 참고하세요 : https://bbs.ruliweb.com/community/board/300143/read/60114346
하지만 뎁스 모델도 어디까지나 이미지 전체를 한번에 생성하는 것이기에 세세한 조정이 어렵다는 한계가 있습니다.
예를 들면 캐릭터 복장은 마음에 드는데 배경이 이상하다거나 배경과 분위기만 조금 수정하고 싶을 경우가 있습니다.
인페인팅을 사용할수도 있지만, 안 그래도 인터페이스가 복잡한데 세세한 마스크칠을 하는 것은 꽤 성가십니다.
사실 제일 좋은 방법은 러프를 그려서 Img2Img를 하는 것이지만 기왕 AI를 사용했으니 마지막까지 AI만 써보기로 합시다.
이럴 때 사용할 수 있는 것이 InstructPix2Pix 모델입니다.
출처 : timbrooks/instruct-pix2pix · Hugging Face
Pix2Pix 모델은 언어 모델(GPT-3)와 텍스트-이미지 모델(Stable diffusion)의 특성을 결합한 모델로 ChatGPT처럼 텍스트를 사용해서 이미지를 보다 정밀하게 수정하는 것이 가능합니다.
아래 이미지에 보이는 것처럼 명령형의 텍스트 프롬프트로 보다 정확한 이미지를 생성하는 것이 가능합니다.
사용법은 간단합니다.
(Automatic1111 webui 기준입니다. : AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com))
1. 먼저 Webui를 최신 버전으로 업데이트합니다.
2. Pix2Pix 모델을 다운받습니다.
instruct-pix2pix-00-22000.safetensors를 받아서 일반 모델들과 같은 경로에 넣으시면 됩니다.
모델 파일 : timbrooks/instruct-pix2pix at main (huggingface.co)
3. Pix2Pix 익스텐션을 설치합니다.
익스텐션의 주소를 복사해서 Extensions/Install from URL/URL for extension's git repository 에 입력한 다음 Install을 누르고 Webui를 다시 시작해주세요.
주소 : https://github.com/Klace/stable-diffusion-webui-instruct-pix2pix
설치가 끝나면 Instruct-pix2pix탭이 생깁니다.
각 항목의 의미는 다음과 같습니다.
-Prompt : 일반적인 프롬프트입니다.
-Negative Prompt : 일반적인 네거티브 프롬프트입니다.
-Generate : 이미지 생성 버튼입니다.
-Steps : 이미지 생성에 계산 스텝 횟수입니다. 높을수록 오래 걸리지만 디테일해집니다.
-Number batches : 한번에 생성할 이미지 숫자를 지정합니다.
-Output Resolution : 생성할 이미지의 해상도를 지정합니다.
-Fix Seed/Randomize Seed : 이미지 생성에 사용할 시드 값을 고정할지 랜덤으로 할지 지정합니다.
-Text CFG : 생성될 이미지가 Prompt에 얼마나 충실할지 지정합니다.
-Image CFG : 입력된 원본 이미지에 얼마나 충실할지 지정합니다.
-FixCFG/RandomizeCFG : CFG 값을 고정할지 랜덤하게 변경할지 지정합니다.
-Seed : 이미지 생성에 사용하는 시드값입니다.
이 모델은 일반적인 프롬프트와는 다르게 명령형으로 문장을 입력할 필요가 있습니다.
예를 들면 아래의 왼쪽 이미지를 넣은 다음 프롬프트로 "turn the cat into a potato" 라고 입력하면 오른쪽 이미지가 생성됩니다.
이제 응용을 해봅시다.
1번의 남자 이미지를 입력한 다음 "곰으로 바꿔"라고 실행하면 2번 이미지가 생성됩니다.
(당연히 영어로 입력해야 합니다)
2번 이미지를 다시 입력한 다음 "배경을 설원으로 바꿔"라고 실행하면 3번 이미지가 생성됩니다.
마지막으로 디테일 향상을 위해서 평소 사용하는 모델로 Img2Img를 해서 고해상도 이미지를 완성합니다.
1 : 원본 / 2 : 남자를 곰으로 / 3 : 배경을 설원으로 / 4 : 디테일업
하지만 이 모델은 SD 1.5 베이스이기 때문에 실사가 아닌 2D 일러스트 생성에는 적합하지 않습니다.
이럴 때는 인페인팅 모델과 마찬가지로 다른 2D 모델과 병합해주면 됩니다.
병합에 관해서는 12편을 참고해주세요.: (AI) AI로 그림을 수정하기 튜토리얼 12 | 유머 게시판 | RULIWEB
다만 현재 기준으로는 아직 병합에 필요한 스크립트가 업데이트되지 않은 상태라 직접 수정할 필요가 있습니다.
! 주의 ! Git 사용이 익숙하지 않은신 분들에게는 권장하지 않습니다 ! 주의 !
방법은 다음과 같습니다.
1 . 아래 링크의 글을 참고해서 stable-diffusion-webui\modules 경로에 있는 extras.py 파일을 수정합니다.
가까운 시일내에 업데이트될 가능성이 높으니 귀찮으신 분들은 그냥 기다리시는 것도 좋을듯 합니다.
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/7010#issuecomment-1403241655
2. 모델 병합 탭으로 이동해서 아래 이미지와 같이 설정하고 병합합니다.
A : Pix2Pix 모델 / B : 병합하려는 모델 / C : SD 1.5 모델 / Add difference / M : 1.0
1.5 모델은 여기서 받으실 수 있습니다. v1-5-pruned-emaonly.ckpt · runwayml/stable-diffusion-v1-5 at main (huggingface.co)
이제 병합한 PixPix 2D모델을 사용해서 2D 이미지를 생성할 수 있습니다.
명령문만이 아니라 태그를 추가하면 좀 더 디테일한 이미지 생성이 가능합니다.
1 : 원본 / 2 : 남자를 핑크 레깅스를 입은 소녀로 변경 / 3 : 배경을 드레싱룸으로 변경 / 4 : 디테일업
1 : 원본 / 2 : 남자를 흰색 비키니를 입은 여자로 변경 / 3 : 배경을 해변으로 변경 / 4 : 디테일업
배경과 캐릭터를 한번에 생성하는 것도 가능합니다.
1 : 원본 / 2 : 1을 놀이터에서 달리고 있는 소녀로 변경 / 3: 디테일업
배경이 마음에 안 들면 다시 수정할 수도 있습니다.
1 : 원본 / 2 : 배경을 숲으로 변경 / 3: 디테일업
Image CFG와 Text CFG 값을 조정하면 배경을 어느 정도 유지하면서 캐릭터만 바꾸는 것도 가능합니다.
1 : 원본 / 2 : 여자를 교복 소녀로 변경 / 3: 배경을 화재 현장으로 변경 / 4 : 디테일업
들고 있는 물건을 지정해서 수정하는 것도 가능합니다.
1 : 원본 / 2 : 남자를 여기사로 변경 / 3 : 배트를 검으로 변경 / 4 : 배경을 성으로 변경 / 5 : 디테일업
뎁스모델과 마찬가지로 단순한 3D 포징 프로그램의 스크린샷으로도 이미지를 생성할 수 있습니다.
1 : 원본 / 2 : 사람 모델을 빨간머리 여자로 변경 / 3 : 배경을 도로로 변경 / 4 : 디테일업
1 : 원본 / 2 : 1을 해변에 앉아있는 소녀로 변경 / 3 : 노란색 새를 흰색으로 변경 / 4 : 디테일업
1 : 원본 / 2 : 사람 모델을 금발 소녀로 변경 / 3 : 녹색 박스를 의자로 변경 / 4 : 배경을 바다로 변경 / 5 : 디테일업
1 : 원본 / 2 : 금발 소녀로 변경 / 3 : 배경을 밤바다로 변경 / 4 : 의자를 나무로 변경 / 5 : 디테일업
1 : 원본 / 2 : 금발 소녀로 변경 / 3 : 배경을 바다로 변경 / 4 : 디테일업
어비스 오렌지믹스 2만 사용하고 있지만 그냥 모델 변경하기 귀찮아서 그런 것이니 원하시는 모델을 사용하시면 됩니다.
파스텔 믹스 : andite/pastel-mix · Hugging Face
Analog diffusion : Analog Diffusion | Stable Diffusion Checkpoint | Civitai
Basil Mix : nuigurumi/basil_mix · Hugging Face
(IP보기클릭)121.162.***.***
모델마다 특성이 있어서 실사풍 이미지를 생성하려면 실사 모델을 사용해야 합니다. 디테일업 부분에 실사 모델을 사용해서 생성한 이미지는 이렇습니다.
(IP보기클릭)121.162.***.***
걱정해주셔서 감사합니다! 그래도 최근에는 탭 바꾸라고 지적하시는 분들은 없는 것 같기는 합니다.
(IP보기클릭)183.98.***.***
올려주시는 글 잘 보고 있습니다 컴터 새로 살 돈 없어서 웹ui 보면서 맨날 손가락만 빠네요 따흐흑
(IP보기클릭)121.183.***.***
(IP보기클릭)222.101.***.***
그는 신이야!
(IP보기클릭)175.212.***.***
신기혀
(IP보기클릭)121.162.***.***
13편이 Lora에 대한 내용입니다. https://bbs.ruliweb.com/community/board/300143/read/59967569?search_type=member_srl&search_key=3533827
(IP보기클릭)223.62.***.***
(IP보기클릭)154.47.***.***
(IP보기클릭)211.106.***.***
(IP보기클릭)183.98.***.***
올려주시는 글 잘 보고 있습니다 컴터 새로 살 돈 없어서 웹ui 보면서 맨날 손가락만 빠네요 따흐흑
(IP보기클릭)121.162.***.***
사양이 부족하시다면 colab이나 Stalbe horde 같은 온라인 서비스를 이용하시는 방법도 있습니다. 속도가 조금 느리고 번잡하기는 하지만 나름 쓸만합니다. https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Online-Services | 23.01.27 00:30 | | |
(IP보기클릭)1.234.***.***
원클릭 코랩은 잘 쓰고 있습니다 자동좌님 차냥해 | 23.01.27 10:06 | | |
(IP보기클릭)118.235.***.***
(IP보기클릭)154.47.***.***
아예 실사는 좀.. 써보면 암 | 23.01.26 22:22 | | |
(IP보기클릭)121.162.***.***
모델마다 특성이 있어서 실사풍 이미지를 생성하려면 실사 모델을 사용해야 합니다. 디테일업 부분에 실사 모델을 사용해서 생성한 이미지는 이렇습니다. | 23.01.27 00:21 | | |
(IP보기클릭)112.212.***.***
(IP보기클릭)121.183.***.***
(IP보기클릭)175.212.***.***
신기혀
(IP보기클릭)211.178.***.***
그저... 따봉... 미쳐버린 성능에 무릎꿇고 오열하는중
(IP보기클릭)121.162.***.***
azalin
자작 기타로 올릴려고 했는데 실수로 자작그림에 올라갔네요 ㅎㅎ | 23.01.27 00:00 | | |
(IP보기클릭)121.162.***.***
azalin
걱정해주셔서 감사합니다! 그래도 최근에는 탭 바꾸라고 지적하시는 분들은 없는 것 같기는 합니다. | 23.01.27 00:11 | | |
(IP보기클릭)222.101.***.***
그는 신이야!
(IP보기클릭)119.203.***.***
(IP보기클릭)121.162.***.***
13편이 Lora에 대한 내용입니다. https://bbs.ruliweb.com/community/board/300143/read/59967569?search_type=member_srl&search_key=3533827 | 23.01.27 00:58 | | |
(IP보기클릭)119.203.***.***
아침에 읽어봐야겠네요 감사합니다 | 23.01.27 01:06 | | |
(IP보기클릭)104.28.***.***
(IP보기클릭)39.7.***.***
(IP보기클릭)223.38.***.***
(IP보기클릭)118.35.***.***
(IP보기클릭)221.145.***.***
(IP보기클릭)49.166.***.***
(IP보기클릭)1.11.***.***
익스텐션의 주소를 복사해서 Extensions/Install from URL/URL for extension's git repository 에 입력한 다음 Install을 누르고 Webui를 다시 시작해주세요. 여기서 Assertion-error: 명령줄 플래그로 인해 확장 액세스가 비활성화되었습니다 라고 에러뜨는데 어떻게 해결할방법 없을까요 선생님?
(IP보기클릭)121.162.***.***
설정문제 같습니다. cmd 창에 어떤 오류 메시지가 없는지 확인해보세요. webui-user.bat 안의 set COMMANDLINE_ARGS= 부분이 원인일 가능성이 높습니다. | 23.01.29 14:02 | | |
(IP보기클릭)1.11.***.***
set COMMANDLINE_ARGS=--listen --deepdanbooru 이렇게 되어있는데 수정해야될부분이 있을까요 선생님?? | 23.01.29 15:38 | | |
(IP보기클릭)1.11.***.***
cmd상에 에러는 이렇게 뜹니다 | 23.01.29 15:42 | | |
(IP보기클릭)121.162.***.***
--listen 이 있으면 익스텐션 설치가 불가능해집니다. 해당 부분을 지우고 설치하시거나 --enable-insecure-extension-access 를 추가로 입력하시면 됩니다. | 23.01.29 16:45 | | |
(IP보기클릭)1.11.***.***
감사합니다 꾸벅 | 23.01.29 20:31 | | |
(IP보기클릭)183.102.***.***
(IP보기클릭)121.162.***.***
어제 머지됐군요ㅎㅎ Auto씨가 작업하는 속도를 보면 사실 사람이 아니라 AI가 아닌가 싶기도 합니다. https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/7240 | 23.01.29 16:54 | | |
(IP보기클릭)1.11.***.***
선생님 Pix2Pix 모델이랑 Pix2Pix 익스텐션 설치했는데 Instruct-pix2pix탭이 안보이면 어떻게 해야될까요? 말씀해주신대로 설치하고 재시작했는데 Instruct-pix2pix 탭이 안생겨요.
(IP보기클릭)121.162.***.***
찾아보니까 버그라고 합니다, Webui와 익스텐션을 최신버전을 업데이트해보세요. https://github.com/Klace/stable-diffusion-webui-instruct-pix2pix/issues/22 | 23.01.31 17:38 | | |
(IP보기클릭)106.247.***.***
(IP보기클릭)121.162.***.***
가능한 여러 방법이 있습니다. 1. 모델 병합. 참고 : https://bbs.ruliweb.com/community/board/300143/read/59532048?search_type=member_srl&search_key=3533827 2. Lora를 사용해서 캐릭터와 그림체를 별도로 학습한 다음 동시에 사용 3. 그림체를 학습한 드림부스 모델과 캐릭터를 학습한 Lora를 동시에 사용 첨부 이미지에서 1~3은 특정 스타일 모델+Lora, 4~5는 Lora 동시 사용으로 생성된 이미지입니다. | 23.02.02 14:13 | | |
(IP보기클릭)106.247.***.***
매번 좋은 정보 공유해주셔서 정말 감사드립니다. | 23.02.02 18:25 | | |
(IP보기클릭)118.47.***.***
(IP보기클릭)59.8.***.***
(IP보기클릭)121.162.***.***
디테일업 과정은 다음과 같습니다. 1. Pix2Pix 모델로 변경된 이미지를 Img2Img 탭으로 전송 2. 모델을 일반 2D 모델로 변경 3. 이미지의 구성이 변형되지 않는 디노이징 강도(0.5 정도)로 img2img 4. 결과물에 따라 3을 반복 5. 낮은 해상도로 반복하다가 마지막은 vram이 허용하는 한도 내에서 최대 해상도로 img2img를 실행. 6. 얼굴과 같이 디테일이 필요한 부분은 인페인팅을 사용해서 부분적으로 디테일업 only masked와 original 옵션을 사용. 7. SD upscale을 스크립트를 사용해서 이미지의 해상도를 2배로 늘리기. 원본 이미지를 512x512로 잘라서 img2img를 한 다음 다시 합치는 방식이라 비교적 적은 vram으로 고해상도 이미지를 생성할 수 있습니다. 기본 스크립트를 사용해도 되지만 제 경우에는 별도 익스텐션을 사용하고 있습니다. https://github.com/Coyote-A/ultimate-upscale-for-automatic1111 8. 마지막으로 디테일이 아쉬운 부분들을 인페인팅으로 한번 더 디테일업 | 23.02.04 10:18 | | |
(IP보기클릭)121.146.***.***