일반 Flux 체크포인트 모델로 인페인팅을 할 수도 있지만, 잡음 제거 강도를 세밀하게 조정하는 등 여러가지 어려움이 있을 수 있습니다. 너무 올리면 이미지 일관성이 깨지고, 너무 낮게 잡으면 아무것도 변하지 않습니다. 그런데, 중간 정도로 설정하게 되면 원래 색상에서 크게 벗어나지 않는다는 점이 문제가 됩니다.
이 글에서는 Flux.1 Fill GUFF 모델을 사용해서 이러한 한계를 극복할 수 있는 워크플로를 소개해 드립니다.
소프트웨어
이 글에서는 스테이블 디퓨전용 GUI중에서도 제가 제일 좋아하는 ComfyUI를 사용합니다. ComfyUI가 처음이시라면, 설치 및 기본 사용방법 및 초보가이드를 확인하시기 바랍니다.
Flux Fill 모델이란
모델
Flux.1 Fill 모델은 인페인트 모델입니다. 인페인트 모델은 이미지 전반에 걸친 일관성을 최대한 유지하면서 비어있는 콘텐츠를 채우도록 훈련된 모델입니다.
Flux.1 Dev Fill 모델인 Flux.1 Pro Fill 모델의 빠른 버전입니다. 안내 농축(guidance distillation)을 사용하여 속도를 올리고 무분류기 안내(CFG, Classifier-free guidance) 없이 잡음을 제거합니다. 그 결과 품질은 거의 변함이 없으면서도 속도가 2배로 빨라집니다.
GGUF(GGML Universal File)는 텐서와 메타데이터를 단일 파일에 저장하는, 모델 데이터를 빠르게 저장하고 로드할 수 있도록 설계된 파일 포맷입니다. 원래 Flux Fill 모델은 최소 24GB VRAM을 요구하지만, GGUF 파일을 사용하면 GTX3070으로도 무난하게 돌릴 수 있습니다.
라이선스
Flux.1 Fill 모델은 동일한 비-상업용 Flux.1 Dev 라이선스를 따릅니다. 따라서 생성된 이미지를 상업적 목적으로도 사용할 수 있습니다.
Flux 모델과 Flux Fill 모델을 사용한 인페인트 비교
인페인트시 Flux Fill 모델을 사용하면 다음과 같은 장점이 있습니다.
- 인페인트 마스크 바깥쪽 이미지와이의 일관성을 유지하면서도 최대 잡음제거 강도(1.0)를 유지할 수 있습니다.
- 새로운 콘텐츠가 원 콘텐츠와 색이 달라질 수 있습니다(잡음제거 강도를 1.0로 설정하므로)
따라하기
1 단계: Flux.1 Fill dev GGUF 모델 다운로드
GGUF unet 모델
아래 사이트에서 파일을 다운로드 받아, ComfyUI\models\unet 폴더에 넣어줍니다.
여기에는 아주 많은 파일이 들어있는데, 다 받을 필요는 없습니다. 저는 파일 크기가 가장 큰 flux1-fill-dev-Q8_0.gguf 만 받았습니다.
CLIP 모델
아래 사이트에서 파일을 다운로드 받아, ComfyUI\models\clip 폴더에 넣어줍니다. 마찬가지로 다 받을 필요가 없고, 다운로드 받은 unet과 동일한 버전만 받으시면 됩니다.
vae 모델
마지막으로 vae 모델이 필요합니다. 여기에 들어가서 다운로드 받은뒤, ComfyUI_windows_portable\ComfyUI\models\vae 폴더에 넣어주시면 됩니다. 원하시면 구분하기 쉽도록 파일명을 flux-dev-gguf.safetensors 로 변경해주시면 좋습니다.
2단계: 워크플로 불러오기
아래의 JSON 파일을 ComfyUI에 불러옵니다. 좌측위의 Workflow->Open 메뉴를 사용하면 됩니다.
이 워크플로를 불러오면 대부분 오류가 발생할 것입니다. 그러한 경우, 다음과 같은 작업이 필요합니다.
- 처음 사용할 때 - ComfyUI Manager 를 설치해야 합니다.
- ComfyUI를 오랜만에 사용할 때 - ComfyUI를 최신버전으로 업데이트해야 합니다.
- 노드가 없다고 (빨간색) 경고가 뜰 때 - 빠진 커스톰 노드를 가져오기해야 합니다.
- 불러오기 혹은 수행중 에러 발생시 - 커스톰 노드를 업데이트해야 합니다.
3 단계: 이미지 불러오기
[Load Image] 노드에 편집하고자 하는 이미지를 불러옵니다. 아래의 사진을 사용하셔도 됩니다.
4단계: 인페인트 마스크 생성
[Load Image]의 이미지에서 우클릭하고 "Open in MaskEditor"를 선택합니다.
변경하고자 하는 지역을 표시하고 "Save"를 선택합니다.
이제 워크플로로 돌아오면 이미지에 마스크가 표시됩니다.
5 단계: 프롬프트 검토
변경하고자 하는 내용을 프롬프트에 입력합니다. 여기에서는 탱크탑으로 변경해 보겠습니다.
프롬프트: photo of woamn in a black top
6 단계: 이미지 생성
[Queue] 버튼을 누르면 인페인팅이 시작됩니다. 아래는 결과 이미지입니다.
이상입니다.
이 글은 stable-diffusion-art.com의 글 에서 GGUF 버전으로 변경하여 작성하였습니다.
- ComfyUI로 설치 및 사용법 기초
- ComfyUI 투토리얼
- ComfyUI를 위한 유용한 정보
- ComfyUI와 SDXL 사용법(1) - 기초
- ComfyUI에서 ControlNet 사용법
- 편리한 ComfyUI 워크플로 모음
- LCM-LoRA - 초고속 스테이블 디퓨전
- Stable Video Diffusion(비디오 스테이블 디퓨전)
- Stable Diffusion 인공지능 이미지 생초보 가이드
- Stable Diffusion 대표 UI - AUTOMATIC1111 설치방법
- Automatic1111 GUI: 초보자 가이드(메뉴 해설)
- Stable Diffusion에 대한 기본적인 이론
- ChatGPT로 스테이블 디퓨전 프롬프트 만들기