스테이블 디퓨전(StableDiffusion)

초 고퀄리티의 이미지를 뽑고 싶다구요?그렇다면..(스테이블 디퓨전 XL)

물범쌤 2024. 6. 3. 13:14

안녕하세요 여러분 물범입니다 :)

스테이블 디퓨전으로 뽑힌 이미지들을 보다 보면,

가끔 엄청나게 화질도 좋고 사실적으로 잘 뽑힌 이미지들이 있습니다.

 

 

이런 사진들은 대부분 일반 스테이블 디퓨전이 아니라,
스테이블 디퓨전 XL버전, 줄여서 SDXL이라고 부르는 

고품질 버전을 이용해서 생성하는 이미지 입니다.

 

SDXL이 SD(스테이블 디퓨전)보다 이미지 학습 모델의 용량이 크기도 하고,
이미지를 학습하는 파라미터 자체가
SD의 7배에 달한다는 특징이 있습니다 (SD:9.8억 개 / SDXL:66억 개)


SD에서 알아봤던 체크포인트 병합을 사용할 수 없는SDXL은
'리파이너' 라는 기능을 통해 베이스 모델에 추가적인 체크포인트를 섞습니다.

하지만 보통 베이스 체크포인트 만으로도 우수한 품질의 이미지가 생성되기 때문에

필수적으로 사용하지는 않습니다.

(위 이미지 또한 리파이너를 사용하지 않았습니다)

 

오늘은 이 SDXL을 설치하는 방법과 특징을 알아보도록 하겠습니다.

 


Q. 아니, 쌤 저는 이제 막 스테이블 디퓨전을 설치했는데
또 XL버전도 따로 설치해야 하나요?ㅠㅠ

A. 위에서 버전이라고 말씀드린것처럼,SDXL은
별도의 프로그램을 또 다운받고 설치하는 과정은 없습니다.
다만 XL버전 전용의 체크포인트를 사용하는 것으로 SDXL을 사용할 수 있습니다 :)

 

 

 

먼저 주의해야 할 점은 이전에

스테이블 디퓨전 COLAB 설치 방법에 관한 포스팅에서도 알려드렸듯이,

SDXL을 사용하기 위해서는 최소 8GB의 그래픽 카드 VRAM이 필요합니다.

이부분을 참고해주시고 VRAM용량이 부족하신 분들은
COLAB사용 등의 방법으로 이용하시길 바랍니다.

 

 

SDXL설치 루트 입니다.

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main

 

*만약 URL 연결이 안된다면
URL주소 'main' 뒤에 이상한 글자들이 있지는 않은지 확인해주세요 :)

 

여기에서 주의할점이 파일에는 VAE라고 쓰여있는데, 체크포인트 입니다

확장프로그램 체크포인트를 넣었던 경로에 추가해주세요

저는 헷갈릴까봐 VAE글자를 지우고 체크포인트 경로에 추가했습니다.

 

 

이렇게 뜨면, SDXL을 사용할 수 있는 상태가 된 것입니다.

만일 SDXL이 제대로 실행되지 않는 다면

혹시 배치파일에 --no-half-vae 구문이 빠져있지는 않은지 확인해주세요.

 

 

자, 이제 본격적으로 SDXL에서 이미지를 뽑아 봅시다.

 

여기서 또 하나 주의할 점이 나오는데

SDXL은 일반 SD와 대부분의 모델링 파일을 별도로 사용합니다

체크포인트,로라,임베딩 등의 파일에서 XL이라고 표기된 모델은

SDXL에서 사용할 수 있습니다.

 

물론 정렬 필터를 통해 XL모델만 볼 수 있습니다 :)

 

civitai에 있는 모델을 토대로 한번 프롬프트 파밍을 해보겠습니다.

 


제 포스팅에 인물 이미지가 너무 많아서
오늘은 요 귀여운 아깽이를 한번 줍줍 해보겠습니다.

 

지금까지 진행했던 프롬프트를 생각해보면,
일단 초 고화질을 설정하는 프롬프트,
아기 고양이의 외형을 설명하는 프롬프트,
사진의 배경이나 카메라의 구도를 설정하는 프롬프트 등이 설정되어야 할 것입니다.

 

하지만 놀랍게도

 

이 사진의 프롬프트는 cute cat이 끝입니다.

 

 

 

 

 

 

Q.지금 저를 놀리시는 건가요?쌤?

 

A.그럴리가요. 이건 SDXL의 특징 중의 하나입니다.

 

SDXL은 SD(스테이블 디퓨전)에 비해
• 화질 프롬프트를 입력하지 않아도
기본 화질이 매우 우수하며,
프롬프트의 문맥을 파악하는 기능 역시
SD보다 우수
하다고 합니다.

따라서 사용자가 입력해야 하는 프롬프트의 길이를 확연하게 줄여줄 수 있습니다.

 

또한,
•  부정 프롬프트에 잘못된 신체에 대한 프롬프트
(정상 갯수 이상의 손가락,팔,다리 등)을 입력하지 않아도

SD 보다 잘못된 신체가 출력되는 경우가 압도적으로 드물다고 합니다.

 

자, 그럼 다시 본론으로 돌아와서

고양이 이미지의 원작자가 사용했던 체크 포인트를 다운로드 받아서

파일 경로에 추가해 주세요(일반 스테이블 디퓨전 체크포인트 파일경로와 같습니다)

 

스테이블 디퓨전을 실행하고 civitai와 같이 프롬프트를 입력해줍니다.

최대한 똑같은 이미지를 출력하기 위해서

샘플링 메소드, 샘플링 스텝, 시드값도 똑같이 적용해주겠습니다.

 

그리고 마지막으로 SDXL의 특징으로 설명드렸던

기본설정만으로 고화질이 나오는지 확인하기 위해

업스케일링 기능 또한 OFF하도록 하겠습니다.

 

SDXL은 기본 사이즈 1024를 지원합니다.

따라서 저도 1024*1024사이즈로 이미지를 출력해 보도록 하겠습니다.


과연 결과는?

참, 그리고 SDXL은 기본적으로 고화질의 이미지를 생성해서 그런것인지는 몰라도

일반 이미지에 비해 이미지 생성시간이 상당히 긴 편입니다.

이 부분 참고해주세요 :)

 

 

 

 

 

예시 이미지와 완전히 똑같지는 않지만

동일한 객체라고 생각되는 털 색을 가진 고양이와

품질 프롬프트를 넣지 않았음을 믿을 수 없을 정도로

디테일한 고화질의 이미지가 나왔습니다.


이번에는 civitai에서 다른 이미지의 프롬프트를 그대로 옮겨와서 생성해보겠습니다.

 

SDXL로 생성된 생성물 답게

고퀄리티의 이미지가 생성되는 것을 확인 할 수 있습니다.

그리고 또, 마지막으로 SDXL에서 주의해야 할 사항을 알려드리고

오늘 포스팅 마무리 해보겠습니다.

 

SDXL은 컨트롤넷 기능이 지원되지 않습니다.

컨트롤넷을 적용하려고 하면 SD자체가 멈추거나 에러가 뜨니까

당황하지 마시라고 미리 알려드립니다 :)


오늘은 스테이블 디퓨전에서 초 고퀄리티의 이미지를 생성할 수 있는

SDXL의 설치법 및 사용법에 대해서 알아보았습니다.

 

SDXL은 XL모드를 설정하는 체크포인트만 추가 해주면 사용되는 개념이라서

이미 스테이블 디퓨전을 여러모로 사용하신 분들께서는 크게 어려운게 없는데

아무래도 GPU Vram 때문에 제한이 있다보니 많은분들이 꺼려하시는것 같습니다.

 

하지만 SDXL까지는 아니더라도 일반 SD에서도 충분히

화질프롬프트 조정을 통해서 고퀄리티의 이미지를 뽑으실 수 있으니까

실망하지 않으셔도 되겠습니다 :)

 

이 컨텐츠가 유익하셨다면 공감(♡)과 댓글 부탁드립니다.

그럼 모두들 좋은 하루 되세요! ^^

 

반응형