Vigglorious Studio: 어텐션 마스크가 적용된 스왑 가이드 키프레임 및 다중 레퍼런스 이미지를 통한 캐릭터 정확도 향상
요약
본 글은 비디오 생성 AI의 캐릭터 일관성 및 정확도 향상에 초점을 맞춘 'Vigglorious Studio'라는 노드 스위트와 워크플로우를 소개합니다. 이 도구는 청킹(chunking) 기반으로 긴 비디오를 처리하며, 각 청크별 레퍼런스 프레임과 가이드 키프레임을 활용하여 캐릭터의 정체성 유지 및 드리프트 방지에 탁월한 성능을 보여줍니다.
핵심 포인트
- 청크별 레퍼런스 사용이 비디오 안정성과 품질 향상에 도움을 줍니다.
- H3 스타일 가이드 키프레임은 캐릭터 정확도를 강화하고 드리프트를 방지합니다.
- Vigglorious Studio는 청킹, 레퍼런스 선택, 가이드 추가를 통합 관리하는 노드 스위트입니다.
- 선택적 마스크와 어텐션 제어를 통해 특정 영역(예: 헤드)의 정밀한 스왑이 가능합니다.
지난번 포스팅 이후 Viggle Animate를 많이 실험해 보았습니다. [IMG:N] chunking을 활용하는 워크플로우(https://github.com/bhardwajRahul/ComfyUI-Viggle-Animate-H3)를 중심으로 진행했는데요. (이것은 15초가 넘는 소스 비디오를 청크로 분할하고, 각 청크를 생성한 다음 다시 이어 붙이는 방식입니다.) 저는 만약 긴 비디오를 처리할 수 있다면 짧은 비디오도 처리할 수 있을 것이라고 생각해서 이 부분에 초점을 맞췄습니다. 세 가지 점이 눈에 띄었습니다. 제가 시작했던 chunking 워크플로우는 모든 청크에서 동일한 레퍼런스 이미지를 사용합니다. 각 청크마다 신중하게 선택되고 잘 스왑된 레퍼런스 프레임을 제공하는 것이 전체 비디오의 안정성과 품질 향상에 큰 도움이 됩니다. H3 스타일의 가이드 키프레임은 캐릭터의 정확도를 강화하고 드리프트(drift)를 방지할 수 있습니다. 실제로 테스트 중 하나에서는 주 레퍼런스에 얼굴이 없었음에도 불구하고, 단일 얼굴 스왑 가이드가 얼굴 정체성을 제공하여 클립 전체에서 올바르게 스왑된 얼굴을 생성했습니다. 청크별로 레퍼런스 이미지를 사용하는 것은 이러한 안정성 기반을 쌓아 올려서, 비디오를 망치지 않으면서 가이드를 추가할 수 있게 함으로써 시너지를 냅니다. 가이드 어텐션(guide attention)을 제어하는 것은 비디오 전체에 유지하고 싶은 시각적 디테일을 강화하는 데 도움이 되며, 마스킹(masking)은 스왑된 가이드 프레임에서 불필요한 영역의 영향을 제한합니다. 긴 이야기로 요약하자면, 저는 더 나은 캐릭터 정확도를 위해 장기(또는 단기) 비디오의 경계를 넓히고자 노력하며 'Vigglorious Studio'라는 이름의 노드 스위트와 워크플로우를 만들었습니다 (https://github.com/Tablaski/VK-Vigglorious-Studio). 여기에는 다음 기능들이 포함되어 있습니다: 소스 비디오를 로드하고 자르고, 처리 해상도 및 FPS를 조정하며, 청크 경계를 검사하고, 청크별 레퍼런스 프레임을 선택하며, 빠르고 간편한 캐릭터, 각도, 스왑 및 프롬프트 제어를 통해 가이드 키프레임을 추가할 수 있는 비디오 관리자입니다.
솔직히 말해서, 이 노드 하나만으로도 다운로드하고 시도해 볼 가치가 있어요. 제 워크플로우의 다른 모든 것을 버리더라도요. 다양한 각도의 헤드와 전신 레퍼런스 이미지를 저장하고, 비디오 매니저에 직접 연결되어 끊임없이 무언가를 로딩하는 고통을 덜어주는 캐릭터 관리자(Character manager)가 있습니다. Qwen Image 2.1과 BFS 헤드/바디 LoRA를 사용하여 자동 헤드, 바디 또는 바디-다음-헤드 스왑이 가능합니다. 이 LoRA들은 제가 직접 테스트하면서 가장 좋아하는 스왑 도구였지만 (원하는 이미지 출력을 내는 한 어떤 모델로든 대체할 수 있습니다). 각 레퍼런스나 가이드에는 자체 캐릭터, 각도 및 스왑 모드를 가질 수 있습니다. 헤드, 머리카락, 사람 또는 다른 선택된 개념에 가이드의 영향을 집중시키기 위한 선택적 SAM3 마스크가 제공됩니다. 이것은 주로 레퍼런스 이미지에 대해 전체 캐릭터 스왑을 수행한 다음, 가이드에는 헤드 스왑만 하여 정확도를 유지하는 데 도움을 주기 위함입니다. 또 다른 이유는 이 방식으로, 스왑되지 않은 픽셀을 고려하지 않기 때문에 배경이나 색상의 변화와 같은 불필요한 문제가 발생하지 않는다는 것입니다. 샘플링 단계별 강도로 가이드의 어텐션(attention)을 제어할 수 있습니다. 하드 마스크(hard masks)와 외부 어텐션을 0으로 설정하면, 비디오 토큰이 선택된 영역 바깥에 있는 가이드 토큰에 직접 어텐션하지 못합니다. 소프트 경계(Soft boundaries)도 지원됩니다. 이것은 가이드에 대한 직접적인 접근을 제어하지만, 그 영향이 완벽하게 제한된다는 것을 보장하지는 않습니다. 샘플링 스케줄을 검사하고 조정할 수 있는 시각적 시그마 곡선 에디터가 있습니다. 포함된 스왑 서브그래프(subgraphs)는 Qwen과 BFS를 사용하지만, 가이드 메커니즘은 결과 이미지와 함께 작동합니다. 예상되는 이미지 순서와 연결성을 유지한다면 다른 이미지 편집 모델로도 적응할 수 있습니다. 면책 조항: 저는 엄청나게 많은 테스트, 렌더링 및 비교 작업을 수행했지만... 기술적 접근 방식을 계속 변경했습니다... 제가 본 것에 만족하며, 가치가 있다고 확신하지만, 지금 더 많은 테스트를 실행하는 것은 완전히 지쳤습니다. ㅎㅎ
따라서 이것은 완성된 레시피라기보다는 추가적인 실험을 위한 출발점으로 생각해주세요. 확실히 작동하지만, 어떤 샘플러(sampler), 시그마(sigmas) 및 가이드-어텐션 강도 조합이 가장 좋은지는 아직 모르겠습니다. 이 부분에서 여러분의 도움이 필요합니다 :-) 또한 피드백도 환영합니다. 저만의 실험을 통해 얻은 몇 가지 조언: 각 청크에 대한 레퍼런스 프레임을 우선시하세요. 명확한 소스 프레임을 선택하고, 해당 스왑이 잘 이루어졌는지 확인하세요. 가능한 한 소스의 포즈(pose), 표정(expression), 구도(framing), 조명(lighting) 및 배경을 유지하는 것이 중요합니다. 레퍼런스가 대부분의 작업을 수행하며, 가이드가 목표 지점에 대한 강화(reinforcement)를 제공합니다. 가이드는 아껴서 사용하세요. Viggle가 도움이 필요한 부분을 찾아보세요: 어려운 측면 뷰, 숨겨졌다가 돌아오는 얼굴, 또는 신원/의상 변경과 같은 경우입니다. 더 많은 가이드가 자동으로 더 나은 비디오를 의미하지는 않습니다. 초기 가이드 어텐션에 주의하세요. 첫 번째 고(高)-시그마 단계에서 강한 안내는 움직임과 구도에 방해가 될 수 있습니다. 저는 0.5 근처에서 시작하여 나중에 강도를 높이는 방식으로 진행했습니다. 그 첫 단계 역시 대체 자체에 기여하므로, 엄격하게 '움직임 우선, 디테일 나중'으로 분리할 수는 없습니다. 나중에 2 정도의 강도가 제 테스트 중 일부에서는 효과적이었습니다. 더 큰 값도 사용할 수 있지만, 반드시 유용한 것은 아닙니다. 이 요소들은 정체성 비율(identity percentages)이 아니라 어텐션 가중치(attention weights)입니다: 2가 닮은꼴을 두 배로 의미하지는 않습니다. 3단계와 함께 작동하기도 하지만, 4단계가 좋지 않다는 뜻도 아닙니다. BFS 바디 스왑은 제 테스트에서 헤드 스왑보다 신뢰도가 낮았습니다. 저는 종종 레퍼런스 프레임에 몸통-먼저(body-then) 스왑을 사용하고, 일반 가이드에는 머리만(head-only) 스왑을 사용합니다. 마스크는 이러한 가이드를 의도된 영역에 집중시키는 데 도움이 됩니다. 추가적인 프롬프트는
개인적으로는 스왑 프롬프트에 “워터마크 제거, 텍스트 제거”와 같은 지침을 추가하는 것을 좋아합니다. 이렇게 하면 두 마리 토끼를 한 번에 잡을 수 있습니다. 참고: 노드 사진들은 늦은 시간이라 가야 해서 분위기 코딩(vibe coded)한 것이지만 정확합니다. 즐겁게 비글링하세요 :-) 제출자 /u/Tablaski [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/StableDiffusion의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기