InstantID: Zero-shot Identity Preserving Generation in Seconds

InstantID: Zero-shot Identity Preserving Generation in Seconds
 
  • task: 얼굴 id를 유지하며 이미지를 생성하는 것
    • notion image
  • 기존 연구들의 한계
    • 텍스트만으로는 얼굴 ID 같은 미세한 정체성 보존 잘 안 됨
    • ControlNet/T2I-Adapter류는 구조 제어는 되는데 ID fidelity가 애매함
    • DreamBooth/LoRA/Textual Inversion은 퀄은 좋은데 테스트타임 튜닝 필요해서 시간·리소스 많이 듦
    • IP-Adapter 같은 튜닝프리도 CLIP 주입 약해서 고정밀 ID 일치 흔들리거나, 일부는 호환성/튜닝 범위 문제 남음
  • 모델
    • Stable Diffusion 1.5, XL + ControlNet + Image Prompt Adapter
      • Image Prompt Adapter (IPAdapter)
        • notion image
          notion image
      • 전체 모델 구조
          1. 얼굴 의미정보를 robust하게 잡는 ID 임베딩 뽑음
              • 기존 모델들은 이미지 임베딩으로 CLIP을 사용했으나 얼굴 보전을 위해서 얼굴 임베딩 사용
          1. 가벼운 크로스어텐션 어댑터 모듈로, 레퍼런스 이미지를 비주얼 프롬프트처럼 꽂아 씀
          1. 텍스트 정보 없이 얼굴 이미지로만 얼굴 임베딩을 만드는 IdentityNet 넣어서 더 정교하게 컨트롤함
            1. notion image
              notion image
              • IP Adapter로 이미지 프롬프트(face embedding)을 넣어주어도 얼굴 ID를 보존하는게 충분하지 않았다고 함
              • IP Adapter에서 이미지/텍스트 feature를 합칠 때 token이 길어지면 이미지/텍스트 밸런스를 잡는게 어려워 짐. 텍스트 토큰에 의해 id 보존이 깨질 수 있음. 반대로 이미지쪽이 너무 웨이트를 받으면 텍스트 조건을 잘 못 맞출 수 있음
                • notion image
              • 그래서 ControlNet의 아이디어를 차용하여, 5개의 facial landmark와 face embedding을 넣어줌
                • facial landmark의 역할
                  • instantID의 input은 face crop이미지가 아니라 wild 이미지이기 때문에 얼굴 중심의 이미지가 아닐 수 있어서, 얼굴에 집중하도록 하기 위해서
                  • 입을 열고 있다/다물고 있다 같은 사소한 부분은 editable하게 만들고 집중할 부분만 landmark로 표시
              • face embedding 모델로는 antelopev2 사용
  • 학습
    • Stable Diffusion 1.0 XL 모델을 48개의 NVIDIA H800 GPUs (80GB)로 학습
      • with a batch size of 2 per GPU
  • 실험 결과
    • notion image
    • 텍스트 프롬프트, ControlNet으로 canny, depth 넣어줘도 id 유지함
      • notion image
    • 레퍼런스 이미지가 여러 개일 때
      • id embedding의 평균 사용.
        • 레퍼런스 이미지 1개만 있어도 잘 됨. LoRA에서는 레퍼런스 이미지가 여러 개 일 수록 잘 됨
        • 평균말고 다른 방법을 사용하면 더 잘 될 수도 있음
        • notion image
    • 다른 모델들과 비교
      • notion image
      • IPA: FaceID(face embedding)를 넣어주지 않았을 때 (CLIP 임베딩 사용) 얼굴 id 보존이 안 됨
      • IPA-FaceID: FaceID를 넣었을 때 ID 보존은 되나, 매우 잘 보존하지는 않음
      • IPA-FaceID-Plus: FaceID+CLIP이라고 하는데, 얼굴 ID는 잘 보존하나 얼굴 부분만 스타일을 따르지 않음
      • InstantID: 얼굴을 잘 보존하면서 전반적으로 스타일을 잘 따름
    • InstantID vs InSwapper
      • notion image
  • 이 연구의 한계
    • ID 임베딩이 성별/나이 같은 시맨틱은 풍부한데, 얼굴 속성들이 서로 강하게 결합돼 있어서 얼굴 편집(예: 나이만/성별만/인상만 바꾸기)이 까다로움
Share article

kjyong