본문 바로가기
소개/정보

스테이블 디퓨전을 사용해서 원하는 캐릭터 이미지 생성해보기

by 매일삼겹살 2025. 2. 9.
반응형

안녕하세요 요즘에 젠존제를 열심히 즐기고 있는데, 게임에 등장하는 캐릭터의 이미지를 만들어 볼 수 있을까 생각으로 글을 작성하게 되었습니다. 

 

준비물

1. 파이썬 3.10.6: https://www.python.org/downloads/release/python-3106/

2. git: https://git-scm.com/

3. stable-diffusion-webui: https://github.com/AUTOMATIC1111/stable-diffusion-webui

4. model: https://civitai.com/models/1109860/ellen-joe-zenless-zone-zero-illustrious

 

 

시작하기전에, 제 컴퓨터의 그래픽카드는 RTX 3060입니다. 이미지 생성할 때 컴퓨터가 살짝 힘들어(소음이 발생, 컴퓨터 느려짐)하는 느낌이 있어서, 참고하시면 좋을 것 같습니다.

 

 

파이썬 설치

https://www.python.org/downloads/release/python-3106/ 페이지에 들어가서 아래로 내리면 이미지와 같은 부분이 보입니다. 자신의 컴퓨터 운영체제에 맞게 다운로드 받으면 됩니다. Description 부분을 보면 Recommended라 되어 있는 파일을 다운로드 받으면 될 거 같습니다.

 

다운로드를 받고, 실행을 하면 Add Python 3.10 to PATH는 환경변수를 추가하는 옵션을 체크하고 Install Now를 클릭합니다.

설치가 완료되었습니다.

 

 

깃 설치

깃 설치는 필수가 아니고, 해당 과정은 넘기셔도 괜찮습니다.

깃은 https://git-scm.com/ 링크에 들어가면, 이미지와 같은 부분이 있습니다. Download for Windows를 클릭합니다.

 

그러면 다운로드 페이지가 나오고, Download for Windows 바로 아래 Click here to download를 클릭합니다.

 

설치하는 과정에서 옵션이 상당히 많이 있습니다. 전부 기본 선택되어 있는것으로 했습니다.

 

 

 

스테이블 디퓨전 설치

스테이블 디퓨전 설치는 https://github.com/AUTOMATIC1111/stable-diffusion-webui 링크에 들어가면, 아래와 같은 페이지가 나오고, 우측에 Code 부분을 클릭하면 여러가지 다운로드 방법을 제공하고 있습니다.

 

 

git clone 명령어를 사용한 다운로드

git clone 방식은, 다운로드를 파일을 집어넣을 폴더를 하나 생성합니다. 이후 해당 폴더에서 마우스 우 클릭을 하면, 해당 위치에서  터미널을 열 수 있는 터미널에서 열기라는 버튼이 있습니다. 

 

 

해당 버튼을 클릭하면 터미널이 열리고, 이 곳에 아래 명령어를 복사해서 붙여넣으면 설치가 완료됩니다.

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git .

 

 

 ZIP 파일 다운로드

Download Zip 버튼을 클릭해서 다운로드 받고, 원하는 위치에 압축을 풀면 됩니다.

 

 

스테이블 디퓨전 실행하기

해당 소스에 깃  페이지에 가면 각 운영체제마다 실행하는 방법이 나와 있습니다. 윈도우의 실행 방법은 이렇습니다.

 

다운로드 파일을 보면 webui-user.bat이라는 파일이 있습니다. 해당 파일을 클릭해서 실행합니다. 아래와 같은 창이 나오는데 실행을 클릭합니다.

 

설치가 조금 오래 걸리는데, 다 설치가 되면 자동으로 사이트가 열립니다.

 

다시 실행할때도 똑같이 webui-user.bat 파일을 클릭하면 됩니다. 그리고 열린 웹사이트가 실행되었다고 위 터미널 창을 닫으면 웹사이트도 동작하지 않습니다. 따라서 사이트를 이용하는 동안에는 터미널을 닫으면 안됩니다.

 

 

CIVITAI 사이트에서 모델 다운로드 받고 적용해보기

이제 https://civitai.com/ 사이트에 가서 내가 원하는 모습의 캐릭터를 검색해서 모델을 다운로드 받으면 되는데, 해당 이미지는 단순히 한가지 모델만 적용된 것이 아닐 수 있습니다. 따라서 제가 작성해놓은 방법으로 완전히 원하는 이미지는 아닐 수 있습니다.

 

제가 선택한 이미지 https://civitai.com/images/49862724 링크입니다. 해당 페이지에 들어갑니다.

 

중요한 건 Generation data 부분입니다. 이곳에서 해당 이미지를 어떻게 만들었는지 알 수 있습니다

show 1 more를 클릭하세요.

 

 

Resources used 부분에 WAI-NSFW-illustrious-SDXL을 클릭하면 다운로드 할 수 있는 페이지가 나오고 다운로드합니다.

 

 

그외 resouce부분에 있는 나머지 3개도 클릭해서 다운로드 합니다.

Ellen Joe - Zenless Zone Zero (Illustrious), SOME STYLES | NoobAI-XL (NAI-XL) | Illustrious-XL, Aesthetic Quality Modifiers - Best Quality

다운로드 버튼 위치

 

 

WAI-NSFW-illustrious-SDXL은 type이 Checkpoint Merge라고 되어있는데 해당 파일은 models내 stable-diffusion 폴더에 추가해 줍니다. 그리고 나머지 2개 파일은 type이 LORA라고 되어 있으니 LORA 폴더에 추가해 줍니다.

 

 

모델과 옵션 적용하기

- checkpoint 선택

추가가 되었으면, 이미지의 11시 부분에서 checkpoint를 선택할 수 있습니다. 추가했는데 보이지 않는다면 잘못추가 했거나, 셀렉트 박스 옆에 새로고침 버튼을 클릭해보세요.

이상하게 해당 checkpoint로 해당 모델을 선택했을때 적용이 잘 안되더라고요. 여러번 시도 했더니 적용 되었습니다.

 

 

 

 

Prompt, Negative Prompt 추가

위 이미지에 보면, Prompt 부분에 우측 부분 버튼을 클릭하면 copy가 됩니다.

 

 

Other metadata 추가

위 이미지에서 COPY ALL을 클릭하면 모든 옵션을 복사할 수 있습니다.

 

masterpiece, best quality, best angle, amazing quality, best resolution, 
<lora:EllenJoe:0.6>, (solo), 1girl, shark girl , Ellen Joe, zenless zone zero characters, 
zenless zone zero breasts, short hair, bangs, multiple girls, large breasts, black hair, red eyes, dress, jewelry, sitting, tail, short sleeves, red hair, multicolored hair, earrings, frills, solo focus, indoors, black dress, cup, wrist cuffs, maid, maid headdress, piercing, ear piercing, maid apron, 
<lora:illustrious_best_quality_v1:0.8>, <lora:xmc_v0.3_noobai_cwhj:0.8>,

Negative prompt: safe_neg, 3D, deformation, sketch, censor, tattoo, wip,negative_hand-neg, verybadimagenegative_v1.3, ng_deepnegative_v1_75t (worst quality), (low quality), (normal quality), lowres,normal quality, ((monochrome)), ((grayscale)), ((watermark)),bad anatomy,bad hands, bad mouth, bad tongue, bad arms, extra arms, bad eyes, extra limbs, NSFW,

Steps: 30, CFG scale: 5, 
Sampler: Euler a, Seed: 3733003622, 
Size: 810x1215, 
Model: waiNSFWIllustrious_v80, Version: v1.10.1, 
Model hash: 63e5c28bf8, 
Hires steps: 25, 
Hires upscale: 1.7, Schedule type: Automatic, 
Hires upscaler: 4x-AnimeSharp, Denoising strength: 0.2

첫 줄부터 Negative prompt 전까지, prompt부분에 추가하는 부분이고, 위에서 했으니 넘어갑니다. Negative prompt도 위에서 추가했으니 넘어갑니다. 그 아래로 Steps 부터 Generation 부분에 적용해 주면 됩니다.

 

Hires Upscaler 부분에 4x-AnimeSharp 부분이 없는데 AnimeSharp는 https://huggingface.co/Kim2091/AnimeSharp 여기서 다운로드 받습니다.

 

다운로드 받은 4x-AnimeSharp.pth 파일은, models폴더 내 ESRGAN폴더에 추가합니다. 폴더가 없으면 생성하고 추가합니다.

추가를 했으면 stable diffusion을 재실행 해줍니다. (터미널 종료 후, webui-user.bat 파일을 클릭)

stable-diffusion-webui/
│── models/
│   ├── Stable-diffusion/  (Checkpoint 모델)
│   ├── Lora/  (LoRA 모델)
│   ├── ESRGAN/  (업스케일러 모델 폴더)
│   ├── embeddings/  (Textual Inversion)
│   ├── hypernetworks/  (Hypernetwork 모델)

 

 

 

 

 

이미지 생성하기

모든 옵션을 설정했으면 우측 상단 GENERATE를 클릭해서 이미지를 생성합니다.

 

 

처음에는 checkpoint 값을 잘못 설정했는지 전혀 다른 캐릭터가 나왔습니다.

사이트에 있는 이미지와 거의 똑같이 생긴 이미지가 나와서 놀람

 

프롬프트를 어떻게 입력하냐에 따라서, 다양하게 생성이 되더라고요. 글 봐주셔서 감사합니다.

728x90

댓글