본문 바로가기

AI

Hires.fix 사용법 / Stable diffusion web ui

Hires.fix 사용법 / Stable diffusion web ui

Hires.fix 사용법

이번에는 Stable Diffuison web UI의 기본 기능에 관한 초보자들을 위한 화제로

Hires.fix(고해상도 보조) 사용법
을 소개하는 내용으로 되어 있습니다.

Stable Diffusion 웹 UI에서 이미지를 생성할 때 고해상도 이미지를 생성하고 싶을 때가 있지만 대부분의 경우 큰 이미지를 생성하면 컴포지션이 무너지는 등 의도하지 않은 결과가 발생합니다. 다만, 이 경우 “Hires.fix"이라는 기능으로, 구도의 파손을 피하면서 고해상도의 이미지를 만들 수 있습니다.

여기에서 Hires.fix 사용법에 대해 자세히 설명하겠습니다.

Hires.fix(고해상도 보조)란?

Hires.fix는 구도의 파탄을 억제하면서 고해상도의 이미지를 생성하기 위한 web UI 의 옵션입니다.

보통 고해상도 이미지를 생성하면 예를 들어

'혼자만의 캐릭터가 여러명으로 분열(?)되어 버린다.'
라고 하는 구도의 파탄이 발생하는 경우가 자주 있습니다만, Hires.fix를 사용하면 그러한 의도하지 않은 결과가 발생하기 어려워지므로 편리합니다.

Hires.fix 유무에 따른 결과 차이의 예

그럼 샘플로서 실제로 Hires.fix의 유무에 의한 생성 결과의 비교를 게재해 둘테니 참고하시기 바랍니다.

Hires.fix가 있는 경우 미소녀 일러스트의 예 Hires.fix가 없는 경우 미소녀 일러스트의 예
왼쪽 Hires.fix 있음 / 오른쪽 Hires.fix 없음


조건:

프롬프트·네거티브 프롬프트·시드 등 Hires.fix 이외의 설정 항목은 모두 똑같다.
Hires.fix가 없으면 주문에 'solo'를 넣었는데 캐릭터가 둘로 분열되어 있고 배경도 왠지 잘 알 수 없게 되어 있습니다.

한편, Hires.fix가 있는 경우는 정상적으로 이미지를 생성할 수 있고, 전체적으로 디테일도 확실히 그려지고 있는 것을 알 수 있습니다.

Hires.fix 동작의 구조

이러한 명확한 차이가 생기는 이유는, Hires.fix에서는 통상의 이미지 생성의 순서와는 조금 다른 방식을 하고 있는 것에 의합니다. web UI의 기능 설명 페이지에 따르면 Hires.fix는

A convenience option to partially render your image at a lower resolution, upscale it, and then add details at a high resolution.

(기계 번역: 이미지를 저해상도로 부분 렌더링하고 업스케일한 후 고해상도로 세부사항을 추가하기 위한 편리한 옵션입니다.)

라고 하니 절차로서는 아무래도

  • 우선 저해상도로 이미지를 생성한다.
  • 순서 1의 이미지를 업스케일(확대)한다.
  • 순서 2의 이미지를 img2img 한다.

라고 되어 있는 것 같습니다. 절차를 3단계로 나누는 것으로 구도의 파탄을 예방하고 있는 것 같습니다.

고해상도 이미지 생성 시 그래픽 성능 주의

그런데 여기까지의 내용을 읽어보시고 '그럼 Hires.fix를 사용해 볼까!'라고 생각하신 분도 많을 것 같습니다. 그러나 고해상도의 이미지를 생성할 때에는 사용의 그래픽 카드의 성능에 여유가 있는지 체크해 둬야 합니다. 그렇다고 하는 것은, 예를 들면 저해상도의 이미지 생성으로 아슬아슬…라고 하는 성능이라면 에러가 나서 처리가 스톱 해 버릴 가능성이 있기 때문입니다.

만약 고해상도 이미지를 생성하고 싶은데 오류가 나면 다음 두 가지 해결책이 있습니다.

  • 보다 고성능의 그래픽 카드로 교체하다
  • 확장 기능 'Tiled Diffusion with Tiled VAE'를 사용하다

일단 첫 번째는 단순히 고성능의 그래픽 카드로 교체하는 것입니다. 뭐 어느 정도 고해상도의 이미지이 필요한지에 따라 다르기 때문에 일률적으로 「이 그라픽 카드로 하면 좋다」라고는 말할 수 없습니다만, 일반론으로서 Stable Diffusion을 쾌적하게 움직이기 위한 그라픽 카드의 선택 방법을 아래 기사에서 자세하게 설명하고 있습니다. 관심 있으시면 꼭 그쪽도 봐주셨으면 좋겠습니다.

2023.03.16 - [AI] - Stable Diffusion용 그래픽카드 고르는법!

 

Stable Diffusion용 그래픽카드 고르는법!

Stable Diffusion용 그래픽카드 고르는법! 아래에서는 제목에서 알 수 있듯이 Stable Diffusion을 쾌적하게 사용하기 위해 그래픽 카드를 고르는법에 대해 알아봅니다. 이미지 생성 AI의 대표주자라고 할

loodyrunning.tistory.com

두 번째로 'Tiled Diffusion with Tiled VAE'라는 확장 기능을 사용하여 고해상도 이미지를 생성하는 방법도 있습니다. 이는 비교적 성능이 낮은 그래픽 카드에서도 고해상도 이미지를 생성할 수 있는 확장 기능으로 시도해 볼 가치가 있습니다. 자세한 사용법은 아래 기사에서 소개하고 있으므로, 그것도 함께 봐 주세요.

2023.03.30 - [AI] - Stable Diffusion Web UI 고해상도 이미지를 생성할 수 있는 확장기능 'Tiled Diffusion with Tiled VAE' 사용법.

 

Stable Diffusion Web UI 고해상도 이미지를 생성할 수 있는 확장기능 'Tiled Diffusion with Tiled VAE' 사용법.

Stable Diffusion Web UI 고해상도 이미지를 생성할 수 있는 확장기능 'Tiled Diffusion with Tiled VAE' 사용법. 이번에는 Stable Diffusion web UI 확장 기능에 대한 주제로 제목 그대로 고해상도 이미지를 생성할 수

loodyrunning.tistory.com

Hires.fix의 사용법

자, 서론이 길어졌지만 지금부터가 본론입니다. Hires.fix의 사용법을 설명해 드리겠습니다.

Hires.fix의 활성화 방법

우선 Hires.fix를 유효화하려면, txt2img 탭의 화면의 왼쪽 아래(시드의 아래 근처)에서 Hires.fix(화하고 있는 경우는 「고해상도 보조」)에 체크를 넣습니다.

Hires.fix의 활성화 방법과 출현하는 설정 항목
빨간색 테두리 부분에 체크를 하면 파란색 파선 부분의 항목이 출현합니다.

설정 항목에 대하여

그러면 아까 그림의 파선 부분 항목이 출현하기 때문에 그 항목을 설정해 나가겠습니다. 주요 항목의 의미는 다음과 같습니다.

  • 업스케일러:
    저해상도의 원래 이미지를 확대할 때에 이용하는 업스케일러의 종류를 지정합니다.
  • 고해상도에서의 스텝 수:
    고해상도화 시 스텝 수. 0으로 하면 샘플링 스텝 수와 같은 값이 적용됩니다. 통상은 「0」인 채이거나 샘플링 스텝수보다 작은 값으로 하는것이 좋습니다.
  • 노이즈 제거 강도:
    값이 크면 디테일이 추가되어 정밀한 이미지가 되지만 원래 이미지와 다른 그림이 될 가능성이 높아집니다. 추천하는 값은 0.5~0.6 정도입니다.
  • 업스케일 배율:
    이미지 확대율. 큰 값으로 하면 더 고해상도가 되지만 생성 시간이 증가합니다. 보통은 '2' 정도가 좋습니다.

업스케일러의 종류가 다양해서 어떤 것을 사용할지 망설일 정도이고, 나머지는 그렇게 어려운 항목은 없습니다. 대충 설정할 수 있었으면 정상적으로 생성 버튼을 누르기만 하면 됩니다.

업스케일러에 대하여

자, 마지막으로 업스케일러의 종류와 각각의 차이점에 대해서 간단히 비교해보도록 하겠습니다. 업스케일러는 전부 15종류 정도 있어서 역시 전부 검증하는 것도 힘들기 때문에, 여기에서는 다음의 4종류로 좁혀 비교하기로 했습니다.

- Latent
- LDSR
- R-ESRGAN-4x+
- R-ESRGAN-4x+-Anime6B

업스케일러 생성에 걸린 시간
Latent 짧은
LDSR 꽤 길다(3~4분)
R-ESRGAN-4x+ 보통
R-ESRGAN-4x+-Anime6B 짧은

어디까지나 미소녀 일러스트의 경우에 한한 이야기입니다만, 높은 퀄리티와 짧은 생성 시간을 양립하고 있는 Latent를 가장 추천합니다.

다만 업스케일러도 특기가 없는 것 같습니다. LDSR이나 R-ESRGAN-4x+는 리얼계열에 강하다고 하니 생성하는 이미지의 타입에 맞추어 구분해서 사용하면 좋을 것입니다.

Hires.fix 사용법 마지막으로

위에서 Hires.fix 사용법을 설명했습니다. 이 기능을 잘 활용하면 고화질의 이미지를 예쁘게 만들 수 있으니 아직 사용하지 않으셨다면 꼭 사용해 보시기 바랍니다.

이 글이 조금이나마 도움이 되었으면 합니다. 

교차형 무한