반응형
내 맘대로 Introduction
arcface 논문을 낸 그룹에서 후속 연구 느낌으로 낸 논문. arcface가 Face ID embedding을 훌륭하게 해주는 네트워크인 점을 이용해서 arcface embedding을 condition으로 사용하는 face 전용 diffusion model을 만들었다.
diffusion model을 학습시킬만큼의 높은 자유도 ID embedding이 확보되어야 하므로 Webface42M + FFHQ + CelebHQ를 섞어서 arcface부터 large scale로 다시 학습시키고, 그것을 다시 diffusion model 학습에 활용했다.
SD의 새로운 버전이라고 볼 수도 있어서 기존 controlnet 같은 trick이 다 가능하다는 점도 눈에 띈다.
메모
앞서 요약한대로, arcface embedding conditioned SD 모델이다. 심플하다. 대신 ID embedding을 사용할 때 그냥 다른 encoder를 학습시킨게 아니라 CLIP에 "a photo of {ID embed}"와 같이 섞어서 넣어주는 방식이라는 점. CLIP도 재학습된다. |
|
주목해야 할 점은 오히려 분석에 있다. SD를 뒷받침할 만한 large scale arcface embedding이 필요한데 기존 데이터셋 중 나름 크다고 하는 FFHQ 70k 이미지를 사용해도 부족하다. 1명 당 1장의 이미지가 있기 때문에 id 분별력이 떨어진다는 것. 따라서 Webface42M 처럼 1명당 이미지가 여러개고 스케일도 훨씬 큰 데이터가 절대적으로 존재해야 학습이 가능하다고 한다. "webface42m 10%"가 100%에 준하는 결과를 보이는 것을 보면 1명 당 여러장 >>> 이미지 개수 인 것 같다. |
|
SD1.5에 CLIP을 learnable로 열어두고 CLIP에 입력(text)에 ID embedding을 끼워넣어 재학습. -> 의도는 CLIP features space와 ID embedding space가 자연스럽게 merging되도록 설계한 것. -> 단순 MLP를 썼을 때보다 성능이 좋았다고 함. |
webface42M을 쓰는게 좋은데, 해상도가 100 단위로 너무 작으므로 GFPGAN(텐센트에서 만든거라 성능이 괜찮은 SR)을 붙여서 4배씩 불려서 사용했다고 한다. |
기존 알고리즘들보다 ID 유지력 (결과 사진을 다시 arcface embedding을 하고 원래 사진과 simiarlity를 비교함)이 뛰어남. 사람들 눈에도 훨씬 자연스럽게 보였다고 함. |
|
수치로도 좋음 |
|
CLIP 자체에 ID embedding을 입력으로 넣어주는 방식이 MLP보다 약간이지만 성능이 더 뛰어남. PCA로 ID embedding을 보면 N을 작게 쓰면 터무니 없음( ID embedding이 진짜 복잡하다는 말. ->arcface파워가 굉장히 중요) |
반응형