본문 바로가기
Stable Diffusion

webui Upscale : 나만 고화질 이미지 생성이 안된다면??

by DesignerAllan 2023. 3. 13.
반응형

안녕하세요 Allan입니다.

이번 포스팅에서는 webui에서 고화질 이미지를 생성하는 방법에 대해서 알아보겠습니다.

 

다른 사람들이 생성한 이미지를 보면 고화질에 엄청 디테일하지만

본인이 생성한 이미지는 살짝 퀄리티가 떨어지는 것을 볼 수 있습니다.

 

그래서 webui초보 분들은 GPU의 성능이 좋지 않아서

고화질 이미지를 생성하지 못하는 것이라고 생각하는 경우가 많습니다.

(사실 어느정도 영향이 있긴 합니다)

 

하지만 GPU성능이 좋지 않거나

코랩으로 webui를 돌리는 경우에도 고화질의 이미지를 생성할 수 있습니다.

 

그럼 지금부터 코랩 혹은 성능이 비교적 낮은 GPU를 사용하여

고화질의 이미지를 생성하는 방법
함께 알아보도록 하겠습니다.

 

Ⅰ. 사전지식

먼저 hires.fix나 upscale에 대한 내용을 잘 모르신다면

아래 포스팅을 참고하시는 것을 추천드립니다.

 

스테이블 디퓨전 webui 기능 및 세팅 값 알아보기 : txt2img

 

스테이블 디퓨전 webui 기능 및 세팅 값 알아보기 : txt2img

안녕하세요 Allan입니다. web ui 화면 상단에 보면 txt2img, img2img, Extras, PNG info 등등이 있는데 이번 포스팅에서는 txt2img 안에 있는 기능들에 대해 알아보고 각각 적절한 세팅값에 대해서도 알려드리

ai-designer-allan.tistory.com

 

일단 퀄리티 있는 이미지가 나오기 위해서는 
해상도가 높아야 합니다.

 

당연하게도 512X512보다는 1024X1024가 화질이 좋은 것처럼요.

 

그래서 고화질 이미지를 뽑기 위해서는

먼저 해상도를 높여줘야 합니다.

 

또한 어떻게 해상도를 높이는가가
이미지의 퀄리티를 결정합니다.

 

이제부터 고화질의 이미지를 생성하는 방법에 대해서

자세하게 알아보도록 하겠습니다.

 

Ⅱ. 이미지 해상도를 높이는 방법 3가지 : hires.fix, i2i, Extras

이미지의 해상도를 높이는 방법에는 3가지가 있습니다.

각각의 특징과 장단점에 대해서 알아보겠습니다.

 

 

 

1. hires.fix

hires.fix의 장점은 t2i에서 이미지를 생성할 때
함께 해상도를 올려주기 때문에
t2i와 한 번에 설정할 수 있다는 장점이 있습니다.

 

다만, 이미지를 하나하나 생성할 때

시간이 오래 걸린다는 단점이 있습니다.

 

 

 

2.i2i

t2i에서 이미지를 생성한 후 i2i에서 해상도를 높여주는 방법입니다.

 

 t2i에서 hires.fix를 적용하지 않고 빠르게 이미지를 생성하다가
마음에 드는 이미지가 생성되면 i2i로 옮겨서 작업할 수 있기 때문에

시간이 적게 걸린다는 장점이 있습니다.

 

또한 Extras와 hires.fix에는 없는 기능들 있습니다.

 

(예를 들면 SD Upscale이 있는데 저는 유의미한 차이가 없는 것 같아
사용하지 않습니다.)

 

단점으로는 Upscaler가 없습니다.

 

 

 

3. Extras

장점은 i2i와 유사합니다.

 

 

위의 세 가지 방법 중 여러 방법을 동시에 적용하셔도 되고

한 가지 방법만 적용하셔도 됩니다.

 

저는 다음과 같은 순서로 고화질의 이미지를 생성합니다.

 

1. t2i에서 hires.fix를 적용하지 않은 상태로 이미지를 생성한다.

 

2. 마음에 드는 이미지가 생성되면 hires.fix를 적용하여 1.5배 스케일업 해준다.

 

3. i2i에서 인페인팅 기능을 이용하여 고치고 싶은 부분을 고쳐준다.

 

4. Extras에서 기존이미지의 2배로 스케일업을 해준다.

 

 

 

Ⅲ. 고화질 이미지 생성 꿀팁

저는 다음과 같은 순서로 고화질의 이미지를 생성합니다.

 

1. t2i에서 hires.fix를 적용하지 않은 상태로 이미지를 생성한다.

 

2. 마음에 드는 이미지가 생성되면 hires.fix를 적용하여 1.5배 스케일업 해준다.

 

3. i2i에서 인페인팅 기능을 이용하여 고치고 싶은 부분을 고쳐준다.

 

4. Extras에서 기존이미지의 2배로 스케일업을 해준다.

 

순서대로 진행해 보도록 하겠습니다.

 

 

 

1. t2i에서 hires.fix를 적용하지 않은 상태로 이미지를 생성한다.

먼저 t2i에서 이미지를 생성해 봤습니다.

hires.fix를 적용하지 않은 모습입니다.

그럼 이 이미지를 hires.fix를 통해 해상도를 높여주도록 하겠습니다.

생성한이미지

 

반응형

 

2. 마음에 드는 이미지가 생성되면 hires.fix를 적용하여 1.5배 스케일업 해준다.

먼저 이미지를 hires.fix를 통해 다시 생성할 것이기 때문에

위의 이미지의 seed로 설정해야 합니다.

 

다음과 같이 생성된 이미지 아래에서 이미지의 seed값을 찾을 수 있습니다.

seed값을 알아낸 후, hires.fix를 켜고 다음과 같이 옵션값을 설정하도록 하겠습니다.

- Sampling method : 저는 실사느낌을 더 주고 싶으면 SDE Karras를 사용하고 
2D 느낌을 더 주고 싶으면 2M Karras를 사용합니다.

 

정확한 정보가 아닌 제 개인적인 느낌이기 때문에

취향 것 사용해 주시면 됩니다.

 

- Upscaler : hires.fix에서는 latent 업스케일러를 사용합니다.

Extras에서 R-ESRGAN 4x+를 적용하여 다시 업스케일을 할 것이기 때문에 Latent를 사용합니다.

 

- Denoising strength : hires.fix를 적용할 때는 디노이징 강도를 높입니다.

디노이징 강도를 높이면 업스케일을 할 때 그에 맞게 이미지를 고쳐줍니다.

 

이렇게 설정한 후 다시 이미지를 생성해 보겠습니다.

 

hires.fix적용 이미지

디노이징 강도를 조금 높게 설정했기 때문에
기존의 이미지에서 조금 변화된 것을 볼 수 있습니다.

이미지의 전체적인 느낌은 변하지 않은 것을 볼 수 있습니다.

 

기존의 이미지와 거의 동일하게 생성하고 싶다면

디노이징 강도를 0.3 정도로 설정하시는 것을 추천드립니다.

 

 

 

 

3. i2i에서 인페인팅 기능을 이용하여 고치고 싶은 부분을 고쳐준다.

인페인트 하는방법은 따로 다루었으니

아래 포스팅을 참고해 주세요.

webui 인페인트(inpaint) 마스터 하기 : Stable Diffusion

 

webui 인페인트(inpaint) 마스터 하기 : Stable Diffusion

안녕하세요 Allan입니다. 이번 포스팅 주제는 webui 인페인트(inpaint) 기능입니다. 인페인트 기능이란 스테이블 디퓨전 webui의 큰 장점 중 하나로 본인이 선택한 영역을 다시 생성한다거나, 본인이

ai-designer-allan.tistory.com

 

 

 

4. Extras에서 기존이미지의 2배로 스케일업을 해준다.

먼저 생성된 이미지 아래 Send to extras 버튼을 눌러 Extras탭으로 이동합니다.

(scale by는 몇 배 이런 식으로 설정할 수 있고 Scale to는 정확한 수치를 설정할 수 있습니다.)

extras

Scale to 버튼을 눌러 가로, 세로를 기존의 이미지에 2배로 설정해 줍니다.

저는 1024*1024로 설정하도록 하겠습니다.

 

업스케일러 1은 위에서 말씀드린 대로 R-ESRGAN 4x+로 설정하겠습니다.

2D 느낌을 더 주고 싶다면 R-ESRGAN 4x+ Anime6B를 적용하시는 것을 추천드립니다. 

 

그럼 이렇게 설정한 후 이미지를 생성해 보도록 하겠습니다.

 

extras를 적용한 후 이미지를 생성한 모습

이렇게 해서 고화질의 이미지를 생성하였습니다.

 

 

 

Ⅳ. 비교

 

 

어떠신가요?

첫 번째와 두 번째는 차이가 느껴지지만

두 번째와 세 번째는 거의 차이가 없는 것 같네요.

(약간 디테일한 차이는 있습니다.)

 

추가로 말씀드리고 싶은 것은 항상 이 방법대로 작업하지는 않는다는 것입니다.

 

그리고 싶은 그림의 컨셉마다 모두 다 다르기 때문입니다.

 

작업을 하다보면 이것 저것 다 시도해 보게 되는데

독자분들도 참고만 하시고 이 방법 저 방법 다 시도해 보신 후

그림에 맞게, 혹은 본인의 취향에 맞게 적용해 주시면 될 것 같습니다.

 

제가 알려드린 방법 외에도

적당한 업스케일러, 적절한 샘플링 모드, 그리고 적절한 vae를
본인의 이미지에 맞게 설정하신다면

정말 퀄리티 높은 이미지를 생성하실 수 있을 것입니다. 

반응형