AI 이미지/Stable Diffusion

스테이블 디퓨전 3: SDXL 및 스테이블 캐스케이드와 비교

하늘이푸른오늘 2024. 6. 5. 21:14

스테이블 디퓨전 3(Stable Diffusion 3)는스테이블 디퓨전 모델 중에서 가장 최신의 가장 대형 모델입니다. Stability AI의 발표에 따르면, 자신의 기존 모델(스테이블 캐스케이드SDXL)보다 텍스트 생성 능력과 프롬프트를 이해하고 따르는 능력이 훨씬 뛰어나다고 합니다.

이 글에서는 Stable Diffusion 3와, 스테이블 캐스케이드, SDXL을 비교합니다. 비교할 대상은 아래와 같습니다.

이 글의 목차는 아래와 같습니다.

스테이블 디퓨전 3 사용방법

스테이블 디퓨전 3는 자신의 컴퓨터에 설치해서 사용하는 방법은 불가능하며, 개발자 API 를 통해서만 사용할 수 있습니다. 사용하는 방법은 이 글을 읽어보시기 바랍니다. 

또한 스테이블 디퓨전 3의 상세 기능에 대해서는 이 글을 참고하세요.

텍스트 렌더링

AI가 이미지에 잘 읽기게 텍스트를 추가하는 것은 매우 어렵습니다. 이는 기본적으로 AI의 입장에서는 텍스트도 다른 이미지와 다를 게 없어서, 손가락이 6개 나오는 현상과 유사하기 때문입니다. 특히 스테이블 디퓨전 1.5의 경우엔 짧은 단어 하나도 제대로 생성할 수 없습니다. SDXL이나 Stable Cascade에서는 훨씬 나아졌고요.

그런데 이번에 스테이블 디퓨전 3는 이들 보다도 훨씬 더 뛰어나다고 합니다.

그러면 아래의 프롬프트를 사용해서 이 세가지 모델을 직접 테스트해보겠습니다.

프롬프트: a portrait photo of a 25-year old beautiful woman, busy street street, smiling, holding a sign “Stable Diffusion 3 vs Cascade vs SDXL” 

아래는 SDXL 모델을 사용해 생성한 결과입니다. 보시는 것처럼, SDXL로 약간만 긴 텍스트를 포함시키면 완전히 이상한 글자들이 생성됩니다. 

SDXL 모델을 사용한 텍스트 생성

아래는 스테이블 캐스케이드를 사용해서 생성한 결과입니다. 훨씬 나은 결과가 생성되었지만, 전체 문장이 아닌 일부만 나와서 만족스럽다고 하기엔 많이 부족하네요.

Stable Cascade를 사용한 텍스트 생성

다음은 스테이블 디퓨전 3로 생성한 결과입니다. 보시면 아시겠지만, 제일 성능이 뛰어나서 약간의 오류는 있어도 텍스트가 거의 원하는 대로 생성되는 것을 알 수 있습니다.

Stable Diffusion 3를 사용한 텍스트 생성

텍스트 렌더링 활용 사례

그럼 이 새로운 기능으로 무엇을 할 수 있을까요? 몇가지 재미있는 표지판을 생성해 보겠습니다.

프롬프트: City street, a sign on a property that says “No trespassing. We are tired of hiding the bodies”

SD1.5나 SDXL 의 경우 텍스트 효과를 입힌 이미지를 생성하려면 ControlNet이 필요했습니다. 하지만, SD3를 사용하면 전혀 그럴 필요가 없습니다!

프롬프트 : The word “Fire” made of fire and lava on wood fires, high temperature

조금 긴 문장도 쉽게 생성됩니다.

프롬프트: The sentence “Let’s snow somewhere else” made of snow, mountain

프롬프트 이해 및 따르기

Stability.AI에서는 매번 새로운 모델이 나올 때마다, 프롬프트 이해 및 따르기 기능이 향상되었다고 주장하였습니다. 물론 그때마다 많은 실망이 뒤따랐고요. 이번 SD 3는 어떠한지 다음 두가지 관점에서 세가지 스테이블 디퓨전 모델의 프롬프트 이해 및 따르기 기능을 비교해보겠습니다.

  • 자세 제어
  • 객체의 구도 제어

자세 제어

프롬프트: Photo of a woman sitting on a chair with both hands above her head, white background
부정적 프롬프트: disfigured, deformed, ugly, detailed face

아래는 SDXL 로 시험한 결과입니다.

아래는 Stable Cascade로 생성한 결과입니다.

아래는 SD3로 생성한 결과입니다.

보시는 것처럼, 세가지 모델 모두 사람의 자세는 잘 따르고 있습니다. 

이번엔 다른 프롬프트로 시도해보겠습니다. 이 프롬프트에서는 세가지 자세를 요구하고 있습니다. 위를 본다. 한손을 든다. 외발로 선다.

프롬프트: Photo of a boy looking up and raise one arm, stand on one foot, white background

SDXL은 요청한 자세를 그대로 따르지 못하고 있습니다. 네장을 생성했는데, 1개만 따르네요. 두장은 심지어 손을 들지도 않았습니다.

아래는 스테이블 캐스케이드로 생성한 결과입니다. 흠... 그런데 4장 모두 모두 두손을 쳐들고 있네요. 외발로 서있는 경우는 없구요. 이 결과만으로는 오히려 SDXL이 더 나은 결과를 보입니다.

아래는 스테이블 디퓨전 3로 생성한 결과입니다. 훨씬 정확하네요. 외발로 선 자세가 4개중에 2개가 생성되었습니다. 

결론적으로 일반적인 자세의 경우, SD3는 SDXL이나 Cascade에 비해 비슷한 수준입니다. 하지만, 여러가지 자세가 복합적으로 섞인 경우, SD3가 훨씬 프롬프트의 이해 및 따르기 기능이 뛰어납니다.

물체의 구도

다음 테스트는 몰체의 구도 배치입니다. 요구하는 내용은 책 위에 해골이 있고, 오렌지는 오른쪽, 사과는 왼쪽에 배치하라는 내용입니다.

프롬프트: Still life painting of a skull above a book, with an orange on the right and an apple on the left

가운데 있는 것은 프롬프트에 따라 배치되었는데, 다른 것들은 좀 문제가 있네요.

다음은 캐스캐이드로 생성한 결과입니다. 프롬프트를 정확하게 따른 것은 하나도 없습니다.

아래는 SD3로 생성한 결과입니다. 오... 4개 모두 정확하게 프롬프트를 따르네요.

이러한 결과는 최신 모델(DALL-E, SD3 등)의 경우, 정확한 캡션을 사용해서 모델을 훈련시키기 때문으로서, 예상한대로 개선이 이루어 졌습니다. SD3의 사용자 테스트 결과에 따르, SD3의 프롬프트 이해 및 따르기는 DALL-E 3와 동등한 수준이라고 합니다.

이 글의 원본 글에 따르면 이렇게 프롬프트를 따르는 성능이 향상되었으므로, SD3를 이용해 먼저 이미지를 생성한 후, 이를 ControlNet의 템플릿으로 활용할 수 있겠다고 합니다. 하지만, SD3를 사용하려면 약간이라도 비용이 드니, 먼저 DALL_E 3를 사용해서 이미지를 생성하고 이를 ControlNet 템플릿으로 사용하는 게 더 합리적이지 않을까 생각되네요.

손 렌더링

이번엔 사람의 손을 얼마나 잘 그려내는지 테스트 해보겠습니다. 프롬프트는 아래와 같습니다.

프롬프트: photo of open palms, detailed fingers, city street

SDXL로 생성한 결과입니다. 손만 그리도록 했는데, SDXL은 별로 잘 그려내지 못하네요. 

아래는 Stable Diffusion Cascade를 사용해서 생성한 결과입니다. 흠... 낫다고 해야할지... 비슷비슷한 수준인 듯 싶네요

아래는 SD3로 생성한 결과입니다. 흠.... 획기적인 개선이 이루졌다고 하기엔 많이 부족하네요.

얼굴 렌더링

얼굴 생성은 AI 이미지 생성기의 가장 장점이라고 할 수 있습니다. 아래의 프롬프트로 테스트해 보겠습니다. 아울러 부정적 프롬프트에는 3d, cartoon을 추가해주었습니다.

프롬프트 : photo of a 20 year old korean k-pop star, beautiful woman, detailed face, eyes, lips, nose, hair, realistic skin tone
부정적 프롬프트: disfigured, deformed, ugly, 3d, cartoon

SDXL:

Stable Cascade: 

SD3 :

어느 모델을 사용하던, 심각한 오류는 안보입니다. 오히려 정말 잘 표현했다고 하는 게 맞겠네요. SD3의 경우엔 좀더 표정이 자유롭다 싶습니다.

스타일

AI 이미지에 적용할 수 있는 스타일은 매우 많습니다. 여기에서는 SDXL 모델 스타일 106가지에 들어있는 스타일중 몇가지만 선택해서 비교해 봤습니다.

표현주의 

프롬프트 : expressionist woman. raw, emotional, dynamic, distortion for emotional effect, vibrant, use of unusual colors, detailed 
부정적 프롬프트: anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy
SDXL - Expressionist Stable Cascade - Expressionist SD3 - Expressionist

Typography art

프롬프트: typographic art woman . stylized, intricate, detailed, artistic, text-based
부정적 프롬프트 : ugly, deformed, noisy, blurry, low contrast, realism, photorealistic
SDXL - Expressionist Stable Cascade - Expressionist SD3 - Expressionist

RPG Game

프롬프트: role-playing game (RPG) style fantasy city . detailed, vibrant, immersive, reminiscent of high fantasy RPG games 
부정적 프롬프트: sci-fi, modern, urban, futuristic, low detailed
SDXL - Expressionist Stable Cascade - Expressionist SD3 - Expressionist

모든 모델이 비디오 게임에 사용될 만한 이미지를 생성해줍니다. 캐스캐이드의 경우엔 약간 새로운 스타일로 보이고, SDXL과  SD3는 예전 비디오 게임 스타일로 보입니다.

전반적으로 SD3이 스타일을 생성하는 능력은 만족스럽습니다. 

결론

스테이블 디퓨전 3는 텍스트 렌더링 능력 및 프롬프트를 이해하고 따르는 능력이 기존 모델에 비해 눈에 띄게 향상되었습니다. 사람의 자세를 연출하는 데는 약간 부족하지만, 이것도 기존의 모델에 비해서는 엄청나게 개선되었습니다.

얼굴 생성은 예전 모델에서도 뛰어난 능력을 발휘했으므로 언급할 필요가 없지만, 손을 생성하는 데는 문제가 있네요. 빨리 개선되었으면 좋겠습니다. 

스타일을 표현하는데도 SD3는 매우 뛰어납니다. 텍스트 렌더링 및 프롬프트 이해 능력을 이용해 더많은 스타일을 창조해낼 수 있지 않을까 기대해봅니다.

이상입니다. 이 글은 https://stable-diffusion-art.com/stable-diffusion-3-comparison/ 을 기반으로, 예제를 직접 생성하면서 작성하였습니다.

민, 푸른하늘

====