[생각정리] Video Generation
첫 프레임(F0)을 인물 정보가 고정된 Anchor으로 만들고, Rolling Forcing 루프에서 이 정보를 참조로 주입한다.
1. F0 개인화 및 스타일화 (Anchor Generation)
LoRA 학습 없이 InstantID를 사용하여 베이스 모델의 품질을 유지하며 첫 프레임을 생성.
Rolling Forcing은 비디오의 흐름을 관리하는 프레임워크일 뿐, 인물의 생김새를 결정하는 지능은 없다. 비디오 연산을 시작하기 전에 인물의 정체성을 물리적으로 고정
원본 인물 사진에서 ID 임베딩을 추출하고, 이를 F0 생성 과정의 Decoupled Cross-Attention 레이어에 주입한다.
InstantID 이미지 퍼스널라이제이션을 구현하는 핵심은 추가 학습 없이 단 한 장의 이미지로 신원을 보존하는 Zero-shot 아키텍처에 있다. 기존 방식들이 수십 장의 사진과 긴 학습 시간을 필요로 했던 것과 달리 InstantID는 신원 정보의 정밀한 추출과 공간적 제어를 분리하여 이를 달성했다
Decoupled Cross-Attention Image Adapter
신원을 고정하는 것만큼 중요한 것이 사용자가 원하는 스타일로 변환하는 능력
병렬 처리: Decoupled Cross-Attention을 통해 텍스트 프롬프트 정보와 ID 이미지 정보를 별도의 채널로 처리한다.
편집 가능성 유지: 이 구조 덕분에 인물의 신원은 유지하면서도 텍스트를 통해 옷차림, 배경, 화풍 등을 자유롭게 바꿀 수 있는 Editability를 확보했다.
2. 특징 추출 및 저장 (KV-Cache Anchoring)
개인화된 F0가 완성되면 이를 다시 모델에 통과시켜 내부 레이어의 활성화 값을 저장한다.
추출 대상: 각 어텐션 레이어의 Key(K) 와 Value(V) 값(KV-Cache).
이후 프레임들이 초기 프레임의 appearance을 참조할 수 있는 기준점을 제공한다.
Identity는 embedding으로 유지하고, F0의 KV cache는 temporal consistency를 보조하는 reference로 사용한다
3. Rolling Forcing 루프 내 특징 주입 (Consistent AR Generation)
Rolling Forcing 방식으로 비디오를 생성할 때 각 윈도우의 어텐션 연산에 F0의 정보를 강제로 끼워 넣는다.
방법: 현재 생성 중인 프레임 $F_t$의 Self-Attention 연산 시, 윈도우 내의 이전 프레임들($F_{t-1}, …$)뿐만 아니라 저장해둔 F0의 KV 값을 함께 입력한다.
4. 품질 최적화 및 스케줄링
AR 과정에서 오차가 누적되는 것을 막기 위한 세부 튜닝.
Feature Weighting: F0를 참조하는 강도를 시간에 따라 조절한다. 초반에는 강하게, 움직임이 커지는 후반에는 소폭 낮추어 자연스러운 모션을 유도한다.
CFG 스케일 조절: 어댑터와 Rolling Forcing이 결합될 때 채도가 낮아지거나 흐려진다면, CFG 스케일을 평소보다 낮게 설정하여 잠재 공간의 안정성을 확보합니다.
InstantID의 identity embedding을 global condition으로 사용하고, AR 구조에서 previous frame과 함께 입력하여 identity fidelity와 temporal consistency를 동시에 확보한다. 또한 rolling forcing과 identity loss를 통해 초기부터 동일 인물이 유지되도록 한다.
