AI 이미지/Flux AI

Flux AI 모델을 사용한 img2img와 인페인트

하늘이푸른오늘 2024. 12. 26. 00:26

Image-to-Image를 사용하면 기존의 이미지로부터 새로운 이미지를 생성할 수 있습니다. 인페인트를 사용하면 이미지중 일부를 새로 생성할 수 있습니다. Flux AI 모델은 img2img와 인페인트 모두 지원합니다. 

이 글 Flux AI 모델을 사용하여 img2img 및 인페인트를 적용하는 방법에 대한 글입니다.

소프트웨어

이글에서는 AUTOMATIC1111로부터 파생된 SD-Forge를 사용합니다. SD-Forge의 설치방법은 이 글을 보세요. 또한 SD_Forge 사용법은 AUTOMATIC1111 사용법과 거의 비슷하니 이를 참고하시면 됩니다.

Flux-AI 모델을 사용한 Image-to-Image

img2img를 사용하면 유사한 이미지를 생성할 수 있습니다.

1단계: txt2img로 이미지 생성

SD Forge WebUI의 txt2img 페이지에 들어가서 아래와 같이 설정합니다.

UI:  flux
Checkpoint: flux1-dev-bnb-nf4-v2.safetensors
프롬프트: Photo of a siberian cat in russian forest, national geographic winner, photo of the year, bokeh, winter
이미지 사이즈: 1344x768

VRAM 이 충분하다면 체크포인트 파일을 flux1-dev-fp8.safetensors 로 사용하셔도 됩니다. 나머지 값은 그냥 둬도 됩니다. 마지막으로 [Generate]버튼을 누르면 이미지가 생성됩니다.

2단계: 이미지를 img2img로 보내기

생성된 이미지 아래에서 액자처럼 생긴 아이콘을 누르면 이미지와 관련 매개변수가 img2img로 넘어갑니다.

3단계: Img2img 설정 조정

잡음제거 강도

가장 중요한 매개변수는 잡음 제거 강도(Denoising strength)입니다. 이 값을 크게하면 이미지가 많이 변경됩니다. 아래는 잡음 제거 강도를 0.5, 0.7, 0.9로 변경하여 생성한 이미지입니다. 0.5 정도에서는 거의 변화가 없으나, 0.9가 넘어가면 구도 자체가 변했음을 알 수 있습니다.

원본 Denoising Strength = 0.5
Denoising Strength = 0.7 Denoising Strength = 0.9

프롬프트

프롬프트를 변경하면 이미지의 내용자체를 변경할 수 있습니다. 아래는 프롬프트에서 " a siberian cat"을 "a lion"으로만 변경해서 생성한 결과입니다. 다만 이렇게 바꿀 때에는 잡음 제거 강도를 변경해가면서 시험해보는 것이 좋습니다. 아래는 0.8로 생성한 결과입니다.

이처럼 거의 유사한 배경속에 다른 그림을 생성할 수 있습니다.

Flux AI 모델을 사용한 인페인트

인페인트는 image-to-image 와 비슷하지만, 일부 영역만 변경한다는 점만 다릅니다. 변경하고 싶은 영역은 지정할 수 있습니다.

1 단계: txt2img로 이미지 생성

SD Forge WebUI의 txt2img 페이지에 들어가서 아래와 같이 설정합니다.

UI:  flux
Checkpoint: flux1-dev-bnb-nf4-v2.safetensors
프롬프트: Photo of a siberian cat in russian forest, national geographic winner, photo of the year, bokeh, winter
이미지 사이즈: 1344x768

VRAM 이 충분하다면 체크포인트 파일을 flux1-dev-fp8.safetensors 로 사용하셔도 됩니다. 나머지 값은 그냥 둬도 됩니다. 마지막으로 [Generate]버튼을 누르면 이미지가 생성됩니다.

2단계: 이미지를 인페인트(Inpaint)로 보내기

생성된 이미지 아래에서 팔레트처럼 생긴 아이콘을 누르면 이미지와 관련 매개변수가 img2img의 Inpaint 영역으로 넘어갑니다.

원한다면 어떤 이미지이든지 직접 Inpaint 탭에 넣을 수도 있습니다. 자신의 사진의 배경에서 지저분한 것을 지우고 싶은 경우, Inpaint를 사용할 수 있습니다.

3단계: 인페인트 대상 영역 선택

브러시 도구를 사용해서 새로 그리고 싶은 영역을 칠해줍니다. 아래는 고양이 머리만 다시 그리고 싶을 때의 모습입니다.

4단계: 인페인트 설정

이번에도 원래 프롬프트에서  "a siberian cat"을 "a lion"으로만 변경해 보겠습니다. 

프롬프트: Photo of a lion in russian forest, national geographic winner, photo of the year, bokeh, winter

아래는 잡음 제거 강도를 0.8로 두고 생성한 결과입니다. 보시는 것처럼 삵의 몸통에 사자머리를 한 키메라가 탄생했습니다!

인페인트 기법을 이용하면 인물의 옷을 바꾼다거나, 배경을 지운다거나, 다른 사람 얼굴로 바꾸는 등 다양한 응용이 가능합니다.

이상입니다. 이 글은 stable-diffusion-art.com의 글을 번역하면서 직접 테스트한 결과로 재작성한 글입니다.