본문 바로가기
AI · 인공지능/이미지 생성 AI

「Stable Diffusion」으로 만들기 어려웠던 구도를 작성할 수 있는「multi-subject-render」

by 두우우부 2022. 11. 28.
반응형


이미지 생성 AI "Stable Diffusion"에서는 여러 피사체를 포함하는 이미지를 만드는 것이 어렵습니다. 이 문제를 해결하기 위해 "배경 이미지와 피사체의 이미지를 별도로 생성하여 AI의 힘으로 합성"하는 기술을 실행할 수 있는 스크립트 "multi-subject-render "가 공개되었기 때문에 실제로 사용해 보았습니다.

GitHub - Extraltodeus/multi-subject-render: Generate entire harems of waifus using stable diffusion

GitHub - Extraltodeus/multi-subject-render: Generate multiple complex subjects all at once!

Generate multiple complex subjects all at once! Contribute to Extraltodeus/multi-subject-render development by creating an account on GitHub.

github.com


easily GUI「Stable Diffusion web UI(AUTOMATIC1111판)」의 확장 기능으로서 배포되고 있습니다.
Stable Diffusion web UI(AUTOMATIC1111판)의 설치 순서는 아래 글 참고.

스테이블 디퓨전 결정판「Google Colab + Stable Diffusion Web UI AUTOMATIC1111판」설치 정리

스테이블 디퓨전 결정판「Google Colab + Stable Diffusion Web UI AUTOMATIC1111판」설치 정리(GPU 불필요)

이미지 생성 AI 「Stable Diffusion」을 간단하게 이용하기 위한 환경 중 하나인 「Stable Diffusion web UI」의 개발 기여자 중 한 명인 AUTOMATIC1111씨가 「기능 총집판 Stable Diffusion web UI」를 배포했습니다.

doooob.tistory.com


Stable Diffusion web UI (AUTOMATIC 1111 버전)를 시작한 후 "Extensions"탭으로 이동한 다음 "Install from URL"을 선택하고 URL 입력란에
https://github.com/Extraltodeus/multi-subject-render 를 입력하여 Install을 클릭합니다.


그런 다음 Installed로 이동하여 multi-subject-render가 표시되는지 확인한 다음 Apply and restart UI를 클릭합니다.


Stable Diffusion web UI(AUTOMATIC1111판)를 재기동하면, txt2img 탭 하단의 스크립트 선택란에서「Multi Subject Rendering」을 선택할 수 있게 됩니다.



Multi Subject Rendering을 선택하여 아래와 같은 화면이 표시되면 설치가 성공합니다.


multi-subject-render를 이용한 화상 생성의 순서는 이런 느낌. 먼저 일반 프롬프트 입력 영역에 배경이 되는 이미지 프롬프트를 입력합니다. 이번에는 "a beach, sunny sky"를 입력했습니다.



그런 다음 Multi Subject Rendering에서 Foreground prompt에 생성하려는 피사체의 프롬프트를 입력하고 Number of foreground images에서 피사체 수를 선택한 다음 blend width/blend height에서 생성된 이미지 해상도를 지정합니다. 이때 프롬프트 끝에 " , (bokeh), (F1.8 : 1.2)"를 입력하면 피사체의 잘라내기가 성공하기 쉽다는 것.

이번에는 " standing dog, full body, (bokeh), (F1.8:1.2) "라는 프롬프트를 입력하고 피사체의 수는 2, 해상도는 1024 ×512로 설정했습니다.


그런 다음 Generate를 클릭하기만 하면 이미지를 생성할 수 있습니다. 처음에는 필요한 데이터의 다운로드가 시작되므로 생성 완료까지 몇 분 정도 걸립니다.



생성 결과가 아래. 모래사장을 배경으로 2마리의 개를 그릴 수 있었습니다만, 개의 발밑에 모래사장이 아닌 지면이 남아버렸습니다.


개의 발은 잘라내기가 어렵다고 추측되므로, 이번에는 Foreground prompt에 standing dog, full body,a beach, sunny sky, (bokeh), (F1.8:1.2) 라는 프롬프트를 입력하여 개의 발밑에 모래 해변이 생성되도록 해 보았습니다.


생성 결과는 이런 느낌. 목표대로, 모래 해변에 두 마리의 개가 서있는 이미지를 생성할 수 있었습니다.


상기의 설정으로「Number of foreground images」를 4로 변경하여 생성한 이미지가 아래. 개를 4마리 그리는 데는 성공했지만, 개의 일부가 없어져 버렸습니다. 여러 장을 생성하거나 프롬프트를 좀더 고민해 본다면 목표로 하는 이미지를 생성할 수 있을 것 같습니다.



이번에는 모델 데이터를 일러스트 특화된 "Waifu-Diffusion"으로 전환하고 배경 이미지를 교실로 만들기 위해 프롬프트 입력란에 "classroom"을 입력했습니다.


또한 "Foreground prompt"에는 "1girl, solo, smile, bow, jacket, :d, hairband, bowtie, bangs, blazer, shirt, purple eyes, open mouth, school uniform, looking at viewer, purple hair, upper body , blue jacket, long sleeves, short hair, (bokeh), (F1.8:1.2) "를 입력했습니다.


이미지 생성 결과는 이런 느낌. 지시대로 교실에 두 명의 소녀가 있는 이미지를 생성할 수 있었습니다.



Foreground prompt에 프롬프트를 입력할 때 줄 바꿈 하여 여러 프롬프트를 입력하면 생성할 각 피사체에 대해 프롬프트를 지정할 수 있습니다. 이번에는 위의 프롬프트 바로 뒤에 줄 바꿈을 삽입한 다음 "hair, upper body, blue jacket, long sleeves, long hair, (bokeh), (F1.8:1.2)" 라는 프롬프트를 추가해 보았습니다.


생성 결과는 이런 느낌. 다른 헤어스타일과 다른 헤어 컬러를 가진 소녀를 한 장의 이미지 안에 담을 수 있었습니다.

반응형