AI 이미지/Stable Diffusion

잡음제거 강도(Denoising strength)란?

하늘이푸른오늘 2024. 1. 24. 01:01

잡음제거 강도는 샘플링 단계에 들어가기 전, 이미지에 얼마나 많은 잡음을 추가할 것인지를 결정합니다. 특히 스테이블 디퓨전에서 image-to-image이지지 생성에서 공통적으로 사용되는 설정입니다.

잡음제거 강도는 0부터 1.0까지 설정할 수 있습니다. 0은 입력 이미지에 아무런 잡음을 추가하지 않는다는 뜻이고, 1.0은 입력된 이미지가 완전한 노이즈로 대체된다는 뜻입니다.

이러한 점에서 잡음제거 강도는 원 이미지를 보존하는 것과 완전히 새로운 이미지를 생성하는 것 사이의 균형이라고 생각하셔도 좋습니다.

결론적으로 잡음제거 강도를 높일 수록 이미지가 많이 변화하게 됩니다.

AUTOMATIC1111에서 잡음제거 강도

AUTOMATIC1111의 경우, img2img 페이지에서 잡음제거 강도(Denoising strength)를 설정할 수 있습니다. 이 값에 따라 입력된 이미지가 얼마나 변화할지가 결정됩니다.

image-to-image에서 잡음제거 강도

image-to-image를 사용하면 비슷한 이미지를 생성할 수 있습니다.

AUTOMATIC1111의 경우, img2img페이지에 들어가서, [Generation]-[img2img] 탭에 들어가면 사용할 수 있습니다.

먼저 image 캔버스에 원하는 이미지를 올립니다.

그 다음 [Generate] 버튼 아래에 있는 [Interrogate CLIP] 버튼(종이 클립 모양 아이콘)을 눌러 어떤 프롬프트가 사용되었는지 분석합니다. (물론 정확히 원하는 프롬프트가 있으면 생략하셔도 됩니다)

이렇게 분석했더니 "a cat wearing a top hat and bow tie sitting on a window sill with autumn leaves around it, Chris LaBrooy, autumn, a photorealistic painting, fantasy art" 로 나오네요. 

그 다음 [Generate] 버튼을 누르면 생성된 프롬프트를 사용해서 이미지가 만들어집니다. 이때 denoising strength 값을 변경하면 이미지 변화정도를 설정할 수 있습니다.

  • 0 - 변화없음
  • 0.2 - 약간의 변화
  • 0.6 - 상당한 변화
  • 1.0 - 큰 변화
denoising strength = 0 denoising strength = 0.2 denoising strength = 0.4
denoising strength = 0.6 denoising strength = 0.8 denoising strength = 1.0

원래 위 그림은 DALL-E 3에서 생성한 이미지인데, 잡음제거 강도를 크게할 수록 이미지가 많이 변화되는 걸 알 수 있습니다. 원래는 "A cat with christmas ornament(크리스마스 장식을 하고 있는 고양이)"로 생성한 이미지가, 그냥 평범한 가을 배경의 고양이로 바껴버렸습니다. 이는 Interrogate CLIP이 크리스마스 분위기를 못잡아서 생긴 일이죠. ㅎㅎ

인페인트에서 잡음제거 강도

인페인트란 이미지 중 일부를 재생성하는 기법을 말합니다. 인페인트에서 잡음제거 강도의 효과는 image-to-image에서의 효과와 거의 비슷합니다. 높은 값을 입력할 수록 이미지가 많이 변경되죠.

하지만, 사용할 때 약간 주의할 점이 있습니다. 아래와 같이 이미지 중에서 얼굴만 다른 사람으로 바꿔보겠습니다. 인페인트는 img2img 페이지에 들어가서  [Generation]-[inpaint] 탭에 들어가면 사용할 수 있습니다.

마찬가지로 [Interrogate CLIP]버튼을 눌러 프롬프트를 알아봅니다. 위의 이미지는 "a woman with long hair standing in a field of grass with a blue sky in the background and a field of grass in the foreground, Du Qiong, white background, a stock photo, aestheticism"이라고 나오네요.

이제 [Generate] 버튼을 눌러 생성해 보겠습니다.

denoising strength = 0 denoising strength = 0.2 denoising strength = 0.4
denoising strength = 0.6 denoising strength = 0.8 denoising strength = 1.0

보시는 것처럼 인페인트를 할 때 잡음제거 강도를 너무 높게 올리면 나머지 부분과 잘 어울리지 않는 이미지가 생성됨을 알 수 있습니다.

하지만, 이것은 일반적인 SD 모델을 사용했을 때이고, 잡음 제거 강도를 높여도 괜찮은 경우가 있습니다. 

  • 인페인트 전용 모델을 사용하는 경우
  • ControlNet을 사용하는 경우

이에 대한 상세한 내용은 인페인트의 모든 것을 읽어보시기 바랍니다.

ComfyUI에서의 잡음제거 강도

ComfyUI에서도 잡음 제거 강도의 효과는 AUTOMATIC1111과 동일합니다. 잡음제거 강도는 아래 그림과 같이 KSampler 노드에서 변경할 수 있습니다.

이상입니다. 이 글은 https://stable-diffusion-art.com/denoising-strength/ 에서 예제만 제가 생성한 이미지를 사용해서 대체하여 작성한 글입니다.

민, 푸른하늘