Wan 2.2 Animate V2 포즈 기반 비디오 생성 워크플로우 for ComfyUI
Wan 2.2 Animate V2는 단일 참조 이미지와 구동 포즈 비디오를 실제 같은, 정체성을 유지하는 애니메이션으로 변환하는 포즈 기반 비디오 생성 워크플로우입니다. 첫 번째 버전에서 더 높은 충실도, 부드러운 움직임, 그리고 더 나은 시간적 일관성을 기반으로 하여 소스 비디오의 전신 움직임과 표현을 밀접하게 따릅니다.
이 ComfyUI 워크플로우는 캐릭터 애니메이션, 춤 클립, 공연 기반 스토리텔링을 위한 빠르고 신뢰할 수 있는 결과를 원하는 제작자를 위해 설계되었습니다. 강력한 사전 처리(포즈, 얼굴, 주제 마스킹)를 Wan 2.2 모델 패밀리 및 선택적 LoRAs와 결합하여 스타일, 조명 및 배경 처리를 자신 있게 조정할 수 있습니다.
ComfyUI Wan 2.2 Animate V2 워크플로우의 주요 모델
- Wan 2.2 Animate 14B. 다중 모달 임베딩에서 시간적으로 일관된 프레임을 합성하는 핵심 비디오 확산 모델입니다. 가중치: Kijai/WanVideo_comfy_fp8_scaled (Wan22Animate).
- Wan 2.1 VAE. RGB 프레임을 최소한의 손실로 재구성하기 위해 Wan 패밀리가 사용하는 잠재 비디오 디코더/인코더입니다. 가중치: Wan2_1_VAE_bf16.safetensors.
- UMT5‑XXL 텍스트 인코더. 외모, 장면, 시네마틱을 안내하는 프롬프트를 인코딩합니다. 가중치: umt5‑xxl‑enc‑bf16.safetensors.
- CLIP Vision (ViT‑H/14). 참조 이미지에서 정체성을 보존하는 특징을 추출합니다. 논문: CLIP.
- ViTPose Whole‑Body (ONNX). 운동 전달을 유도하는 밀집 신체 키포인트를 추정합니다. 모델: ViTPose‑L WholeBody 및 ViTPose‑H WholeBody. 논문: ViTPose.
- YOLOv10 탐지기. 포즈 탐지 및 세그멘테이션을 안정화하기 위해 사람 상자를 제공합니다. 예: yolov10m.onnx.
- Segment Anything 2. 배경 보존, 합성 또는 리라이팅 미리보기용 고품질 주제 마스크입니다. 리포지토리: facebookresearch/segment-anything-2.
- 스타일 및 조명 전송용 선택적 LoRAs. Wan 2.2 Animate V2 출력에서 리라이팅 및 질감 세부 사항에 유용합니다. 예: Lightx2v 및 Wan22_relight.
ComfyUI Wan 2.2 Animate V2 워크플로우 사용 방법
전반적으로, 파이프라인은 구동 비디오에서 포즈 및 얼굴 큐를 추출하고, 단일 참조 이미지에서 정체성을 인코딩하며, 선택적으로 SAM 2 마스크로 주제를 격리한 다음, 정체성을 유지하면서 움직임에 맞는 비디오를 합성합니다. 워크플로우는 최종 결과를 생성하기 위해 협력하는 네 개의 그룹과 빠른 품질 보증을 위한 두 개의 편리한 출력을 조직합니다(포즈 및 마스크 미리보기).
참조 이미지
이 그룹은 초상화나 전신 이미지를 로드하고, 목표 해상도에 맞게 크기를 조정하며, 그래프 전반에 사용할 수 있게 합니다. 크기 조정된 이미지는 Get_reference_image에 의해 저장되고 미리보기되어 프레이밍을 빠르게 평가할 수 있습니다. 정체성 특징은 WanVideoClipVisionEncode (CLIP Vision) (#70)에 의해 인코딩되며, 동일한 이미지는 WanVideoAnimateEmbeds (#62)에 ref_images로 제공되어 정체성 보존이 강화됩니다. 최상의 결과를 위해 드라이버 비디오의 주제 유형과 일치하는 명확하고 잘 조명된 참조를 제공하세요. 여유 공간과 최소한의 차폐는 Wan 2.2 Animate V2가 얼굴 구조와 의류에 고정하는 데 도움이 됩니다.
사전 처리
드라이버 비디오는 VHS_LoadVideo (#191)에 의해 로드되며, 이는 나중에 사용할 수 있도록 프레임, 오디오, 프레임 수 및 소스 fps를 노출합니다. 포즈 및 얼굴 큐는 OnnxDetectionModelLoader (#178) 및 PoseAndFaceDetection (#172)에 의해 추출된 후 DrawViTPose (#173)로 시각화되어 추적 품질을 확인할 수 있습니다. 주제 격리는 Sam2Segmentation (#104)에 의해 처리된 후, GrowMaskWithBlur (#182) 및 BlockifyMask (#108)에 의해 깨끗하고 안정적인 마스크를 생성합니다; 헬퍼 DrawMaskOnImage (#99)는 매트를 미리보기합니다. 이 그룹은 또한 드라이버 비디오의 너비, 높이 및 프레임 수를 표준화하여 Wan 2.2 Animate V2가 공간 및 시간 설정을 추측 없이 일치시킬 수 있도록 합니다. 빠른 검사는 짧은 비디오로 내보내집니다: 포즈 오버레이 및 마스크 미리보기로 제로 샷 검증을 위한 것입니다.
모델
WanVideoVAELoader (#38)은 Wan VAE를 로드하고 WanVideoModelLoader (#22)는 Wan 2.2 Animate 백본을 로드합니다. 선택적 LoRAs는 WanVideoLoraSelectMulti (#171)에서 선택되고 WanVideoSetLoRAs (#48)를 통해 적용됩니다; WanVideoBlockSwap (#51)은 스타일 및 충실도에 영향을 미치는 아키텍처 조정을 위해 WanVideoSetBlockSwap (#50)을 통해 활성화할 수 있습니다. 프롬프트는 WanVideoTextEncodeCached (#65)에 의해 인코딩되며, WanVideoClipVisionEncode (#70)는 참조 이미지를 강력한 정체성 임베딩으로 변환합니다. WanVideoAnimateEmbeds (#62)는 CLIP 특징, 참조 이미지, 포즈 이미지, 얼굴 크롭, 선택적 배경 프레임, SAM 2 마스크, 선택한 해상도 및 프레임 수를 단일 애니메이션 임베딩으로 융합합니다. 그 피드는 WanVideoSampler (#27)를 구동하여 프롬프트, 정체성 및 움직임 큐와 일치하는 잠재 비디오를 합성하고, WanVideoDecode (#28)는 잠재를 다시 RGB 프레임으로 변환합니다.
결과 콜라주
출력을 비교하기 위해 워크플로우는 간단한 나란히 배치를 조립합니다: 생성된 비디오와 참조 이미지, 얼굴 크롭, 포즈 오버레이, 드라이버 비디오의 프레임을 보여주는 세로 스트립. ImageConcatMulti (#77, #66)는 시각적 콜라주를 빌드하고, VHS_VideoCombine (#30)은 "Compare" mp4를 렌더링합니다. 최종 깨끗한 출력은 VHS_VideoCombine (#189)에 의해 렌더링되며, 이는 드라이버에서 오디오도 가져와 빠른 리뷰 컷을 제공합니다. 이러한 내보내기는 Wan 2.2 Animate V2가 움직임을 얼마나 잘 따르고, 정체성을 보존하며, 의도한 배경을 유지했는지 판단하기 쉽게 만듭니다.
ComfyUI Wan 2.2 Animate V2 워크플로우의 주요 노드
VHS_LoadVideo (#191) 구동 비디오를 로드하고, 그래프 전반에 사용되는 프레임, 오디오 및 메타데이터를 노출합니다. 더 강력한 키포인트 추적을 위해 주제를 완전히 노출하고 모션 블러를 최소화하세요. 더 짧은 테스트를 원한다면 로드된 프레임 수를 제한하세요; 최종 결합에서 오디오 비동기화를 피하기 위해 소스 fps를 일관되게 유지하세요.
PoseAndFaceDetection (#172) YOLO와 ViTPose를 실행하여 운동 전달을 직접 안내하는 전신 키포인트와 얼굴 크롭을 생성합니다. 로더에서 이미지를 제공하고 표준화된 너비와 높이를 제공하세요; 선택적 retarget_image 입력은 필요할 때 포즈를 다른 프레이밍에 맞출 수 있습니다. 포즈 오버레이가 시끄럽게 보인다면, 더 높은 품질의 ViTPose 모델을 고려하고 주제가 심하게 차폐되지 않았는지 확인하세요. 참조: ComfyUI‑WanAnimatePreprocess.
Sam2Segmentation (#104) Wan 2.2 Animate V2에서 배경을 보존하거나 리라이팅을 국지화할 수 있는 주제 마스크를 생성합니다. PoseAndFaceDetection에서 감지된 경계 상자를 사용하거나 필요한 경우 매트를 정제하기 위해 빠른 양성 점을 그릴 수 있습니다. 빠른 움직임에서 더 깔끔한 가장자리를 위해 GrowMaskWithBlur와 쌍을 이루고, 마스크 미리보기 내보내기로 결과를 검토하세요. 참조: Segment Anything 2.
WanVideoClipVisionEncode (#70) 얼굴 구조, 머리카락, 의류와 같은 정체성 큐를 포착하기 위해 CLIP Vision으로 참조 이미지를 인코딩합니다. 여러 참조 이미지를 평균하여 정체성을 안정화하거나 원치 않는 특징을 억제하기 위해 부정적 이미지를 사용할 수 있습니다. 일관된 조명으로 중심에 맞춘 크롭이 더 강한 임베딩을 생성하는 데 도움이 됩니다.
WanVideoAnimateEmbeds (#62) 정체성 특징, 포즈 이미지, 얼굴 크롭, 선택적 배경 프레임 및 SAM 2 마스크를 단일 애니메이션 임베딩으로 융합합니다. 드라이버 비디오와 width, height, num_frames을 맞추어 아티팩트를 줄이세요. 배경 드리프트가 보이면 깨끗한 배경 프레임과 견고한 마스크를 제공하세요; 얼굴이 드리프트하면 얼굴 크롭이 존재하고 잘 조명되었는지 확인하세요.
WanVideoSampler (#27) 프롬프트, LoRAs 및 애니메이션 임베딩에 의해 안내되는 실제 비디오 잠재를 생성합니다. 긴 클립의 경우, 슬라이딩 윈도우 전략 또는 모델의 컨텍스트 옵션 중에서 선택하세요; 모션 선명도와 장기적 일관성을 균형 잡기 위해 윈도우를 클립 길이에 맞추세요. 스케줄러와 가이드 강도를 조정하여 충실도, 스타일 준수 및 움직임의 부드러움을 교환하고, LoRA 스택이 이점이 있다면 블록 스왑을 활성화하는 것을 고려하세요.
선택적 추가 사항
- 깨끗한 드라이버 클립으로 시작하세요: 안정적인 카메라, 간단한 조명 및 최소한의 차폐가 Wan 2.2 Animate V2가 움직임을 깨끗하게 추적할 수 있는 최고의 기회를 제공합니다.
- 대상 의상과 프레이밍에 맞는 참조를 사용하세요; 프롬프트나 LoRAs와 충돌하는 극단적인 각도나 무거운 필터를 피하세요.
- SAM 2 마스크로 배경을 보존하거나 교체하세요; 합성할 때 가장자리를 충분히 부드럽게 유지하여 빠른 움직임에서 후광을 피하세요.
- 오디오를 가져올 때 입술 싱크 및 비트 정렬을 유지하기 위해 로드에서 내보내기까지 fps를 일관되게 유지하세요.
- 빠른 반복을 위해, 먼저 짧은 세그먼트를 테스트한 다음 포즈, 정체성 및 조명이 올바르게 보이면 프레임 범위를 확장하세요.
이 워크플로우에 사용된 유용한 리소스:
- 사전 처리 노드: kijai/ComfyUI‑WanAnimatePreprocess
- ViTPose ONNX 모델: ViTPose‑L, ViTPose‑H 모델 및 데이터
- YOLOv10 탐지기: yolov10m.onnx
- Wan 2.2 Animate 14B 가중치: Wan22Animate
- LoRAs: Lightx2v, Wan22_relight
감사의 글
이 워크플로우는 다음 작업 및 리소스를 구현하고 확장합니다. 우리는 Benji’s AI Playground의 워크플로우와 Wan 팀의 Wan 2.2 Animate V2 모델에 대한 그들의 기여와 유지 보수에 대해 감사드립니다. 권위 있는 세부 사항은 아래에 연결된 원본 문서 및 리포지토리를 참조하세요.
리소스
- Wan 팀/Wan 2.2 Animate V2
- 문서 / 릴리스 노트: YouTube @Benji’s AI Playground
참고: 참조된 모델, 데이터셋 및 코드의 사용은 해당 작성자 및 유지 관리자가 제공한 해당 라이센스 및 조건의 적용을 받습니다.
