안녕하세요! RunyourAI 입니다.
이전 글을 통해 RunyourAI에서 10분만에 Stable Diffusion으로 AI 이미지 생성하는 법을 소개해 드렸는데요.이번에는 Stable Diffusion의 모델 및 파라미터 등을 조정하며 원하는 이미지를 만드는 방법을 알려드리려고 합니다.🤗
그럼 시작할게요!
위의 사진과 같이 Stable Diffusion Web UI에 접속하면 이미지를 생성하기 위한 다양한 설정이 있는걸 볼 수 있습니다. 대체 이것들이 무엇을 뜻하고 어떻게 해야 내가 원하는 이미지에 가깝게 생성이 되는걸까요? 🤔
지금부터 주요 설정에 대해 하나씩 살펴보도록 하겠습니다.
Prompt
는 생성할 이미지에 대한 텍스트를 입력하는 곳이며,Negative Prompt
에 생성되는 이미지에서 제외하는 부분을 입력하여 설정 할 수 있습니다.Sampling method
와 Sampling Steps
가 존재하는데요. Sampling method
는 생성할 이미지의 노이즈를 제거하는 모델을 설정하는 부분입니다.Sampling steps
를 통해 노이즈 제거 횟수를 설정 할 수 있어요.Hires. fix
옵션이 존재하는데요. 해당 옵션은 이미지가 생성 된 후 해상도를 조정(Upscailing)하는 옵션입니다. 간단히 말해 저화질의 이미지를 설정한 화질의 이미지로 맞춰주는 옵션입니다.Refiner
는 이미지를 생성한 후에 디테일한 부분을 개선하기 위해 다른 이미지 학습 모델을 적용하는 부분입니다. (2가지 모델을 동시에 사용할 수 있다는 이점이 있어요!)Switch at
설정을 통해 refiner 모델로 교체할 시점을 설정 할 수 있습니다. 0에 가까울 수록 refiner 모델을 많이 사용합니다.Batch count
를 조정하여 생성할 수 있습니다. Batch count
를 2로 설정하면 첫번째 이미지가 생성된 후에 두번째 이미지가 생성됩니다.Batch size
를 설정해 주면 되는데요. Batch size
를 2로 설정하면 동시에 두 개의 이미지가 생성됩니다.CFG Scale
은 이미지 생성할 때 입력한 Prompt
가 이미지 결과에 얼마나 영향을 미치는 지를 조절하는 설정입니다.해당 값이 높을수록 Prompt
에 충실한 이미지를 생성하려고 하지만 이미지가 왜곡될 가능성이 높아지고, 반대로 값이 낮을수록 생성 하려던 이미지와 멀어질 수 있지만 이미지의 품질은 향상됩니다.Seed
를 통해 이미지를 고정할 수 있습니다.동일한 Seed
에 동일한 Prompt
라면 같은 이미지가 생성 될 것이고, 옵션을 변경 하더라도 기존 이미지에서 크게 벗어나지 않는 이미지로 생성됩니다.
내가 원하는 이미지를 완벽하게 생성 하려면 Prompt
를 잘 작성하는게 제일 중요합니다. 아무리 설정을 잘 한다 하더라도 Prompt
가 엉망이면 원하는 이미지를 생성할 수 없어요.
그래서, Prompt
를 어떻게 작성해야 하는지 약간의 팁을 소개하려고 합니다.
먼저 Prompt
작성시에는 아래와 같은 규칙이 있습니다.
해당 규칙을 이해하고, 생성할 이미지의 특징 문구를 나열합니다. Negative Prompt
도 마찬가지로 이미지에서 제외하고 싶은 부분을 명시합니다.
위와 같이 Prompt를 입력했을때 다음과 같은 이미지를 생성할 수 있어요.
다른 사람들이 생성한 이미지들을 보면 굉장히 화려하고 품질 좋은 이미지들이 많은데, 왜 내가 생성한 이미지는 그런 퀄리티가 안나올까?🥺 하시는 분들을 위해서 준비했습니다.
바로 커뮤니티를 활용하여 애니메이션 캐릭터, 실사화 인물, 몬스터 등 고퀄리티의 이미지를 만들어 보는 방법!
먼저, Stable Diffusion 유저분들이 사용하시는 대표적인 커뮤니티로는 Hugging Face와 CIVITAI가 있어요.
Hugging Face는 트랜스포머, 데이터셋 등 인공지능 플랫폼을 제공하는 서비스로, 이중 Stable Diffusion 유저분들은 허브 기능을 주로 이용합니다. 실사화 인물, 애니메이션 캐릭터등을 생성하기 위한 모델을 공유하기 때문이죠.
CIVITAI는 Stable Diffusion을 주 대상으로 하여 학습 모델을 공유하는 오픈 소스 웹사이트로 다양한 생성 이미지를 확인 할 수 있어요.
먼저 CIVITAI 내 여러 유저가 생성한 이미지 중 마음에 드는 이미지를 골라 똑같이 생성해 보도록 하겠습니다.
저희는 실사화 이미지를 선택했습니다. 우측에 보면 사용된 모델 및 이미지 생성에 사용된 파라미터를 조회할 수 있습니다.
Resources Used 탭을 보면 사용된 CHECKPOINT
, LORA
모델을 볼 수 있습니다.
3가지 모델을 다운로드 하여 다음 위치에 저장합니다.
이미지 생성시 사용된 파라미터를 그대로 WEB UI에 복사합니다.
부분을 보면
파라미터를 그대로 복사해 이미지를 생성할 때 간혹 원하는 형태의 이미지가 생성되지 않는다면, 가장 먼저 Prompt, Negatie Prompt 를 살펴봐주세요!
PromptLora
모델의 경우 <lora:Trigger Words>
로 적용하는 것을 볼 수 있습니다. 이 Trigger Words
가 업데이트가 됨에 따라 변경될 수 있어 해당 모델로 이동해 Trigger Words
를 조회합니다.
<lora:chilloutmixss_xss10:0.8>
Trigger Words가 잘 작동하지 않는다면 위 Trigger Words로 변경해 적용해야합니다. <lora:photorealistic>
와 같이 변경이 필요합니다.
이어서 Negative Prompt
부분을 보면 Easy Negative
를 사용 중 인 것을 볼 수 있습니다.
Easy Negative
의 경우 현재 캐릭터 이미지 생성시 많이 사용 되는 TEXTUAL INVERSION
입니다. 학습된 여러 Prompt
를 한 단어로 축약해 적용할 수 있는 모델이죠.
CIVITAI에서 검색하거나 다음 경로로 이동해 Easy Negative 또한 다운로드 합니다.
위와 같이 Trigger Words
를 복사하여 Negative prompt
란에 입력해줍니다. 다음과 같이 Prompt
에 명시한 특징이 그대로 적용된 이미지가 생성 된 것을 볼 수 있습니다.
Stable Diffusion으로 이미지를 생성한 경우 해당 이미지에 생성 당시 적용된 파라미터 정보가 메타데이터로 저장되어 있습니다. 때문에 WEBUI
에서 PNG Info
탭으로 이동해 해당 이미지를 업로드하면 적용된 파라미터를 조회할 수 있습니다.
하지만 Stable Diffusion으로 생성한 이미지가 아닌 일반 이미지를 업로드하면 파라미터는 조회되지 않습니다.
일반 이미지를 기반으로 새로운 이미지를 생성하려면 어떻게 해야할까요?바로 Prompt
를 추출하면 되는데요. 지금부터 이미지의 Prompt
를 추출하는 방법에 대해 알려드리겠습니다.
방법은 간단합니다. 먼저 img2img
탭에서 원하는 이미지를 업로드 하고 Interrogate CLIP
, Interrogate DeepBooru
기능을 이용해 Prompt
를 추출 할 수 있습니다.
Interrogate CLIP
은 이미지의 특징을 문장으로 출력합니다. (VRAM 6GB이상 자원에서 사용을 권장합니다.)
Interrogate DeepBooru
의 경우 이미지의 특징을 쉼표로 구분된 여러 단어로 출력합니다.
Stable Diffusion을 실행하기 위해서는 고성능의 GPU 자원이 필요해요. Stable Diffusion 1.5 버전의 경우 VRAM 4GB 이상을 요구하고 Stable Diffusion XL의 경우 최소 VRAM 8GB를 요구합니다.
해당 사양에 맞는 GPU를 개인이 구축하기는 매우 힘들죠 🥺 하지만 저희에게는 RunyourAI✨가 있습니다. RunyourAI를 통해 손쉽게 Stable Diffusion을 사용해보세요 !
새로워진 Runyour AI의 사용 방법은 아래 튜토리얼 링크로 접속하시면, 확인할 수 있습니다.
다음에 또 유익하고 알찬 정보를 공유하는 포스팅으로 만나요!🙌
감사합니다.