ContextAnyone — 참조 이미지 1장으로 캐릭터를 끝까지 지키는 영상 생성 (얼굴 너머의 외형까지)

캐릭터 일관성 유지 T2V 생성. 참조 이미지를 재구축하며 생성하는 Context-Aware 디퓨전 프레임워크. 실측: ArcFace 0.6003, VLM-Appearance 0.9457 (VACE/Phantom 대비 SOTA). Emphasize-Attention, 이중 가이던스, Gap-RoPE.

ContextAnyone — 참조 이미지 1장으로 캐릭터를 끝까지 지키는 영상 생성 (얼굴 너머의 외형까지) 대표 이미지

핵심 요약

  • 캐릭터 일관성을 유지하는 텍스트-투-비디오(T2V) 생성을 다루는 arXiv 논문 (2512.07328, 2024-12)
  • ContextAnyone: 참조 이미지 1장 + 텍스트로, 헤어스타일·옷차림·체형까지 유지한 캐릭터 영상을 생성
  • 지난 글 「영상 생성 AI, 프롬프트 한 글자에 왜 뒤집히나」가 프롬프트·하이퍼파라미터 최적화로 결과 안정성을 잡았다면, 이 논문은 참조 이미지 정보를 제대로 먹이는 방법으로 캐릭터 일관성을 잡는다
  • 실측 (Table 1, 같은 파라미터 규모 대비): 비디오-참조 일관성 ArcFace 0.6003 (VACE 0.5489, Phantom 0.5636), VLM-Appearance 0.9457 (VACE 0.8123, Phantom 0.8490)
  • 핵심 기법 3가지: Emphasize-Attention, 이중 가이던스 손실, Gap-RoPE 위치 임베딩

1. 프롬프트 최적화의 다음 문제 — "얼굴은 같은데 사람이 다르다"

지난 글에서 다룬 문제는 "같은 프롬프트인데 결과가 들쭉날쭉"이었다. 그리고 그 해법은 프롬프트와 하이퍼파라미터(CFG·시드)를 동시에 최적화하는 두 개의 탐색 루프였다.

ContextAnyone(2512.07328)은 그다음 계층의 문제를 건드린다. 프롬프트를 아무리 잘 써도, 참조 캐릭터를 넣었을 때 그 캐릭터가 장면마다 달라 보이는 문제다.

핵심 지적:

기존 개인화(personalization) 방법은 얼굴 정체성에만 집중한다. 하지만 사람을 알아보는 데는 헤어스타일, 옷차림, 체형 같은 더 넓은 맥락 단서(contextual cues)가 결정적이다.

즉 "얼굴은 똑같은데 헤어·옷·체형이 바뀌면" 뭔가 다른 사람처럼 느껴진다는 것. 이 논문은 얼굴 너머의 전체 외형 맥락까지 보존하는 걸 목표로 한다.

2. 참조 이미지를 "재구축"하면서 생성한다

ContextAnyone의 핵심 설계는 한 문장이다:

참조 이미지를 다시 만드는 동시에 새 비디오 프레임을 생성한다.

기존 방법이 참조 이미지를 "한 번 읽고 버리는" 것에 가깝다면, ContextAnyone은 생성 과정 내내 참조를 재구축(reconstruct)하며 모델이 참조 정보를 충분히 인지·활용하게 한다. 이게 방법명의 "Context-Aware(맥락 인지)"가 붙은 이유다.

3. 세 가지 핵심 기법

① Emphasize-Attention 모듈

DiT(디퓨전 트랜스포머) 백본에 참조 정보를 넣되, 참조 관련 특징을 선택적으로 강화한다. 프레임 사이에서 정체성 드리프트(identity drift, 캐릭터가 점점 달라지는 현상)를 막는다.

② 이중 가이던스 손실 (Dual-Guidance Loss)

디퓨전 손실과 참조 재구축 손실을 결합한다. 외형 충실도(appearance fidelity)를 높이기 위해, 참조를 얼마나 잘 재현하는지도 함께 최적화 대상으로 삼는다.

③ Gap-RoPE 위치 임베딩

참조 토큰과 비디오 토큰의 위치 임베딩을 분리해, 시간 모델링을 안정화한다. 참조와 비디오가 뒤섞이지 않게 격리한다.

참조 인코딩도 이중이다 — CLIP 이미지 인코더(전역 정체성·의미)와 비디오 VAE 인코더(미세 시각 정보)를 함께 써서, 둘 다 놓치지 않는다.

4. 실측 — 같은 파라미터 규모에서 SOTA

논문은 VACE(1.3B)와 Phantom(1.3B)을 베이스라인으로 삼아 비교한다. 모두 같은 입력(참조 이미지 + 텍스트 프롬프트)을 준다.

Table 1 실측:

지표 VACE 1.3B Phantom 1.3B ContextAnyone (Ours)
Video-Reference ArcFace 0.5489 0.5636 0.6003
Video-Reference DINO-I 0.4468 0.4719 0.4824
Inter-Video ArcFace 0.5394 0.5412 0.5943
Inter-Video DINO-I 0.4103 0.4419 0.4790
VLM-Appearance 0.8123 0.8490 0.9457
Video Quality (CLIP-I) 0.3012 0.3095 0.3107

해석:

  • VLM-Appearance 0.9457이 가장 눈에 띈다 — 비전-언어 모델이 평가한 "캐릭터 유사성"에서 베이스라인(0.81~0.85)을 큰 폭으로 앞섰다.
  • ArcFace(얼굴 인식)와 DINO-I(객체 유사성)에서도 전 지표 우위 — "얼굴만"이 아니라 전반적 외형 일관성이 좋다는 뜻.
  • 영상 품질(CLIP-I)은 거의 동률이면서 일관성 지표만 크게 개선 — 품질을 희생하지 않고 일관성을 얻었다.

논문은 ArcFace·DINO-I만으론 부족하다고 지적하며, VLM-Appearance라는 비전-언어 모델 기반 지표를 새로 제안해 실제 "사람이 보기에 유사한가"를 평가한다.

하드웨어: 실험은 8× NVIDIA A6000 Ada에서 진행 (파라미터 규모 동일 조건 비교).

5. 지난 글과 이어지는 시리즈 맥락

글 잡는 문제 핵심 기법
영상 생성 AI, 프롬프트 한 글자에… 결과 불안정 (같은 입력·다른 결과) 프롬프트+하이퍼파라미터 최적화 루프
ContextAnyone (이 글) 캐릭터 불일치 (같은 사람이 다르게 보임) 참조 재구축 + Emphasize-Attention

첫 글이 "입력값을 어떻게 고정·최적화하나"라면, 이 글은 "참조 정보를 생성기에 어떻게 제대로 주입하나"다. 영상 생성 파이프라인의 안정성 문제(입력 축)와 일관성 문제(참조 축)가 이 두 글로 이어진다.

6. 실용적 시사점

  1. "얼굴만 같으면 된다"는 가정이 틀렸다 — 헤어·옷·체형까지 유지해야 사람으로 인식된다. 캐릭터 영상 생성에서 외형 맥락을 신경 써야 하는 이유.
  2. 참조를 한 번만 넣지 말고 계속 재구축하라 — "참조를 읽고 버리는" 방식보다 생성 과정에서 계속 참조를 재현하는 게 일관성에 유리하다.
  3. 일관성 지표는 사람이 봤을 때의 유사성으로 평가해야 — 얼굴 유사도(ArcFace)만으론 부족, VLM 기반 지표가 현실적 판단에 더 가깝다.

표본 한계

  • 논문 주장 수치 기준 (재현 실측 아님) — 코드·데이터는 GitHub에서 공개 예정
  • 베이스라인(VACE/Phantom)과 같은 파라미터 규모 조건 비교
  • VLM-Appearance는 논문이 새로 제안한 지표 — 외부 검증은 아직 없음
  • 캐릭터 영상 생성 전용 (일반 영상 생성과는 대상 다름)