InterFaceGAN and SeFa

권대규·2021년 11월 15일
1

intern

목록 보기
2/9

연구실에서 한 번 해봤으면 좋겠다! 추천받은 태스크가 생겼다. 동물 데이터셋(AFHQ)에 대해서 표정과 웃음에 대해서 컨트롤하는 axis를 찾아보라는 task. 이에 대해서 axis를 찾는 두 가지 논문에 대해서 먼저 읽어보고 리뷰까지는 아니지만 간단 정리를 해보았다.

InterFaceGAN

이 논문의 기본적인 전제는 Latent Space에 대해서 특정 요소를 Control하는 vector가 있을 것이다.
그 Vector에 대해서 스코어링 function을 auxiliary network를 통해 정의하고 해당 값을 기준으로 SVM을 학습시키면 Hyperplane이 나올 것이고 그 Hyperplane에 대한 norm vector가 우리가 찾고자하는 vector일 것이다라는 Idea

사실 Property 2나 Multiple Semantics에 대해서는 잘 이해를 하지 못하였지만, 대략적인 사람의 얼굴이 한 가지 attribute만 가지지는 않을 것이라 여러 semantic attribute를 복합적으로 고려할 때 사용하는 식 정도라는 것이다. 이제 여기서 추가적으로 알 수 있는 것은 Entangle된 두 가지 semantic attribute에 대해서는 norm vector가 직교하지 않을 것이다! 특히 cosine similarity가 유사하면 유사할수록 얘네들은 entangle되었을 것이고, 이것에 대해서는 정사영을 사용하면 그나마 independent하게 image manipluation을 할 수 있을 것이다! 이거를 conditional manipulation이라고 부르는 듯?

Semantic attribute 로는 아래 5가지 사용!
pose, smile, age, gender, eyeglasses
Auxiliary Network로는 ResNet-50 사용!

StyleGAN의 W space가 PGGAN 보다 조금 좋은 성능. Z는 확실히 그다지 좋은 성능은 못 보여줌.

그 외에도 상관관계나 Expermental한 요소가 많았으나 좀 특이한거는 W space의 요소들은 대부분 상관계수가 0에 수렴... disentagle이 잘 되어 있는 듯!

SeFA

Hyperplane의 Norm vector를 찾는다는 idea 자체는 InterFaceGAN과 유사하지만 그 norm vector를 찾는 과정에 대해 InterFaceGAN은 scoring을 해주는 auxiliary network를 사용했다면 SeFA는 unsupervised하게 찾았다.

How?

내가 실험을 진행해 볼 StyleGAN에서는
ZZ to WW를 목표 matrix로 보는 듯...

아무튼 위처럼 진행될 시, 단순히 naive하게 이해했을 때 가장 많은 정보를 변화시키는 variance가 가장 큰 애들 즉, eigen value가 큰 eigen vector들에 대해서 얘네들을 줄 세워서 하나씩 바꿔 보는 듯, InterFaceGAN처럼 어느 EigenVector가 뭘 바꾸는지 이러한 거는 실험적으로 체크하는 듯?? 그 세부적인 과정에 대해서는 코드로 좀 찾아봐야 할 듯...

해당 부분에 대해서는 눈으로 직접 찾는게 빠르다고 하네요...!

아무튼 이제 해볼거는 SeFA에 대해서 AFHQ Dataset 기반으로 샘플링을 진행하고 이거를 InterFaceGAN에 갖다붙여서 norm vector를 찾아보자. 어떻게 할 지는 차차...

profile
글많은 개발자

0개의 댓글