관련: 로컬 생성형 이미지 AI, Character Consistency


0. 한 줄로

IP-Adapter Face ID = 참조 얼굴 → InsightFace로 “이 사람 ID” 추출 → IP-Adapter로 UNet에 주입 → 텍스트는 장면·스타일만 담당.

“프롬프트로 같은 사람 흉내”가 아니라, “이 얼굴 벡터를 붙여서 그려” 에 가깝다.


1. 지금 방식 vs Face ID

txt2img (지금) IP-Adapter Face ID
입력 텍스트만 얼굴 참조 이미지 • 텍스트
고정되는 것 없음 (시드·운) 누구인지 (identity)
바꾸는 것 프롬프트 전체 배경·옷·포즈·표정 (텍스트 쪽)
같은 사람 4장 거의 불가능 의도적으로 가능

프롬프트 long brown hair, korean woman... 은 유형만 맞춘다. 동일 인물을 보장하지 않는다.

Face ID는 “지은 히어로 PNG = 이 사람” 을 숫자(embedding)로 박아 넣는다.


2. IP-Adapter가 뭔가

Stable Diffusion은 원래 텍스트(CLIP) 만 cross-attention에 넣는다.

IP-Adapter (Image Prompt Adapter) 는:

  1. 참조 이미지를 인코더에 넣고
  2. 나온 특징을 작은 어댑터로 UNet attention에 추가한다
  3. 체크포인트 전체를 다시 학습하지 않는다

즉, “이미지로도 프롬프트처럼 지시한다” 는 패턴이다.

[텍스트 CLIP] ──→ cross-attention ──→ UNet ──→ 그림
                      ↑
[참조 이미지] ──→ IP-Adapter ────────┘