스테이블 디퓨전(StableDiffusion)

옷갈아입히기 끝판왕! Vton 기능을 사용해보세요

물범쌤 2025. 3. 3. 17:00

안녕하세요 여러분, 물범쌤입니다.

오늘은 ComfyUI 기능 중 하나인 
ComfyUI-CatvtonFluxWrapper에 대해 알아보겠습니다.

이 기능은 ComfyUI에서 Flux 모델을 
더욱 간편하게 활용할 수 있도록 도와주는 툴인데요. 
특히 마스킹 된 영역의 의상을 교체하는 기능에 특화된 추가기능 입니다.

그럼, 바로 시작하겠습니다!


가장 먼저 추가기능 패키지를 다운로드 받겠습니다.

ComfyUI매니저에서 'catvton'을 검색하면 ComfyUI-CatvtonFluxWrapper
패키지를 찾을 수 있습니다. 다운로드 받아주세요
패키지 다운로드 후에는 항상 재시작! 잊지마세요^^

 

설치가 완료되면, 패키지가 설치되어있는 폴더 경로로 이동해주세요
*\ComfyUI\custom_nodes\ComfyUI-CatvtonFluxWrapper

이곳의 'examples' 폴더에 워크플로우 예제가 포함되어 있습니다.

 

 

폴더 안에는 총 4개의 워크플로우가 있는데,

CatvtonFluxWrapper-draw 와 CatvtonFluxWrapper-SAM2 워크플로우는

패키지 개발자가 제공하는 액세스 토큰을 발급받아서 사용하는 방식이라

Flux를 직접 사용하고 있는 저희의 입장에서는 크게 필요하지 않습니다.

CatvtonLoRA-Draw는 인페인트 영역을 직접 그려서 지정해주는 방식이고

CatvtonLoRA-SAM2는 새그먼트 방식으로 범위를 지정해주는 방식입니다.

우리는 이중에서 SAM2 방식을 알아보겠습니다.

 

 

워크플로우를 드래그 앤 드랍하시면 설치하라고 알림이 뜨실텐데

여러 패키지 중에서 중국어로 되어있는 패키지는 설치하실 필요가 없습니다.

단순히 save image, preview Image 기능을 하는 노드만 대체해주면 됩니다.

 

추가 패키지 이외에도 필요한 파일들이 있습니다.

◆ Flux -Fill 계열의 체크포인트 (둘 중 어느것을 사용해도 상관없습니다):
https://huggingface.co/black-forest-labs/FLUX.1-Fill-dev/tree/main

https://civitai.com/models/969431?modelVersionId=1085456

 

반응형

catvton flux lora:
https://huggingface.co/xiaozaa/catvton-flux-lora-alpha/tree/main

 

추가로 만일 flux를 처음 사용하시는 분들이라면

clip 파일을 별도로 받아주셔야 합니다.

https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main


다운로드 받았다면 이제 워크플로우를 살펴볼까요?

catvton 에서 'vton'은 virtual try on 의 줄임말로,
입력된 의상의 재질, 모양등을 데이터화 한 후 가상의 의상으로 변형,

새로운 모델에게 의상이 입혀졌을때 어색하거나 이상하지 않게 

'그대로 가져다 붙이는 방식'이 아니라,

'새롭게 생성하는 방식' 이라서 각광받는 기법입니다.

가장 먼저 프롬프트를 살펴봅시다.

기본적으로 옷과 스타일링을 강조하는 이미지이고,

이미지 1번에서 옷의 제품사진. 즉 모델에게 입힐 옷을 업로드 하고,

이미지 2번에서 옷을 입을 모델을 업로드 해주면 되겠네요.

자 복잡해보이지만, 직접 노드를 구성할것이 아니기 때문에 걱정하실 필요 없습니다:)

빨간색 동그라미 부분을 보시면 first_image, second_image가 보이시죠?

즉 이미지 1번과 2번이 어디에 연결되는지만 확인하시면 되겠습니다.

 

위에서 확인한대로 1번 이미지에서는 모델이 입었으면 좋겠다 하는 의상

2번 이미지에는 모델의 이미지를 업로드 해주시면 되겠습니다.

물론 1번 이미지에는 저처럼 모델이 입은 옷이 아니라

상품사진(깔끔한 배경) 이미지를 업로드 하시는것이 훨씬 좋습니다.^^

 

다음은 마스킹 영역설정으로 이동해보겠습니다.

하단에 있는 points Editor 노드를 살펴보시면

우측 상단에 물음표?마크를 통해 설명을 제공하고 있습니다.


shift+L clik : 마스킹 활성포인트 추가
shift+R clik : 마스킹 비활성포인트 추가
R clik : 포인트 삭제

이 워크플로우는 인페인팅 마스크 영역 지정이 새그먼트 방식이기 때문에

사용자가 지정하는 포인트를 중심으로 확인되는 물체가 자동으로 마스킹 됩니다.

초록색 점은 마스킹 활성 포인트(바꿀 부분)
빨간색 점은 마스킹 비활성 포인트(바뀌면 안되는 부분) 에 배치해 주세요
만일 이미지가 안나오시는 분들은 이미지 생성을 한번 실행해주시면 됩니다.

 

영역 지정이 완료되면 바로 옆에 있는

마스킹 프리뷰 이미지 노드들에서
영역 지정이 제대로 되었는지 확인하실 수 있습니다.


제대로 실행이 되었다면 결과 노드에서 아래에 보시는것처럼

의상이 변경된 이미지가 잘 생성된것을 보실 수 있습니다.

 


오늘은 의상을 변경하는 추가 기능중에 쉽고 원활하게 사용해볼 수 있는

catvton에 대해 알아보았습니다.

 

몇가지 추가적인 참고사항을 말씀드리자면

1. 의상은 상의 혹은 하의의 구분이 명확할수록 좋습니다.

2. 모델의 포즈가 예시처럼 주머니에 손을 넣고있는 경우에는
원피스나 드레스로 변경시 어색할 수 있습니다.
이런 경우에는 손부분까지 전부 마스킹처리하거나,
새그먼트 방식이 아닌 드로우 방식으로 진행하시는것을 추천드립니다.

 

이 컨텐츠가 유익하셨다면

커피값은 기업들에게 받을테니

광고 한번씩만 눌러주시면 감사드리겠습니다 :)

 

그럼 좋은 하루 되세요! ^^

 

반응형