스테이블 디퓨전으로 그림을 그리는데 흥미가 생기면, 직접 그리는 것만큼이나 다른 사람들이 생성한 그림을 감상하는 재미도 솔솔합니다. 보통 초보 시절에는 고수들의 그림을 보면서 감탄하기 바쁜데요, 잘 모를때는 고수들의 그림을 똑같이 따라 그리는 것만으로도 실력 향상에 매우 큰 도움이 됩니다. 본문에서는 다른 사람이 그린 스테이블 디퓨전 그림을 똑같이 그리는 방법에 대해 살펴보도록 하겠습니다.
내 그림을 똑같이 그리는 방법
먼저 내가 직접 스테이블 디퓨전으로 생성한 그림을 똑같이 다시 그리는 방법에 대해 살펴보도록 하겠습니다.
Seed값 고정
자신의 프로젝트나 상업용으로 사용해야하는 이미지의 경우 정말 꼭 필요한 특정 이미지를 생성해야할 때가 있습니다. 하지만 스테이블 디퓨전은 생성형 이미지 툴인만큼 아무리 프롬프트를 기가 막히게 작성했다 하더라도, 여러장의 이미지를 생성한 뒤 마음에 드는 이미지로 선택해서 고해상도로 업스케일 및 리터치 하는 작업이 필요합니다.
예를 들어 Text to Image로 그림을 그릴 때, 보통 고해상도 작업(Hires.fix)까지 하게되면 시간이 꽤 걸리는데요, 이럴 때는 랜덤으로 계속해서 이미지를 생성하고 그 중 원하는 그림을 한 장 선택해서 후작업을 하는 것입니다. 이럴 때 한 번 만들었던 이미지를 다시 생성하는 방법이 바로 Seed 값을 고정하는 것입니다.
예를 들어 위의 화면을 보면 좌측 설정값에 Seed 값이 기본값으로 -1이 입력되어 있습니다. Seed 값이 -1이면 매번 그림을 생성할 때마다 컴퓨터가 알아서 무작위(랜덤)으로 seed값을 입력하겠다는 말입니다. 따라서 우리가 별다른 설정 없이 한 번 생성을 한 뒤 바로 다시 Generate를 누르면 또 다른 그림이 생성되는 것입니다.
우측에 생성된 이미지의 정보를 보면 적용된 Seed값을 확인할 수 있습니다. 위 이미지의 경우 Seed: 2573408061값이 적용된 것을 확인됩니다. 따라서 만약 위와 동일한 사진을 한 번 더 만들고 싶다면, 모든 설정을 그대로 둔 뒤, 좌측 Seed에 2573408061값을 입력하고 생성을 하면 됩니다.
Seed값의 의미
우리가 다른 세팅을 모두 동일하게 뒀을 때 Seed 값을 고정하면 같은 이미지를 만들 수 있다는 것을 알게 되었습니다. 반대로 말하면, 기본값으로 Seed값이 항상 변하도록 되어 있기 때문에 매번 그림을 그릴 때마다 다른 그림이 생서되었던 것입니다. 그럼 이 Seed값이 의미하는 것은 무엇일까요?
결론부터 말하자면 Seed번호가 곧 Latent Noise Image(잠재 노이즈 이미지) 번호라고 할 수 있습니다. 우리가 스테이블 디퓨전으로 그림을 그리면 잠재공간에서 노이즈를 재구성하여 이미지화하고, 이를 VAE Decode를 통해 픽셀공간(우리가 보는 이미지 PNG 또는 JPG)으로 옮겨내는 과정을 거치게 됩니다. 여기에 대해 조금 더 자세한 내용이 궁금하신 분들은 아래 글을 참고하시기 바랍니다.
Seed값을 바꾸면 잠재 노이즈 이미지를 바꾸는 것이므로, 그 결과 생성되는 이미지도 달라지게 되는 것입니다.
고수의 그림을 똑같이 그리는 방법
이제 Seed값의 존재를 알게 되었습니다. 이는 이제 Seed값과 더불어 이외의 모든 설정을 동일하게 하면 내가 만든 이미지 뿐만아니라 다른 사람이 만든 이미지도 동일하게 그릴 수 있다는 이야기입니다. 그럼 다른 사람이 그린 그림의 정보는 어떻게 알 수 있을까요?
WebUI 또는 ComfyUI를 이용해 스테이블 디퓨전으로 그린 그림파일에는 우리 눈에는 보이지 않지만 그림 생성 정보가 메타정보로 입력되어 있습니다. 따라서 해당 정보를 얻을 수 있다면 동일한 그림을 다시 만들어낼 수 있다는 것입니다.
CIVITAI 그림 따라 그리기
그럼 일단 제작자가 직접 생성 정보를 공개한 그림을 동일하게 그려보도록 하겠습니다. CIVITAI에는 많은 문들이 모델 및 LoRA 등을 공유하면서 본인의 그림을 메타정보와 함께 업로드 합니다.
예를 들어 majiMIX 모델 페이지에 가면 위와 같은 예시 이미지를 볼 수 있습니다. 우선 모델을 다운로드 받아주고, 예시이미지를 클릭해보면 우측과 같이 해당 이미지의 생성 정보를 확인할 수 있습니다. 사용한 모델, 스텝 수, CFG값, 시드값, 샘플러를 동일하게 적용하고, 예시 이미지를 다운받아 해상도를 확인합니다. 해상도를 보니 1024×1536으로 아무래도 512×768 이미지를 Hires.fix한 것으로 추측할 수 있습니다. 이제 이 정보를 바탕으로 실제 이미지를 생성해보면 다음과 같습니다.
아쉽게도 Hires.fix 설정값은 PNG 메타정보에 남지 않기 때문에 결과 이미지가 살짝 다르지만, 매우 유사한 이미지를 만들어낼 수 있었습니다.
PNG Info
만약 고수의 AI 그림을 똑같이 그리는 방법을 알고싶은데, 정보가 없을 때는 어떻게 해야 할까요? 가장 쉬운 방법은 바로 WebUI에서 그 정보를 확인해보는 것입니다.
WebUI 상단 메뉴를 보면 PNG Info라는 탭이 있습니다. 해당 탭으로 이동하면 좌측 빈 공간에 이미지를 끌어다 놓을 수 있습니다. 여기에 우리가 만든 그림 또는 메타데이터가 살아있는 고수의 그림을 넣으면 위 그림의 우측과 같이 해당 이미지의 생성 정보를 확인할 수 있습니다.
스테이블 디퓨전 프롬프트 추출하기
그런데 고수의 그림을 똑같이 그리는 방법은 위와 같이 매번 WebUI를 실행해서 PNG Info탭을 확인하는 것 뿐일까요? 단지 프롬프트 또는 사용한 모델을 알고 싶은데 WebUI까지 실행하는 것은 매우 귀찮은 일입니다. 이럴 때는 간편하게 본 사이트(AIPOQUE)의 프롬프트 확인 기능을 사용하시는 것이 좋습니다.
사용 방법은 WebUI의 PNG Info와 동일합니다. 사이트 메인 화면으로 이동하ㅕ 빈 공간에 생성 정보를 알고 싶은 그림을 드래그앤드랍으로 옮겨주거나, 빈 공간을 눌러 파일열기 형태로 불러올 수 있습니다.