Stable Diffusion

Stable Diffusion 원하는 자세로 이미지 생성하기 - [SD - 9]

셀균 2023. 9. 20. 18:10

Stable Diffusion의 여러 확장 기능들을 활용하면 배경 제거뿐 아니라 원하는 자세로도 이미지를 생성할 수 있는데요. 먼저 아래 확장기능 두 개를 다운로드하여주세요.

https://github.com/Mikubill/sd-webui-controlnet
https://github.com/fkunn1326/openpose-editor

확장기능 -> URL에서 설치 -> git 레포 작성
확장기능 -> URL에서 설치 -> git 레포 작성

 

 

 

그다음 아래 링크에 들어가서 controlNet 모델에 넣을 파일을 다운로드해줍니다. 5기가 정도 되는 파일이기 때문에 용량을 확인해 주세요.

https://huggingface.co/lllyasviel/ControlNet/blob/main/models/control_sd15_openpose.pth

 

models/control_sd15_openpose.pth · lllyasviel/ControlNet at main

Detected Pickle imports (4) "collections.OrderedDict", "torch._utils._rebuild_tensor_v2", "torch.LongStorage", "torch.FloatStorage" What is a pickle import?

huggingface.co

 

다운로드 클릭!
다운로드 클릭!

stable-diffusion-webui\extensions\sd-webui-controlnet\models 경로에 다운로드한 모델을 옮겨주세요. 이제 다시 stable diffusion을 재시작해주시면 아래와 같이 확장 기능 탭이 새로 생성된 걸 볼 수 있습니다.

 

오픈 포즈 에디터!
다이나믹 프롬프트 밑에 controlnet이 새로 생겼습니다.

 

 

상단의 OpenPose Editor로는 인물 포즈를 직접 제작하거나 다른 이미지의 자세를 그대로 따올 수 있습니다. 저는 그냥 그림판으로 단순하게 그려봤어요. 

에디터 탭에서 자세 설정
에디터 탭에서 자세 설정
Detect from Image를 눌러 자세를 가져올 수 있습니다.
Detect from Image를 눌러 자세를 가져올 수 있습니다.
txt2img로 보내기를 눌러줍니다
txt2img로 보내기를 눌러줍니다

그러면 바로 txt2img에 controlnet에 정보가 적용됩니다. 모델은 다운로드한 control_sd15_openpose 모델을 선택해 주세요.

controlnet 설정
controlnet 설정

그 후 이미지를 생성하면 아래와 같이 설정한 자세로 생성되는 것을 볼 수 있습니다.

 

설정한 자세로 생성된 이미지
설정한 자세로 생성된 이미지