Stable Diffusion txt2img 사용방법과 web ui에서 자주 사용되는 옵션
페이지 정보
작성자 zavi 작성일 23-06-18 17:49 조회 5,765 댓글 0본문
먼저 txt2img는 text to img의 줄임말 입니다. 텍스트를 이용해서 이미지를 만들어낸다는 말이죠. txt2img는 ai그림을 뽑아내는 가장 기본적인 방법이기 때문에 실제 ai그림을 뽑아낼 때 가장 먼저 설명해야 하는 부분입니다.
1. 옵션 이해하기
아래 사진을 기준으로 해서 자주 사용되는 옵션들을 하나씩 설명을 해나가보도록 하겠습니다!
① stable diffusion checkpoint : 흔히 ai그림의 '모델'을 말합니다. 어떤 모델을 적용해서 사용하느냐에 따라서 동일한 프롬프트를 사용하더라도 다른 그림이 나올 수 있습니다. 모델은 수십만장을 학습시켜야 하기에 개인이 만들기엔 매우 어렵습니다. 그래서 보통 civitai나 huggingface등에 올라온 모델들을 이용합니다. 또는 이런 모델들을 단순 병합하여 취향에 맞게 변형할 수 있습니다.
기본적으로 제공되는 모델이 있지만 본인의 취향에 맞는 모델을 찾고 싶다면 civitai.com또는 huggingface.co등을 이용하여 모델을 다운로드 받습니다. civitai의 경우 해당 모델 또는 로라 등의 파일로 만든 이미지를 같이 올리기 때문에 모델을 선택하기에 더 편할 수 있습니다. 아래 사진과 같이 좌측 상단에 해당 파일이 checkpoint인지 lora인지 textual inversion인지 pose인지 등이 표시됩니다.
마음에 드는 체크포인트를 다운로드 받아주시면 됩니다.
다운로드 받은 모델은 SD > models > Stable-diffusion폴더에 집어넣고 webui에서 새로고침 아이콘을 클릭한 뒤 해당 모델을 선택하면 적용이 됩니다. ※설치환경에 따라서 첫 폴더이름이 SD가 아니라 sd 또는 Stable Diffusion 일수도 있습니다. 그러나 그 안에 들어 있는 models > Stable-diffusion경로는 동일하므로 models폴더만 잘 찾아서 들어가주시면 됩니다.
② txt2img 의 긍정 프롬프트 : 이곳에는 결과물에 들어갔으면 좋겠다고 생각하는 프롬프트들을 집어넣습니다. 기본적으로 프롬프트는 콤마(,)를 기준으로 구분됩니다. 예를 들어서 짧은 검정머리 남자라고 한다면 short black hair, 1 boy, 라고 입력합니다.
※프롬프트 작성법에 대해서는 추후 튜토리얼의 다른 글에서 자세히 다루도록 하겠습니다.
③ txt2img의 부정 프롬프트창 : 이곳에는 결과물에서 빠졌으면 하는 프롬프트를 집어넣습니다. 예를 들어서 선정적인 모습을 제거하고 싶다면 nsfw, nude, 등의 프롬프트를 집어넣으시면 됩니다.
④ Generate 버튼: 설정이 완료된 다음 그림 출력을 명령하는 최종 버튼입니다. 순서상 4번째에서 설명했지만 실제로는 모든 옵션을 다 설정한 뒤 맨 마지막에 누르는 버튼입니다. 버튼에 마우스를 가져다 대고 마우스 우클릭을 하시면 generate forever 라는 레이어가 나오는데 이걸 누르면 멈추기 전까지 계속해서 이미지를 생성해냅니다.
⑤ 로라/체크포인트 설정 버튼 : 이 버튼을 누르면 아래 사진과 같이 내가 저장해둔 체크포인트와 로라파일들을 확인할 수 있고 적용할 수 있습니다. 주로 Lora를 적용시키기 위하여 사용합니다. 탭에서 Lora를 클릭한 뒤 원하는 로라를 클릭하면 긍정 프롬프트 창으로 자동 입력됩니다. 로라의 경우는 콤마로 구분해줄 필요 없이 사용하시면 됩니다.
로라파일은 SD > models > Lora 폴더에 집어넣어주시면 됩니다. 코랩의 경우는 넣은 뒤 약간의 시간이 지나야 뜨기 때문에 refresh버튼을 눌러주면서 확인해주시면 됩니다.
⑥ sampling method : 샘플링 메서드는 그림 출력에서 어떤 방식으로 diffusion해나갈 것인지를 결정하는 것 입니다. 샘플링 메서드 방식에 따라 결과물에 차이가 크게 발생할 수 있으며 주로 실사 그림의 경우는 DPM++ 2M SDE를 사용합니다.
⑦ sampling steps : 몇 단계에 걸쳐서 그림을 완성할지를 결정하는 옵션이에요. 보통 20~40steps를 사용하는데 스텝수가 올라갈 수록 연산해야 할 것이 많아서 시간이 오래걸려요. steps를 무작정 높인다고 원하는 결과가 나오는 것이 아니니 본인에게 맞는 적정한 수치를 찾으셔야 해요.
⑧ hires.fix : high resolution의 줄임말이고 뽑은 사진의 resolution을 크게 해서 고화질로 바꿔주는 옵션이에요. 다만 이 옵션에 체크를 하면 시간이 많이 걸릴 수 있기 때문에 시간적 여유가 많을 때 체크해서 사용하시는 것이 좋아요.
⑨ width, height : 출력물의 가로 세로 사이즈에요. 보통 기본으로 512, 512픽셀을 사용하는데 가로 세로 길이를 너무 길게 하면 프롬프트에 1boy라고 쓰더라도 여러명의 boy들이 나타나는 현상이 생겨요. 그래서 일반적으로 원하는 결과물이 나오는 사이즈를 선택해서 우선 뽑아놓고 다시 업스케일을 통해 고화질로 바꿔주는 작업을 하게 돼요.
⑩ batch count, batch size : generate 한번 돌릴 때 몇 장씩 뽑을 지 등을 결정하는 것인데 generate버튼을 generate forever로 맞춰놓고 쓰시는 분이라면 별 필요 없는 옵션이에요.
⑪ 이미지창 : 생성중인 이미지의 모습 또는 생성된 이미지의 모습이 나오는 부분이에요.
⑫ CFG scale : 내가 입력한 프롬프트를 어느정도 강도로 사용할지를 결정하는 옵션이에요. 값이 높으면 더 강하게 프롬프트를 적용하지만 이로인해서 자연스러움이 망가질 수 있어요. 반대로 값이 낮으면 프롬프트는 약하게 적용되지만 자연스러움은 올라갈 수 있고요. 보통 steps수와 함께 밸런스를 맞춰요. CFG scale이 높으면 steps수도 높게 맞춰서 사용한답니다.
⑬ seed : -1을 맞춰두면 랜덤한 이미지를 출력해요. 특정 숫자를 입력하여 출력하면 그 숫자에 맞는 형식을 갖고 출력이 돼요.
⑭ send to img2img, send to inpaint, send to extras : 출력 된 이미지를 다시 2차 가공을 하기 위해 사용하는 옵션이에요. 해당 기능들의 사용은 다음 튜토리얼에서 다루겠습니다.
2. 그림 출력하기
이제 그림을 출력해보겠습니다. 저는 아래와 같이 옵션으르 세팅하고 간단한 프롬프트를 넣어서 Generate시켰습니다. 결과물이 나와주었네요.
햐얀피부, 웃는 얼굴 등 원하는 프롬프트대로 잘 나와주었습니다.
댓글목록 0
등록된 댓글이 없습니다.