스테이블 디퓨전에서 Hires.fix를 활용해서 업스케일링을 하는 2가지 방법에 대해 소개 해드리겠습니다. 아무런 설정없이 512×512 사이즈의 이미지를 생성하면 조금만 확대해도 생성된 이미지가 깨지는 현상을 한 번쯤 보셨을 겁니다. 이 때, Hires.fix를 활용하면 업스케일링을 통해 쉽게 해당 이미지의 해상도를 올릴 수 있습니다.
아래에서 Highres.fix를 활용하는 2가지 방법에 대해 자세히 설명 드리겠습니다.
Hires.fix란?
스테이블 디퓨전에서 Hires.fix는 이미지의 해상도를 올려주는 업스케일링 기술 중 하나입니다.
작은 해상도로 만들어진 이미지 파일을 더 큰 해상도로 만들어주는 기술입니다.
한 번에 4배 이상의 해상도를 높이면 이미지가 많이 깨지기 때문에
높은 해상도로 업스케일링 하기 전 기본적으로 해상도를
향상 시키는 기술이라고 생각하면 쉽습니다.
Hires.fix 구성요소 살펴보기
업스케일을 하기 위해 몇 가지 세팅을 해 주어야 합니다.
각 기능별 구성 요소를 하나 씩 설명해 보겠습니다.
- Upscaler : 업스케일 하는 방법을 선택합니다.
주로, 실사 이미지일 경우 R-ESRGAN 4X
애니메이션 이미지일 경우 R-ESRGAN 4X + Anime6B 를 선택합니다.
- Hires steps : 업스케일 단계 수를 설정해줍니다.
0을 가장 많이 사용하고 5또는 10 사이의 값을 사용합니다.
- Denoising strength : 이미지에 추가적인 변화를 주고 싶을 때 값을 올립니다. 0.1~0.2는 거의 원본 이미지에서 변화가 없으며 변화값을 주고 싶으면 0.4~0.55사이를 줍니다.
- Upscale by : 업스케일 배율을 뜻하는 부분으로 1.5또는 2를 입력합니다.
안정성 있는 이미지 생성을 원하시면 1.5가 괜찮습니다.
첫 번째 업스케일링 방법
Hires를 이용한 첫 번째 업스케일링 방법은 그림을 생성할 때
동시에 업스케일링을 진행하는 방법입니다.
Hires.fix를 사용하지 않고 이미지를 생성하면 해상도와 디테일이
약간 떨어진 상태에서 생성되는데 이 기능을 포함해서 이미지를 생성하면
디테일이 향상된 상태로 이미지 생성이됩니다.
txt-to-img 프롬프트를 입력하고 Hires.fix를 체크해줍니다.
팬 케익을 예시로 이미지를 생성해보겠습니다.
긍정 프롬프트와, 부정 프롬프트를 먼저 입력 후 Hires를 클릭해줍니다.
팬케익을 업스케일하여 실사 이미지로 뽑고 싶으니 Upscaler를 R-ESRGAN 4x로 선택합니다.
Denoising strength는 0.1으로 두고 Upscaler by를 1.5로 입력 후
Generate를 누르면 업스케일이 이미지를 생성할 때 적용되어 만들어지게 됩니다.
두 번째 업스케일링 방법
이 방법은, 생성된 이미지의 Seed값을 가지고 그 이미지에 대해서 추가적으로 업스케일을 진행하는 방법입니다.원하는 그림체를 먼저 고른 후 선택해서 해당 이미지만 업스케일 할 수 있으니 이 부분에 있어서 빠르고 효율적인 방법이라고 할 수 있습니다. 하지만, 디테일은 첫 번째 방법에 비해 약간, 떨어질 수 있으니 서로 장단점을 비교해가며 사용 하는게 좋습니다.
1. 이미지를 생성 한 다음, 업스케일링할 이미지의 Seed 값을 복사합니다.
1번 방법과는 다르게 평범하게 먼저 이미지를 생성합니다.
그 다음, 업스케일링하고 싶은 퀄리티의 이미지가 나오면 해당 이미지를 클릭합니다.
생성된 이미지를 클릭했을 때, 우측 아래에 보면 이미지에 대한 정보가 나열됩니다.
여기서 ‘Seed’ 옆에 있는 숫자 값을 그대로 복사해줍니다.
2. Hires.fix 값을 켜주고 복사한 Seed값을 입력해줍니다.
1번에서 복사한 Seed 값을 Seed라고 되어있는 부분에 붙여넣기 해줍니다.
이후, Hires 픽스의 Upscaler와 Denoising Strength, Upscale by 값을 적절히 설정 후
이미지를 생성하는 Generate 버튼을 누르면 해당 이미지와 가장 비슷하게 업스케일링이 진행됩니다.
업스케일링 차이 비교
업스케일링을 적용한 이미지와 미 적용한 이미지를 비교해보겠습니다.
업스케일링을 진행하면 이미지가 약간 변경되지만 이는 Denoising strength를 약하게 줄수록 차이가 거의 발생하지 않습니다.
아래 이미지를 보면 별다른 차이가 느껴지는 것 같지 않지만, 실제로 조금만 확대해 보았을 때
미 적용된 파일은 바로 픽셀이 보이면서 개지는 현상이 나타나지만 업스케일링이 적용된 왼쪽 이미지는 확대를 어느 정도 해도 해상도가 높아진 것을 확인할 수 있었습니다.
이상으로 스테이블 디퓨전에서 Hires 픽스를 이용해 업스케일링 하는 방법을 알아보았습니다.
해상도가 높은 이미지를 생성하기 위해 반드시 알아둬야 하는 기능이므로 이번 포스팅을
활용하셔서 좋은 품질의 이미지를 생성하는데 도움이 되었으면 합니다.
스테이블 디퓨전 Embedding(Texture Inversion) 팁 1분 정리
스테이블 디퓨전 ‘프롬프트 셀렉터’ 설치 방법 (1분이면 충분)
스테이블 디퓨전 AI 프롬프트 이해도 높이는 방법과 차이점 10초만에 확인하기
스테이블 디퓨전 VAE 쉽게 사용하는 방법 1분 정리
스테이블 디퓨전(txt-to-img) 기능 소개 및 설명 5분만에 이해하기