안녕하세요 앨런입니다.
이 게시물에서는 webi에서 고화질 이미지를 생성하는 방법에 대해 설명합니다.
다른 사람이 만든 이미지를 보면 고화질로 매우 디테일이
당신이 만든 이미지는 약간의 품질이 떨어지는 것을 볼 수 있습니다.
그래서 webi 초보자는 GPU의 성능이 좋지 않기 때문에
고화질 이미지를 만들 수 없다고 생각하는 경우가 많습니다.
그러나 GPU 성능이 좋지 않아도
협업으로 webi를 돌려도 고화질 이미지를 생성할 수 있습니다.
그럼 지금부터 협업이나 성능이 비교적 낮은 GPU를 사용하여
고화질 이미지를 생성하는 방법
함께 알아보자.
Ⅰ.사전 지식
먼저 hires.fix나 upscale에 대한 내용을 모르는 경우
아래 게시물을 참고하는 것이 좋습니다.
스테이플 디퓨전 webii의 기능과 설정 값 배우기 : txt2img
퀄리티가 있는 이미지가 나오기 위해서
해상도가 높아야 합니다.
당연히 512X512보다는 1024X1024가 화질이 좋은 것 같습니다.
그래서 고화질 이미지를 선택하기 위해
먼저 해상도를 올려야합니다.
또한 해상도를 높이는 방법
이미지의 품질을 결정합니다.
이제부터 고화질의 이미지를 생성하는 방법에 대해
자세히 알아보자.
Ⅱ. 이미지 해상도를 높이는 3가지 방법: hires.fix, i2i, Extras
이미지 해상도를 높이는 세 가지 방법이 있습니다.
각각의 특징과 장점과 단점에 대해 알아보자.
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 값을 찾으면 hires.fix를 켜고 다음과 같이 옵션 값을 설정합니다.
– Sampling method : 좀 더 실감을 원한다면 SDE Karras를 사용합니다.
2D 느낌을 더주고 싶다면 2M Karras를 사용하십시오.
정확한 정보가 아니라 내 개인적인 느낌이기 때문에
원하는 것을 사용할 수 있습니다.
– Upscaler :hires.fix 는 latent 업스케일러를 사용합니다.
Extras에서 R-ESRGAN 4x+를 적용하고 다시 스케일업하므로 Latent를 사용합니다.
– Denoising strength :hires.fix를 적용하면 디노이징 강도가 향상됩니다.
데노이징 강도를 높이면 업스케일을 할 때 이미지에 맞게 이미지를 수정합니다.
이렇게 설정하면 이미지를 다시 만들어 봅시다.
데노이징 강도를 조금 높게 설정했기 때문에
기존 이미지에서 조금 바뀐 것을 알 수 있습니다.
이미지의 전체적인 인상은 변하지 않는 것을 알 수 있습니다.
기존 이미지와 거의 동일하게 만들고 싶다면
데노이징 강도를 0.3 정도로 설정하는 것이 좋습니다.
3. i2i에서 임페인팅 기능을 이용하여 수정하고 싶은 부분을 수정한다.
임페인팅 기능에 대해서는 향후 게시할 예정입니다.
한번 이번은 생략하고 진행합니다.
4. Extras로 기존 이미지의 2배로 스케일 업을 해준다.
먼저 생성된 이미지 아래에 Send to extras 버튼을 눌러 Extras 탭으로 이동합니다.
(스케일은 몇 배의 방법으로 설정할 수 있고, 스케일은 정확한 수치를 설정할 수 있습니다.
)
Scale to 버튼을 눌러 가로 세로를 기존 이미지에 두 배로 설정합니다.
나는 1024 * 1024로 설정합니다.
업스케일러 1은 위와 같이 R-ESRGAN 4x+로 설정합니다.
2D 느낌을 더주고 싶다면 R-ESRGAN 4x+ Anime6B를 적용하는 것이 좋습니다.
그럼 이런 식으로 설정한 후에 이미지를 생성해 보겠습니다.
이렇게 고화질의 이미지를 생성했습니다.
Ⅳ.비교
어때?
첫 번째와 두 번째는 차이를 느끼지만,
두 번째와 세 번째는 거의 차이가없는 것 같습니다.
그러나 큰 이미지와 비교하면 디테일한 차이가 느껴집니다.
내가 알던 방법 외에도
적절한 업스케일러, 적절한 샘플링 모드, 적절한 vae
자신의 이미지에 맞게 설정하면
정말 퀄리티가 높은 이미지를 생성할 수 있어야 합니다.