kaiber.ai, Picrory.ai, 스테이블 디퓨전 웹유아이_

스테이블 디퓨전 웹유아이사용방법(Stable Diffusion WebUI)_8K_4K_Hires_고화질_초고화질_업스케일 방법_ Stable Diffusion WebUI_Upscaler)_Extras_Inpaint_ESRGAN_4x, LDSR, R-ESRGAN 4x+, R-ESRGAN 4x+ Anime6B, SwinIR 4x

moodyblues 2023. 3. 25. 16:09

스테이블 디퓨전 웹유아이사용방법(Stable Diffusion  WebUI)_업스케일러: Stable Diffusion  WebUI_Upscaler_ 업스케일링 옵션(Upscaling options)

Stable Diffusion WebUI(스테이블 디퓨전 WebUI)의 '업스케일러' 중 대부분이 'DML 업스케일러'입니다.
그러나 Lanczos와 Nearest 모드는 전통적인 보간법을 사용한 업스케일러이며, DML 업스케일러가 아닙니다.
그 차이는 무엇일까요?

DML은 "Deep Learning Model"의 약자이며, 'DML 업스케일러는 딥러닝 기술을 이용하는 것을 말합니다.
Lanczos와 Nearest 모드를 제외한, 나머지 Latent, Latent (antialiased), Latent (bicubic), Latent (bicubic antialiased), Latent (nearest), Latent (nearest-exact), ESRGAN_4x, LDSR, R-ESRGAN 4x+, R-ESRGAN 4x+ Anime6B, SwinIR 4x는 모두 DML 업스케일러입니다.

이 가운데 어떤 것을 선택해야 할까요?

업스케일링이란 무엇이며,
나의 사진이나 이미지를 최고의 품질로 창작하기 위해 가장 기초적인 지식이지만, 매우 어려운 진실에 대해, 한번쯤은 상세하게 알아야 합니다.

1. 그 모든 내용을 설명하는 비디오 영상 제작

 

스테이블 디퓨전 웹유아이사용방법(Stable Diffusion  WebUI)_업스케일러: Stable Diffusion  WebUI_Upscaler_ 업스케일링 옵션(Upscaling options)을 명확하게 설명하는 동영상

(1-2) 스테이블 디퓨전 웹유아이 설치를 설명하는 동영상: Stable Diffusion  WebUI 설치방법 올인원

 

Stable Diffusion  WebUI 설치방법 

아트리스트 가입시 무료 2개월 추가에 관한 사항

참고: 아래 링크를 통하여 가입하시면 '2개월 추가'혜택을 받으실 수 있습니다.
2개월 추가 링크: https://artlist.io/Jeong-2200320

2. 부수 설명

1) 업스케일링(Upscaling)이란

업스케일링(Upscaling)이란 사진이나 이미지를 고화질로 바꾸는 방법입니다. 

즉 이미지의 해상도(resolution)을 올려 주는 과정을 말합니다. 스테이블 디퓨전 WebUI에서 제공하는 업스케일러에는 다양한 종류가 있습니다.

업스케일링(Upscaling)은 스테이블 디퓨전 웹유아이(Stable Diffusion  WebUI)에서 뿐만 아니라, 모든 이미지와 비디오와 오디오에 공통적으로 적용되는 사항입니다. 

업스케일링(Upscaling)을 이해하기 위해서는 먼저 보간법(interpolation)에 대해 알아야 합니다

보간법(interpolation)이란 무엇일까요

1) 보간법(interpolation)

보간법(Interpolation)은 이미지나 비디오 등을 확대할 때, 미지의 영역을 채우기 위해 주변 정보를 이용하여 빠진 값을 추정하는 기술입니다.

예를 들어, 512 ×512의 이미지나 비디오를 1024 ×1024의 고화질 이미지나 비디오로 만들기 위해서는, 4배로 확대해야 합니다. 즉 262,144(512 ×512) 개의 픽셀을 1,048,575개(1024 ×1024)의 픽셀(화소)로 만들어야 합니다. 
Fhd(1920*1080)을 4K(=UHD)로 업스케일링하기 위해서는 동일한 원리에 의해 4배로 만들어야 합니다.

그러나, 가진 Data는 262,144(512 ×512) 개의 픽셀밖에 없습니다. 그 나머지 픽셀(화소)은 어떻게 창조해 내야 할까요?

그때, 사용되는 기술이 보간법(interpolation)입니다.

보간법은 이미지나 비디오를 확대 및 축소, 회전, 왜곡 등의 변형할 때 사용됩니다.
이때, 사용하는 방법이, 인접한 이미지나 비디오의 값을 이용하여 빠진 값을 추정합니다.

주로 사용되는 보간법에는 최근접 이웃 보간법, 선형 보간법, 2차 보간법, 3차 보간법 등이 있습니다.

  • 최근접 이웃 보간법: Nearest-neighbor interpolation
  • 선형 보간법: Linear interpolation
  • 2차 보간법: Bicubic interpolation
  • 3차 보간법: Tricubic interpolation

이 중 바이큐빅 보간법은 2차 보간법에 해당합니다. 
16개의 인접한 픽셀 값을 이용하여 2차 다항식 함수를 만들고, 이 함수를 이용하여 보간 된 값을 생성합니다.
보간법을 이용하여 빠진 값을 채우는 것은 이미지나 비디오를 더욱 자연스럽게 만들어주며,
이를 통해 보다 선명하고 부드러운 이미지를 만들어줍니다.

스테이블 디퓨전 웹유아이(Stable Diffusion  WebUI)에서 보간법을 사용한 업스케일링 옵션(Upscaling options)은 하이 레졸루션(Hires)의 업스케일링 옵션(Upscaling options)과, Extras의 업스케일링 옵션, 2곳에 있습니다. 이들 각각의 특징에 대해 설명하겠습니다.

하이 레졸루션(Hires)에 체크할 때의 업스케일링 옵션(Upscaling options)과, Extras에서의 업스케일링 옵션에 대해 설명하

1. 먼저, 하이 레졸루션(Hires)에서의 업스케일링 옵션(Upscaling options)입니다.

업스케일링을 위해 하이 레졸루션(Hires = High Resolution)에 체크하면, 다음과 같은 옵션이 나타납니다

  1. Latent
  2. Latent (antialiased) 
  3. Latent (bicubic)
  4. Latent (bicubic antialiased)
  5. Latent (nearest)
  6. Latent (nearest-exact)
  7. Lanczos
  8. Nearest
  9. ESRGAN_4x
  10. LDSR
  11. R-ESRGAN 4x+
  12. R-ESRGAN 4x+ Anime6B
  13. SwinIR 4x

1) Latent 모드: Latent space vector 모드

Latent 모드는 이미지를 업스케일링 할 때, '원본 이미지'의 '잠재 공간 벡터'와 함께 사용됩니다.

잠재 공간 벡터(Latent space vector)는

딥러닝 모델을 사용하여 이미지를 생성하는 과정에서 발생하는 벡터입니다. 

벡터(vector)란 크기와 방향을 가지는 양입니다.
수학적으로는 숫자나 기호로 표현되는 요소들의 모임으로, 대부분 화살표로 표시됩니다.
벡터는 특정 공간에서의 좌표를 이용하여 표현되며, 예를 들어 2차원 좌표계에서 벡터는 (x, y) 형태로 표현됩니다.
딥러닝 모델에서는 일반적으로 벡터가 사용됩니다.

잠재 공간 벡터는 여러 개의 실수 값을 가지며, 딥러닝 모델에서는 이러한 실수 값을 조합하여 이미지를 생성합니다. 이 잠재 공간 벡터는 딥러닝 모델의 입력값으로 사용되며, 이미지 생성에 가장 중요한 역할을 합니다.

2) Latent ( antialiased) 모드

이 모드는 이미지를 부드럽게 만들기 위해 앤티앨리어싱 기술(anti-aliasing technique)을 적용합니다.

앤티앨리어싱 기술(anti-aliasing technique)이란

디지털 이미지나 동영상을 해상도를 높이거나 크기를 변환하는 등의 처리를 할 때 생기는 계단 현상을 완화시키기 위해 사용되는 기술입니다. 그러므로 앤티앨리어싱은 이미지를 부드럽게 만들어 더 자연스러운 결과물을 만들 수 있습니다.

3) Latent (bicubic) 모드

Latent (bicubic) 모드는 바이큐빅 보간법(Bicubic interpolation)을 사용하는 모드입니다. 바이큐빅 보간법(Bicubic interpolation)이 무엇인지에 대해서는, 위에서 설명했지만, 좀 더 자세히 설명하면,

바이큐빅 보간법(Bicubic interpolation)

은  이미지의 크기를 변경할 때, 원래 이미지에서 추출한 일부 정보를 이용하여 새로운 이미지를 생성하는 기술입니다. 이 보간법은 2차 다항식 함수를 사용하여 인접한 16개의 픽셀 값을 이용하여 보간하며, 이때, 16개의 픽셀 값은 이미지의 크기를 2배로 확대하기 위해 4x4 크기의 픽셀 블록으로 구성됩니다.
이 인접한 픽셀 값들을 이용하여 2차 다항식 함수를 만들고, 이 함수를 이용하여 보간된 픽셀 값을 생성합니다.
바이큐빅 보간법은 픽셀 값의 변화를 부드럽게 처리하여, 이미지를 자연스럽게 보이도록 만들어 줍니다.
따라서, 업스케일링한 이미지가 더욱 선명하고 부드러운 느낌을 줍니다

4) Latent (bicubic antialiased)

Latent (bicubic antialiased) 모드는 바이큐빅 보간법과 앤티앨리어싱 기술을 함께 사용하는 방법입니다. 그러므로 가장 부드러운 이미지를 생성합니다.

그러나 사용자는 이미지의 특성과 용도에 맞게, 자신의 목적에 가장 적합한 모드를 선택해야 합니다.

5) Latent (nearest)

Latent (nearest)는 단어가 의미하는 그대로, 이미지를 업스케일링할 때, 인접한 픽셀 값을 사용하는 가장 기본적인 방법입니다.

6) Latent (nearest-exact)

Latent (nearest-exact): 가장 기본적인 업스케일링 방법인 Nearest 모드와 유사하지만, 더 높은 화질의 이미지를 생성합니다.

왜냐하면, 이 모드의 명칭에서 볼 수 있듯이, exact는 "정확한"을 뜻하는 단어로, 업스케일링 과정에서 더 정확하게 보간하도록 설계된 방법이라는 뜻입니다.

7) Lanczos

Lanczos 보간법(Lanczos interpolation)은 앞에서 설명한  바이큐빅 보간법과 비슷한 방식으로 동작하지만, 동시에 좀 다른 방식으로 작동합니다.

바이큐빅은 이미지를 여러 개의 작은 구역으로 나누어, 각 구역을 바이큐빅 곡선을 이용해 보간하는 방식입니다. 반면, Lanczos 보간법은 이미지를 여러 개의 작은 구역으로 나눈 다음, 각 구역을 Lanczos 함수를 이용하여 보간합니다. Lanczos 함수는 주기적으로 변화하는 파동형 함수로, 이를 이용하여 이미지를 보간합니다

이 방법은 바이큐빅에 비해 좀 더 정교하게 이미지를 보간할 수 있으며, 이미지의 왜곡을 줄일 수 있을 뿐 아니라, 더 부드러운 이미지를 생성할 수 있습니다.

그러나, 세상은 공평합니다, 계산량이 많기 때문에 처리 속도가 느릴 수 있습니다. 우주의 법칙 중 '질량 불변의 법칙'이지요.

8) Nearest 모드

앞에 설명된 Latent (nearest) 모드와 이곳의 Nearest 모드는 모두 가장 기본적인 업스케일링 방법 중 하나인 "최근접 이웃 보간법(Nearest-neighbor interpolation)"을 사용하여 이미지를 생성하는 방식입니다.

그러나 둘의 차이점은, Latent (nearest) 모드는 이미지의 잠재 공간 벡터와 함께 사용됩니다.
잠재 공간 벡터는 딥러닝 모델에서 이미지의 특징을 추출한 벡터로, 이를 이용하여 업스케일링을 수행하는 방식입니다.

따라서, Latent (nearest) 모드는 최근접 이웃 보간법을 이용하면서도 더 부드러운 이미지를 생성할 수 있는 방법입니다.

반면, Nearest 모드는 가장 기본적인 최근접 이웃 보간법만 사용하여 이미지를 생성하는 방법입니다.

그러므로, 이미지가 조금 더 계단 현상이 있어 보일 수 있으며, 더 부드러운 이미지를 원하는 경우에는 다른 업스케일링 방법을 사용해야 합니다.

9) ESRGAN_4x

ESRGAN_4x: SRGAN 모델을 기반으로 한 딥러닝 업스케일링 모델입니다.

SRGAN 모델이란

딥러닝 업스케일링 모델 중 하나로, Super-Resolution Generative Adversarial Network의 약자입니다.

이 모델은 GAN(Generative Adversarial Network)의 일종으로, 생성자(Generator)와 판별자(Discriminator)라는 두 개의 신경망 모델을 이용하여 이미지를 생성하는 방식입니다.

먼저 생성자 모델은 저해상도 이미지를 입력으로 받아 고해상도 이미지를 출력하는 역할을 하며, 이때 생성자 모델은 SRResNet(Super-Resolution Residual Network)이라는 구조를 이용하여 이미지를 업스케일링합니다

반면, 판별자 모델은 입력된 이미지가 고해상도 이미지인지 저해상도 이미지인지를 판별하는 역할을 합니다. 이 두 모델은 경쟁적인 관계를 가지고 있으며, 서로를 학습하면서 더 나은 이미지 생성 결과를 만들어 내도록 합니다. 

10) LDSR:

LDSR은 Light Deep Super Resolution의 약자이며, 이것은 Light Deep Super Resolution 모델을 기반으로 한 딥러닝 업스케일링 모델입니다.

이 모델은 그 이름에서 알 수 있듯이, 기존의 Super Resolution(SR) 기술보다 경량화된 딥러닝 모델입니다

그러므로, 업스케일링 속도가 빠르며, 고품질 이미지 생성에 대한 성능도 뛰어나다는 평가를 받고 있습니다.

LDSR 모델은 주로 자연 이미지나 사물 이미지 등에서 사용되며,

또한, LDSR 모델은 경량화된 딥러닝 모델이기 때문에, 모바일 기기나 IoT 디바이스 등에서도 적용 가능하며 동시에, 고해상도 이미지를 생성할 때 속도와 성능면에서 우수한 결과를 보입니다.

그러므로, 각각의 목적에 맞게 잘 선택해서 사용해야 합니다.

11) R-ESRGAN 4x+

R-ESRGAN 4x+ 모델은 ESRGAN 모델을 기반으로 한 딥러닝 업스케일링 모델입니다.

앞서 설명한 R-ESRGAN 4x 모델과 유사하지만, 플러스 기호(+)가 붙어 있는 만큼, 화질은 더 좋을 것입니다. 
위의 R-ESRGAN 4x 모델에서의 '4x'는 원래 이미지의 크기를 4배로 늘리는 업스케일링을 의미하며,

4x+는 추가적인 업스케일링 알고리즘을 적용하여 더 높은 화질의 이미지를 생성하는 업스케일링을 의미합니다

앞에 붙은 R은 "Residual"의 약자입니다

Residual은 딥러닝 모델에서 입력과 출력 사이에 남는 차이를 나타내는데, ESRGAN을 기반으로 하되, 더욱 향상된 결과물을 생성합니다. 

12) R-ESRGAN 4x+ Anime6B

R-ESRGAN 4x+ Anime6B 모델은 Anime6B라는 데이터셋에서 학습된 R-ESRGAN 4x+ 모델입니다

 애니메이션 이미지에 특화된 모델이며, 따라서, 이들 중 어떤 모델을 선택할지는 원래 이미지의 크기와 원하는 업스케일링 비율에 따라 결정해야 합니다

13) SwinIR 4x

SwinIR 4x 모델은 Swin Transformer를 기반으로 한 이미지 업스케일링 모델입니다.

Swin Transformer는 최근에 발표된 Transformer 모델 중 하나입니다

기존의 Transformer 모델에서는 입력 시퀀스의 길이가 길어질수록 성능 저하 문제가 발생했지만, Swin Transformer는 입력 시퀀스를 hierarchical 하게 처리함으로써 이러한 문제를 해결했습니다.

그렇게 개발한 이미지 업스케일링 기술이 SwinIR이며, 이 모델은 이미지에서의 hierarchical 한 feature 추출과 업스케일링을 수행하여 고품질의 이미지 생성에 뛰어난 성능을 보입니다.

이 SwinIR 모델은 최근 이미지 업스케일링 분야에서 높은 관심과 좋은 평가를 받고 있는 기술입니다.

2. Extras_업스케일링 옵션(Upscaling options)

Extras 파트에서의 업스케일링 옵션(Upscaling options)은 다음과 같습니다. 그러나 이미 앞에서 모두 설명한 내용입니다.

  1. Lanczos
  2. Nearest
  3. ESRGAN_4x
  4. LDSR
  5. R-ESRGAN 4x+
  6. R-ESRGAN 4x+ Anime6B
  7. SwinIR 4x

스테이블 디퓨전 WebUI의 '업스케일러' 중 대부분이 'DML 업스케일러'입니다.

나머지 Latent, Latent (antialiased), Latent (bicubic), Latent (bicubic antialiased), Latent (nearest), Latent (nearest-exact), ESRGAN_4x, LDSR, R-ESRGAN 4x+, R-ESRGAN 4x+ Anime6B, SwinIR 4x는 모두 DML 업스케일러입니다.

고품질의 사진이나 이미지를 출력하기 위해서는 DML 업스케일러를 선택하는 것이 훨씬 유리합니다

3. 결론 : 고품질의 사진이나 이미지를 창작하는 방법

예시) 아래 2)의 단계에서  Latent (bicubic antialiased) + 4)의 단계에서 R-ESRGAN 4x+ 선택

1) txt2img 에서 '하이 레졸루션'(hires)에 체크하지 않은 상태로 이미지를 생성한다.

아래 예시: 512*512( 혹은 목적에 맞게: 인물의 경우 세로가 유리: 512*768)

2) 좋은 이미지가 생성되면 '하이 레졸루션'(hires)에 체크하여 1.5배~2배로 업스케일한다:

아래 예시: 위의 경우 1.5배 업스케일 시, 결과 768*768

  • Sampling method: 
  • 실사: SDE Karras
  • 2D: 2M Karras

3) txt2img에서 img2img로 보낸 후, 수정할 부분에 대해 수정한다

붓으로 마스킹하고, 수정 후의 내용을 텍스트로 입력한다.

4) Extras로 보낸 후, Scale by 혹은 Scale to를 선택한 후, 2배, 혹은 목적에 맞게 업스케일한다

3. 위 동영상의 대본

1
00:00:04,546 --> 00:00:06,297
여러분이 프롬프트 작성 시

2
00:00:06,297 --> 00:00:08,341
8K라는 용어를 매일 쓰고 계시지만

3
00:00:08,341 --> 00:00:12,554
프롬프트에 8K를 쓴다고, 
결코 8K의 그림은 만들어지지 않습니다

4
00:00:12,846 --> 00:00:14,347
그럼 어떻게 해야 할까요?

5
00:00:14,347 --> 00:00:19,936
여기 가장 간단한 방법으로 
8K 해상도의 초고화질 이미지로 업스케일링 해보겠습니다

6
00:00:20,270 --> 00:00:21,896
지금부터 잘 보십시오

7
00:00:21,896 --> 00:00:25,525
Generate 버튼을 누르고 몇초가 걸리는지 시간을 재 보겠습니다

8
00:00:25,817 --> 00:00:28,695
이제 Generate를 누르겠습니다

9
00:00:28,695 --> 00:00:32,449
픽셀수가 144 배로 증가하는 데 걸리는 시간을 재보겠습니다

10
00:00:36,786 --> 00:00:38,246
약 10초 걸렸군요

11
00:00:38,246 --> 00:00:41,499
파일의 해상도를 한번 볼까요?

12
00:00:41,958 --> 00:00:45,336
당초에는 픽셀 수가 262,144개였던 것이

13
00:00:45,670 --> 00:00:50,175
37,486 ,592개 늘어나서
144배 증가한

14
00:00:50,175 --> 00:00:54,471
픽셀 수 37,748,736개로 Upscaling 되었습니다

15
00:00:54,471 --> 00:00:57,432
8K 해상도보다 더 고화질이 되었습니다

16
00:00:57,891 --> 00:01:00,351
여기 정리된 표를 보십시오

17
00:01:00,351 --> 00:01:02,645
이것은 ‘무’에서 ‘유’를 창조한 것입니다

18
00:01:02,645 --> 00:01:07,484
이렇게 자연스러우면서도
8K 화질 이상의 초고해상도로 업스케일링 된 것은

19
00:01:07,901 --> 00:01:11,946
지금부터 말씀드릴 
‘보간법(interpolation)’이라는 기법을 사용했기 때문입니다

20
00:01:11,946 --> 00:01:15,742
보간법(interpolation)이란 
여러분이 매일 사용해야 할, 한 번은 이해해야만 하는 과학입니다

21
00:01:23,708 --> 00:01:27,128
8K는 프롬프트에 적는다고 결코 만들어지지 않습니다

22
00:01:27,712 --> 00:01:30,381
8K로 만들고 싶으시면 업스케일링(Upscaling)을 하셔야 합니다

23
00:01:30,673 --> 00:01:34,385
표에서 보다시피  4K 수준으로 만들고 싶으면

24
00:01:34,385 --> 00:01:35,303
8,032,256개의 픽셀을 더 만들어야 합니다

25
00:01:36,262 --> 00:01:37,889
8,032,256개의 픽셀을 더 만들어야 합니다

26
00:01:37,889 --> 00:01:40,725
1024*1024 크기로만 하더라도 
786,432개의 픽셀을 더 만들어야 합니다

27
00:01:41,267 --> 00:01:43,394
1024*1024 크기로만 하더라도 
786,432개의 픽셀을 더 만들어야 합니다

28
00:01:43,728 --> 00:01:45,897
걸리는 시간에 대해서도 마찬가지입니다

29
00:01:45,897 --> 00:01:48,817
나중에, 컴퓨터 성능이 빠르게 좋아져서

30
00:01:49,150 --> 00:01:53,696
초기 명령으로 8K를 만들 수 있다 치더라도  시간은 훨씬 단축됩니다

31
00:01:53,947 --> 00:01:56,825
이 영상에서는 먼저 업스케일링(Upscaling)에 대해 알아본 후

32
00:01:57,158 --> 00:02:00,912
실전에서 실제로 업스케일링하는 방법에 대해 소개해 드리겠습니다

33
00:02:01,204 --> 00:02:04,207
그러기 위해서, (첫째)
txt2img를 설명할 것이며,

34
00:02:04,207 --> 00:02:07,001
(둘째) Higres(하이레줄루션) 기능에 대해서 (상세히) 소개할 것이며,

35
00:02:07,001 --> 00:02:09,754
(셋째)그리고 inpaint 기능에 대해 자세히 알아보고

36
00:02:09,754 --> 00:02:12,757
(넷째) 마지막으로 Extra 기능에 대해 완전히 이해해야 합니다

37
00:02:12,757 --> 00:02:13,800
순서대로 나가보겠습니다

38
00:02:13,800 --> 00:02:20,098
2시간 동안 다루어야 할 내용이지만, 15분으로 압축해서 말씀드리겠습니다

39
00:02:29,274 --> 00:02:31,442
업스케일링(Upscaling)에 대해 말씀드리겠습니다

40
00:02:31,442 --> 00:02:35,989
업스케일링(Upscaling)은 사진이나 이미지를 고화질 혹은 초고화질로 바꾸는 과정입니다

41
00:02:35,989 --> 00:02:36,531
압축해서 말씀드리겠습니다

42
00:02:36,531 --> 00:02:40,118
‘스테이블 디퓨전 웹 유아이’에는 여러 종류의 업스케일러가 있습니다

43
00:02:40,368 --> 00:02:43,079
(이런 것들이 있습니다)

44
00:02:43,079 --> 00:02:45,039
그중 어떤 것을 사용해야 할까요?

45
00:02:45,790 --> 00:02:47,333
업스케일링(Upscaling)을 이해하기 위해서는

46
00:02:47,333 --> 00:02:49,836
먼저 ‘보간법(interpolation)’에 대해 이해해야 합니다

47
00:02:49,836 --> 00:02:51,546
보간법(interpolation)은 이 프로그램뿐만 아니라

48
00:02:51,546 --> 00:02:54,924
모든 이미지와 비디오와 오디오에 사용되는 기법입니다

49
00:02:55,258 --> 00:03:00,555
이미지의 확대, 영상의 빨리 감기,
슬로 모션, 등에 공통적으로 사용되는 과학입니다

50
00:03:00,889 --> 00:03:03,558
보간법(interpolation)은  이미지나 비디오 등을 확대할 때

51
00:03:03,850 --> 00:03:07,937
미지의 영역을 채우기 위해 주변 정보를 이용하여  빠진 값을 추정합니다

52
00:03:08,438 --> 00:03:12,275
예를 들어  512*512의 이미지를 1024*1024의

53
00:03:12,275 --> 00:03:12,317
압축해서 말씀드리겠습니다

54
00:03:12,317 --> 00:03:16,029
이미지로 만들기 위해서는  픽셀의 수를 4배로 증가시켜야 합니다

55
00:03:16,571 --> 00:03:21,117
512*512의 이미지는
262,144개의 픽셀을 갖고 있습니다

56
00:03:21,409 --> 00:03:24,495
이것을 1,024*1,024의 이미지로
만들기 위해서는

57
00:03:24,495 --> 00:03:28,791
추가로 768,431개의 픽셀을 새로 만들어 내야 합니다

58
00:03:29,125 --> 00:03:31,544
이때, 사용되는 기법이 보간법(interpolation)입니다

59
00:03:32,003 --> 00:03:35,215
보다 고화질의 이미지로
자연스럽게 업스케일링하기 위해서는

60
00:03:35,215 --> 00:03:37,091
다음의 내용들을 이해해야만 합니다

61
00:03:37,425 --> 00:03:40,053
먼저, 이곳 하이레졸루션(Hires = High Resolution)에
체크하면  

62
00:03:40,762 --> 00:03:43,514
이곳에 업스케일링(Upscaling) 옵션이 나타납니다

63
00:03:44,057 --> 00:03:46,434
첫 번째  Latent 모드입니다

64
00:03:46,434 --> 00:03:48,645
‘Latent’란  ‘잠재된’이라는 뜻입니다

65
00:03:48,937 --> 00:03:52,148
이미지를 확대하기 위해서는  없는 픽셀을 만들어내야 합니다

66
00:03:52,607 --> 00:03:54,651
‘무’에서 ‘유’를 창조해야 하는 과정입니다

67
00:03:54,651 --> 00:03:57,070
가로 세로 2배의 이미지를 만들기 위해서는

68
00:03:57,070 --> 00:03:58,821
없는 픽셀을 더 만들어

69
00:03:59,072 --> 00:04:01,449
픽셀 수를 4배로 만들어야 합니다

70
00:04:01,449 --> 00:04:04,744
이때  픽셀을 아무렇게나 만들면 그림이 안 됩니다

71
00:04:04,744 --> 00:04:08,539
그래서 Latent, 즉  잠재된 픽셀을 찾아낸다는 말입니다

72
00:04:08,831 --> 00:04:11,709
이때 나오는 용어가 ‘잠재 공간
벡터(Latent space vector)’입니다

73
00:04:11,709 --> 00:04:14,712
vector란  수학적으로 크기와 방향을 가지는 양입니다

74
00:04:15,046 --> 00:04:19,008
숫자나 기호로 표현되고, 여기에서는 대부분 화살표로 표시됩니다

75
00:04:19,509 --> 00:04:22,428
특정 공간에서 x, y 형태의 좌표로

76
00:04:22,428 --> 00:04:25,682
표현되며 여기에서 새로운 픽셀값을 찾아냅니다

77
00:04:26,015 --> 00:04:29,185
두 번째는  Latent(antialiased) 모드입니다

78
00:04:29,477 --> 00:04:33,564
이것은 첫 번째 것과 똑같은데 
뒤에 antialiased가 붙었습니다

79
00:04:34,065 --> 00:04:36,526
안티(anti)란  아시다시피  반대한다는 뜻이고

80
00:04:36,818 --> 00:04:40,697
앨리어싱(aliasing technique)이란  디지털 신호
처리 과정에서 발생하는 노이즈를 말합니다

81
00:04:41,197 --> 00:04:43,449
즉  노이즈를 반대(anti-aliasing
technique)하는 모드입니다

82
00:04:43,449 --> 00:04:46,577
이미지 확대에서 말하는  노이즈란  무엇이겠습니까?

83
00:04:46,911 --> 00:04:51,416
이미지나 영상의 크기를 확대할 때 생기는  픽셀 간의 계단 현상을 말합니다

84
00:04:51,708 --> 00:04:55,336
즉  계단 현상을 완화시킴으로써  픽셀 간의 경계 부분을

85
00:04:55,336 --> 00:04:57,714
부드럽게 만드는 Latent 방식입니다

86
00:04:58,089 --> 00:05:00,591
세 번째 것은 Latent (bicubic) 모드입니다

87
00:05:00,591 --> 00:05:05,263
이 방식도  여기 Latent는 똑같으므로
‘bicubic’이 뭔지만 알면 됩니다

88
00:05:05,596 --> 00:05:10,685
bicubic은  원래의 이미지
정보를 유추해서  없는 픽셀을 만들어내는 방식입니다

89
00:05:11,019 --> 00:05:15,523
인접한 16개의 픽셀 값을 이용해서  2차 다항식 함수를 만들고  

90
00:05:15,898 --> 00:05:19,902
함수를 이용하여
보간 된 픽셀 값을  새로 만들어 내는 방식입니다

91
00:05:20,320 --> 00:05:24,407
이 방식은 픽셀이 변하면서  자연스럽고 선명하고 부드럽게 보이도록

92
00:05:24,407 --> 00:05:25,992
만들어 줍니다

93
00:05:25,992 --> 00:05:27,952
압축해서 말씀드리겠습니다

94
00:05:27,952 --> 00:05:32,206
네 번째  이것은 보시면 아시겠지만  앞의 1, 2, 3을 합친 것입니다

95
00:05:32,665 --> 00:05:37,211
즉  Latent와 anti-aliasing과 bicubic
기능을 모두 합한 모드입니다

96
00:05:37,587 --> 00:05:42,133
다섯 번째 모드는  첫 번째 모드와 똑같은데 
여기 ‘nearest’가 붙어 있습니다

97
00:05:42,425 --> 00:05:44,844
단어 그대로, 이미지를 업스케일링할 때

98
00:05:45,261 --> 00:05:49,223
인접한 픽셀 값을 활용해서 새로운 픽셀을 만들어 낸다는 의미입니다

99
00:05:49,599 --> 00:05:53,436
여섯 번째 모드는 다섯 번째 모드에서 exact가 붙어 있습니다

100
00:05:53,895 --> 00:05:58,066
다섯 번째 모드의 작업을 더 exact  즉 더 정확하게 한다는 말입니다

101
00:05:58,399 --> 00:06:02,320
그러므로  업스케일링 과정에서 다섯 번째 모드보다 더 정확하게

102
00:06:02,320 --> 00:06:04,280
보간하도록 설계된 방법입니다

103
00:06:04,530 --> 00:06:06,949
일곱 번째,  Lanczos 모드입니다

104
00:06:06,949 --> 00:06:09,077
Lanczos는 헝가리 수학자 이름입니다

105
00:06:09,369 --> 00:06:11,662
cornelius lanczos라는 수학자가 만든

106
00:06:11,662 --> 00:06:13,706
Lanczos 보간법(Lanczos interpolation)을 사용하는 모드입니다

107
00:06:14,040 --> 00:06:17,418
이 모드는 세 번째 방식인  bicubic 보간법과 비슷하지만 

108
00:06:17,418 --> 00:06:19,629
좀 다른 방식으로 작동합니다

109
00:06:20,088 --> 00:06:22,840
bicubic은 이미지를 여러 개의 작은 구역으로 나누어

110
00:06:23,174 --> 00:06:26,594
각 구역을 바이큐빅 곡선을 이용해 보간하는 방식인데 비해 

111
00:06:26,594 --> 00:06:30,181
‘Lanczos 보간법’은 이미지를 여러 개의 작은 구역으로 나눈 다음 

112
00:06:30,181 --> 00:06:33,518
각 구역을 ‘Lanczos 함수’를 이용해서 보간하는 방식입니다

113
00:06:33,851 --> 00:06:36,062
‘Lanczos 보간법(Lanczos interpolation)’은
bicubic에 비해

114
00:06:36,062 --> 00:06:37,939
더 정교하게 이미지를 보간할 수 있고

115
00:06:38,314 --> 00:06:40,191
이미지의 왜곡을 더 줄일 수 있고

116
00:06:40,191 --> 00:06:42,443
더 부드러운 이미지를 생성할 수 있습니다

117
00:06:42,902 --> 00:06:46,239
그러나  계산량이 많기 때문에 처리 속도가 느릴 수 있습니다

118
00:06:46,239 --> 00:06:48,199
압축해서 말씀드리겠습니다

119
00:06:48,199 --> 00:06:50,451
여덟째 모드는 Nearest mode입니다

120
00:06:50,451 --> 00:06:53,663
5번째 모드인 Latent (nearest)와의 차이점은

121
00:06:53,663 --> 00:06:56,040
앞의 것은 Latent란 말이 있으므로

122
00:06:56,332 --> 00:06:57,834
이미지를 확대할 때

123
00:06:57,834 --> 00:06:59,252
‘잠재공간 벡터방식(Latent space vector)’을

124
00:06:59,252 --> 00:07:01,003
 함께 사용한다는 것을 알 수 있습니다

125
00:07:01,504 --> 00:07:04,090
그러나 Nearest는 Latent란 말이 없기 때문에

126
00:07:04,424 --> 00:07:06,759
‘최근접 이웃 보간법’만 사용합니다

127
00:07:06,759 --> 00:07:07,760
압축해서 말씀드리겠습니다

128
00:07:07,760 --> 00:07:10,721
아홉 번째 모드는 ESRGAN_4x 모드입니다

129
00:07:10,721 --> 00:07:12,890
ESRGAN은 Enhanced Super-Resolution
Generative Adversarial Network의 약자입니다

130
00:07:12,890 --> 00:07:16,269
이 모드는  어느 이미지 업스케일링 대회에서 우승한 모드입니다

131
00:07:16,561 --> 00:07:17,478
이 모드는

132
00:07:17,478 --> 00:07:20,857
생성자(Generator)와 판별자(Discriminator)라는 두 개의 신경망 모델을 이용하여 

133
00:07:20,857 --> 00:07:22,358
이미지를 생성하는 방식입니다

134
00:07:22,358 --> 00:07:22,859
압축해서 말씀드리겠습니다

135
00:07:22,859 --> 00:07:24,277
먼저 생성자(Generator) 모델은

136
00:07:24,277 --> 00:07:28,573
저해상도 이미지를 입력받아 고해상도 이미지를 출력하는 역할을 하고

137
00:07:28,906 --> 00:07:29,991
판별자(Discriminator) 모델은 

138
00:07:29,991 --> 00:07:34,162
입력된 이미지가 고해상도인지 저해상도인지를 판별하는 역할을 합니다

139
00:07:34,662 --> 00:07:37,373
이 두 모델은 서로 경쟁적인 관계를 가지고

140
00:07:37,373 --> 00:07:40,960
서로를 학습하면서 더 나은 이미지를 만들도록 설계되었습니다

141
00:07:41,335 --> 00:07:46,716
이 모델은 매우 우수하지만 
다음 11번째 소개될  R-ESRGAN 4x+ 가 나왔습니다

142
00:07:47,049 --> 00:07:48,926
다음 모델은 LDSR입니다

143
00:07:48,926 --> 00:07:51,429
LDSR은 Light Deep Super Resolution의 약자입니다

144
00:07:51,429 --> 00:07:52,763
이 모델은 이름에서 알 수 있듯이

145
00:07:52,763 --> 00:07:56,267
기존의 Super Resolution기술에서 경량화된 딥러닝 모델입니다

146
00:07:56,559 --> 00:07:58,811
그러므로  업스케일링 속도가 빠릅니다

147
00:07:59,103 --> 00:08:03,316
또한  고품질 이미지 생성에 대한 성능도 뛰어나다는 평가를 받고 있습니다

148
00:08:03,816 --> 00:08:07,153
이 모델은 주로 자연 이미지나 사물 이미지 등에서 사용되며  

149
00:08:07,153 --> 00:08:07,195
압축해서 말씀드리겠습니다

150
00:08:07,195 --> 00:08:09,864
또한 경량화된 딥러닝 모드이기 때문에 

151
00:08:09,864 --> 00:08:10,740
모바일 기기나

152
00:08:10,740 --> 00:08:13,451
IoT 디바이스 등에서 사용하기가 좋습니다

153
00:08:14,076 --> 00:08:16,245
 11번째 모드는 R-ESRGAN 4x+입니다

154
00:08:16,537 --> 00:08:19,707
이 모델은 아홉 번째 소개된 ESRGAN을 기반으로 합니다

155
00:08:20,208 --> 00:08:22,293
앞에서 나온 이에스알간과 유사하지만

156
00:08:22,293 --> 00:08:25,713
플러스(+) 기호가 붙어 있는 만큼  화질은 더 좋습니다

157
00:08:26,047 --> 00:08:29,717
모델 이름 끝에 붙은 ‘4x’는 이미지 크기의 4배를 의미합니다

158
00:08:30,009 --> 00:08:33,721
그러므로  이 모드는 추가적인 업스케일링 알고리즘을 적용하여

159
00:08:33,721 --> 00:08:35,973
더 높은 화질의 이미지를 생성합니다

160
00:08:36,265 --> 00:08:38,643
앞에 붙은 R은  “Residual”의 약자입니다

161
00:08:38,976 --> 00:08:40,686
“Residual”은 딥러닝 모델에서

162
00:08:40,686 --> 00:08:43,147
입력과 출력 사이에 남는 차이를 나타내는데

163
00:08:43,606 --> 00:08:47,401
SRGAN을 기반으로 하되  더욱 향상된 결과물을 생성합니다

164
00:08:48,319 --> 00:08:51,614
12번째는 R-ESRGAN 4x+ Anime6B입니다

165
00:08:51,948 --> 00:08:53,824
이 모드는 앞의 모드와 같지만

166
00:08:53,824 --> 00:08:56,869
Anime6B라는 데이터셋에서 학습된 모드입니다

167
00:08:57,245 --> 00:09:00,039
그러므로  애니메이션 이미지에 특화된 모드입니다

168
00:09:00,790 --> 00:09:02,291
마지막으로 SwinIR 4x입니다

169
00:09:02,583 --> 00:09:06,254
이 모드는 Swin Transformer를 기반으로 한 업스케일링 모드입니다

170
00:09:06,754 --> 00:09:09,131
이 모드는 최근 이미지 업스케일링 분야에서

171
00:09:09,423 --> 00:09:12,009
매우 높은 관심과 좋은 평가를 받고 있습니다

172
00:09:12,510 --> 00:09:16,180
이상으로 하이레졸루션(Hires = High
Resolution)에서 나오는 업스케일링 모델을 살펴보았습니다

173
00:09:16,973 --> 00:09:20,059
그리고 엑스트라 작업영역에서 업스케일링 옵션이 있지만

174
00:09:20,434 --> 00:09:23,646
보시다시피 이것들은 모두 설명한 내용에 포함되어 있습니다

175
00:09:24,313 --> 00:09:26,315
앞에서 말씀드린 내용과 동일합니다

176
00:09:26,607 --> 00:09:31,028
다음은 업스케일링을 실전에서 하는 방법입니다

177
00:09:36,367 --> 00:09:39,287
첫 단계에서  Higres에 체크하지 말고

178
00:09:39,287 --> 00:09:42,832
Generate 합니다 그러면 이런 그림이 나왔습니다

179
00:09:43,332 --> 00:09:45,126
저의 사진입니다

180
00:09:45,585 --> 00:09:47,295
이제 두 번째 단계입니다

181
00:09:47,295 --> 00:09:50,840
확대할 만한 사진이 나왔으면  여기 Higres(하이레졸루션)에 체크하고

182
00:09:51,591 --> 00:09:54,552
이 이미지의 Seed 번호를 여기에 복사해서 붙여 넣습니다

183
00:09:57,763 --> 00:09:59,098
Sampling method는

184
00:09:59,098 --> 00:10:02,310
DPM++ SDE Karras로 선택합니다

185
00:10:03,019 --> 00:10:05,605
기본은 Euler a로 되어 있습니다

186
00:10:05,605 --> 00:10:10,192
2D의 느낌을 원할 경우
DPM++ 2M Karras으로 선택합니다

187
00:10:10,192 --> 00:10:12,278
Sampling steps는 40으로 합니다

188
00:10:12,278 --> 00:10:15,573
비율을 1.5에서 2 사이로 두고  업스케일링을 합니다

189
00:10:16,073 --> 00:10:17,533
여기서는 2로 하겠습니다

190
00:10:17,533 --> 00:10:21,329
Upscaler는 앞에서 설명한  1,2,3,4 중에서 선택합니다

191
00:10:21,579 --> 00:10:24,332
디노이즈(Denoising strength)는 0.4에서 0.6 사이로 합니다

192
00:10:24,332 --> 00:10:27,126
변화를 좀 주고 싶으면,
 Denoising 레벨을 올리고 

193
00:10:27,126 --> 00:10:31,213
지금 이미지가 마음에 들어  거의 주고 싶지 않으면 레벨을 내립니다

194
00:10:31,589 --> 00:10:34,717
거의 동일한 그림으로 확대하고 싶으면 0.2 이하로 합니다

195
00:10:35,051 --> 00:10:39,347
입력을 다 했으면
Generate 합니다

196
00:10:47,188 --> 00:10:47,980
그러면 이렇게

197
00:10:47,980 --> 00:10:52,902
2배로 확대되었고  없던 픽셀을 만들어 픽셀 수가 4배로 늘어났습니다

198
00:10:52,985 --> 00:10:54,654
이제 세 번째 단계입니다

199
00:10:54,654 --> 00:10:57,281
img2img로 보내서 수정할 부분을 수정하겠습니다

200
00:10:57,281 --> 00:11:00,242
먼저 inpaint 탭을 누르고 
여기를 눌러

201
00:11:00,242 --> 00:11:02,161
붓의 굵기를 선택할 수 있습니다

202
00:11:02,161 --> 00:11:07,249
이렇게 칠해 보겠습니다

203
00:11:08,209 --> 00:11:09,168
그리고

204
00:11:09,168 --> 00:11:24,475
  머리 색깔만 Blue로 바꿔달라고 해 보겠습니다

205
00:11:24,475 --> 00:11:28,938
마스크 블러는 0에서 64까지 설정할 수 있는데,  0으로 설정하겠습니다

206
00:11:29,230 --> 00:11:31,565
이것을 선택하면 칠한 부분을 수정해 주고

207
00:11:31,941 --> 00:11:34,694
이것을 선택하면 칠하지 않은 부분을 수정해 줍니다

208
00:11:35,027 --> 00:11:39,490
여기를 선택하면, 이 영역을 다른 부분의 정보를 사용하여
채워 넣기를 합니다

209
00:11:39,990 --> 00:11:42,201
해당 영역을 제거하고 싶을 때 사용합니다

210
00:11:42,535 --> 00:11:46,706
original을 선택하면  해당 영역의 원래 콘텐츠를 그대로 유지합니다

211
00:11:47,248 --> 00:11:51,210
다른 영역에서 추출한 정보를 사용하여 해당 영역을 복원하는 것이 아니라

212
00:11:51,544 --> 00:11:54,004
원래 콘텐츠를 그대로 사용하는 방식입니다

213
00:11:54,338 --> 00:11:58,592
latent noise:  latent와
noise, 모두 앞에서 공부한 단어입니다

214
00:11:59,093 --> 00:12:02,304
이것은 영역의 일부  또는 전체를 무작위로 변형합니다

215
00:12:02,763 --> 00:12:03,931
한번  해 볼까요?

216
00:12:06,559 --> 00:12:08,728
이렇게 나왔군요

217
00:12:08,978 --> 00:12:12,690
 latent nothing, 해당 영역에 아무런 콘텐츠를 채워 넣지 않습니다

218
00:12:13,190 --> 00:12:15,443
그 영역을 그대로 비어있게 합니다

219
00:12:15,443 --> 00:12:19,697
Inpaint area:  이곳을 체크하면
전체 이미지가 인페인트 대상이 됩니다

220
00:12:20,197 --> 00:12:22,867
마스크와 상관없이 이미지 전체가 대상이 됩니다

221
00:12:23,367 --> 00:12:27,455
이곳(Whole picture)을 선택하면 
마스크에서 표시한 영역만 인페인트 대상이 됩니다

222
00:12:27,955 --> 00:12:30,416
즉, 마스크로 지정된 영역만 수정됩니다

223
00:12:30,708 --> 00:12:32,960
이곳은 padding의 크기를 지정하는 곳입니다

224
00:12:33,461 --> 00:12:35,963
경우에 따라 값을 달리 설정해야 합니다

225
00:12:35,963 --> 00:12:40,134
인페이트 영역과 주변 영역 간의 경계가 자연스럽게 보이도록 하려면

226
00:12:40,134 --> 00:12:42,178
작게 설정하는 것이 좋습니다

227
00:12:42,678 --> 00:12:46,056
그러나 인페인트 영역과 주변 영역이 서로 크게 차이나는 경우에는

228
00:12:46,056 --> 00:12:47,892
큰 값으로 설정하여

229
00:12:47,933 --> 00:12:52,146
더 넓은 영역을 인페이팅 처리하면 더 자연스러운 결과를 얻을 수 있습니다

230
00:12:52,688 --> 00:12:55,107
인페인팅을 활용하여 많은 것을 할 수 있습니다

231
00:12:55,399 --> 00:12:59,779
마음에 들지 않는 옷을 바꾸고  얼굴이나 피부나 눈동자를 바꿀 수 있습니다

232
00:13:00,112 --> 00:13:02,782
다음은, 마지막으로 Extras에 대한 내용입니다

233
00:13:02,782 --> 00:13:08,871
아까 작업한 것을  여기를 눌러 Extras로 보내겠습니다

234
00:13:11,499 --> 00:13:13,083
Extras란 무슨 뜻입니까?

235
00:13:13,417 --> 00:13:16,045
Extras를 한국어로 번역하면 ‘추가기능’입니다

236
00:13:16,045 --> 00:13:19,715
영화의 ‘Extras’와 같은 뜻이며  단역배우 정도의 의미입니다

237
00:13:20,049 --> 00:13:23,469
그러나 이곳의 ‘엑스트라’는
‘스턴트맨’처럼 강력한 일을 수행합니다

238
00:13:23,761 --> 00:13:28,140
이미지 업스케일링뿐만 아니라
외부 소프트웨어나 라이버러리를 활용하여

239
00:13:28,140 --> 00:13:31,644
강력한 수준의 이미지 처리와 영상처리를 할 수 있는 곳입니다

240
00:13:31,644 --> 00:13:33,813
그러나 오늘은 업스케일링이 주제이므로

241
00:13:33,813 --> 00:13:36,398
  업스케일링 단계를 수행하겠습니다

242
00:13:36,398 --> 00:13:40,569
 이곳의 scale by를 누르면 이미지를 비율만큼 확대할 수 있습니다

243
00:13:41,070 --> 00:13:43,447
4를 입력하면 4배로 확대합니다

244
00:13:43,447 --> 00:13:46,951
scale to를 누르면 이미지의 가로 또는 세로 크기를 변경합니다

245
00:13:48,702 --> 00:13:49,954
이곳을 선택하면 이미지를 지정한 크기에 맞게 잘라냅니다

246
00:13:49,954 --> 00:13:51,664
이곳을 선택하면 이미지를 지정한 크기에 맞게 잘라냅니다

247
00:13:53,123 --> 00:13:55,251
여기에서 업스케일링 모드를 선택합니다

248
00:13:55,543 --> 00:13:58,629
Upscaler 1이 있고
Upscaler 2가 있습니다

249
00:13:58,629 --> 00:14:02,591
이론상으로는  Upscaler 2가 더 높은 해상도의 이미지를 생성합니다

250
00:14:02,591 --> 00:14:06,387
그러나  지금 현재 이곳을 보면 두 곳의 Mode는 동일합니다

251
00:14:06,387 --> 00:14:08,222
Upscaler 1만 사용하거나

252
00:14:08,514 --> 00:14:11,392
또는  Upscaler 1과 2에

253
00:14:11,392 --> 00:14:17,940
  SwinIR4x나,  R-ESRGAN 4x+나,  R-ESRGAN 4x+ Anime6 B 등, 가장 고품질

254
00:14:17,940 --> 00:14:19,942
알고리즘 3개 중에서 각각 선택하여 혹은 원하는 다른 알고리즘 중에서 선택하여

255
00:14:19,942 --> 00:14:24,154
여기서 가중치를 줄 수 있습니다 Upscaler 2의 알고리즘을 선택하고

256
00:14:24,154 --> 00:14:28,242
이 레벨을 끝까지 올려주면  Upscaler 2만 사용하는 것을 의미합니다

257
00:14:28,742 --> 00:14:32,371
이 레벨로 그 가중치를 조절하여  여러 조합을 만들 수 있습니다

258
00:14:32,621 --> 00:14:35,624
값은 0과 1 사이의 실수 값으로 설정할 수 있습니다

259
00:14:36,125 --> 00:14:39,003
그러나  지금 실습에서는 여기 1만 선택하여

260
00:14:39,253 --> 00:14:41,881
R-ESRGAN 4x+를 선택하겠습니다

261
00:14:42,172 --> 00:14:44,633
여기에는  GFPGAN visibility가 있습니다

262
00:14:44,633 --> 00:14:48,220
이것은 안면 이미지 생성을 위한 딥러닝 기술입니다

263
00:14:48,220 --> 00:14:49,138
visibility를 올리면

264
00:14:49,138 --> 00:14:52,600
업스케일링된 이미지의 시각적인 품질을 향상할 수 있습니다

265
00:14:52,892 --> 00:14:55,352
그러나 시간과 시스템 부하가 걸립니다

266
00:14:55,352 --> 00:14:56,478
여기에서 CodeFormer

267
00:14:56,478 --> 00:14:59,273
visibility를 사용할지 여부를 선택할 수 있습니다

268
00:14:59,273 --> 00:15:01,901
올릴수록  디테일이 매우 정교해집니다

269
00:15:02,192 --> 00:15:04,528
그러나 디테일은 노이즈와 동일한 말입니다

270
00:15:04,528 --> 00:15:06,363
그러므로 디테일이 살아나면서

271
00:15:06,363 --> 00:15:09,241
동시에 노이즈도 늘어나고 시간도 더 걸립니다

272
00:15:09,533 --> 00:15:11,952
여기서 CodeFormer weight를 설정할 수 있습니다

273
00:15:12,244 --> 00:15:13,954
앞의 것(CodeFormer visibility)과 이름은 비슷하지만

274
00:15:13,954 --> 00:15:15,873
서로 다른 목적을 갖고 있습니다

275
00:15:16,206 --> 00:15:19,209
앞의 것(CodeFormer visibility)은 모델의 내부 동작을 살펴보는 데 사용되며

276
00:15:19,209 --> 00:15:20,794
CodeFormer weight는

277
00:15:20,794 --> 00:15:24,590
모델이 어떤 패턴을 인식하도록 할 것인지를 결정하는 데 사용됩니다

278
00:15:25,090 --> 00:15:29,178
이 두 매개변수를 함께 조절하면 더욱 정교한 업스케일링을 할 수 있습니다

279
00:15:29,178 --> 00:15:32,640
이제 Generate를 누르겠습니다

280
00:15:33,098 --> 00:15:36,268
픽셀 수가 144배로 증가하는 데 걸리는 시간을 재 보겠습니다

281
00:15:41,148 --> 00:15:42,316
약 10초 걸렸군요

282
00:15:42,316 --> 00:15:44,276
파일의 해상도를 한번 볼까요

283
00:15:46,320 --> 00:15:49,698
당초에는 픽셀 수가 262,144개였던 것이

284
00:15:50,032 --> 00:15:54,954
37,486,592개 늘어나서 144배 증가한

285
00:15:54,954 --> 00:15:58,999
픽셀 수 37,748,736개로 업스케일링 되었습니다

286
00:15:58,999 --> 00:16:01,794
8K 해상도 보다 더 고화질이 되었습니다

287
00:16:02,252 --> 00:16:04,713
여기 정리된 표를 보십시오

288
00:16:04,713 --> 00:16:06,966
이것은 무에서 유를 창조한 것입니다

289
00:16:06,966 --> 00:16:10,719
이렇게 자연스러우면서도 8K의 화질 이상의 초고해상도로

290
00:16:10,719 --> 00:16:14,431
업스케일링 된 것은 처음에 말씀드린 보간법(interpolation) 덕분입니다

291
00:16:15,140 --> 00:16:16,892
조금만 더 확대해 볼까요?

292
00:16:16,892 --> 00:16:19,311
여기서 다시 Send Extras를 누르면 됩니다

293
00:16:20,437 --> 00:16:25,359
이번에는 1.5배만 확대해 보겠습니다

294
00:16:25,359 --> 00:16:27,611
작업이 수행되는지 한 번 볼까요?

295
00:16:30,781 --> 00:16:32,366
열심히 되고 있습니다

296
00:16:32,366 --> 00:16:36,829
이러한 방법으로  4K, 8K, 얼마든지 고화질로 만들 수 있습니다  

297
00:16:36,829 --> 00:16:39,206
시청해 주셔서 대단히 감사합니다.

Stable Diffusion WebUI 설치 및 사용 방법_8K_4K_Hires_업스케일 알고리즘
Stable Diffusion WebUI 설치 및 사용 방법_8K_4K_Hires_업스케일 알고리즘