작성자 : 이화여자대학교 김수현
GAN : latent code(z) -> real image
GAN inversion : real image -> latent code(z)
=> GAN inversion의 목표는 input image를 복원할 수 있는 가장 적절한 latent code를 찾아내는 것이다.
이미지를 나타내는 적절한 latent code를 찾아내면, 이를 이용해 GAN model을 통해 이미지를 생성할 수 있다.
paper : Image Processing Using Multi-Code GAN Prior (2020 CVPR)
Multi-Code GAN Prior는 여러 개의 latent code를 적용하여, 여러 개의 feature map을 Generator의 중간 레이어에서 생성한다. 그 다음, Adaptive Channel Importance를 적용하여 Input 이미지를 복원한다.
자세한 과정은 다음과 같다.
Baseline equation :
Target Image x가 주어지면, GAN Inversion은 x와 가깝게 이미지를 제작할 수 있도록 적절한 latent code를 찾아 GAN의 generation process를 reversing할 수 있도록 한다.
기존의 연구들은 single latent code를 optimizing 하기 때문에 image를 잘 만들어 내는 데에 한계가 있었다. 따라서 mGANprior에서는 여러 개의 latent code를 사용하고, Adaptive channel importance를 가진 해당 intermediate feature map을 구성한다.
GAN Inversion에서 가장 올바른 solution은 zn에서 제작된 이미지들을 Image Space X에 입히는 것이나, X는 linear space가 아니므로, 합성된 이미지를 linear하게 결합한다고 해서 의미론적인 이미지를 생성하기 어려우며, Input을 세부적으로 복원하기 어렵다. 따라서, mGANprior에서는 feature composition을 위하여 intermediate feature map을 사용한다. 즉, Generator가 두 개의 네트워크,
로 나뉜다. 여기서 l은 feature composition을 위한 intermediate layer의 index이다.
각각의 z_n이 이미지의 particular regions를 복구하여야 하기 때문에, adaptive channel importance(α)를 적용하여 object와 texture를 반영한 이미지를 복구할 수 있도록 한다.
α_n 은 adaptive channel importance로 표현되고 각각의 z_n에 대해 다른 semantic 정보를 반영하도록 도움을 준다. channel-wise multiplication이기 때문에, feature에 있는 각각의 channel에 multiplication을 취한다.
어떤 pre-trained GAN model을 사용하는지에 따라 다양한 활용이 가능하다.
https://openaccess.thecvf.com/content_CVPR_2020/papers/Gu_Image_Processing_Using_Multi-Code_GAN_Prior_CVPR_2020_paper.pdf
https://www.youtube.com/watch?v=RCSb6OMan8Q![](https://velog.velcdn.com/images%2Ftobigs-gm1%2Fpost%2Fb144fdfa-25e2-4ce1-8d9d-27892ba3de2a%2Fimage.png)![](https://velog.velcdn.com/images%2Ftobigs-gm1%2Fpost%2F48265898-6dc7-4f7f-b332-7d494281d805%2Fimage.png)![](https://velog.velcdn.com/images%2Ftobigs-gm1%2Fpost%2F776dba22-956f-4032-b4fd-202663263ea2%2Fimage.png)![](https://velog.velcdn.com/images%2Ftobigs-gm1%2Fpost%2F57b8619c-6612-46f8-a1c7-1428a5932d06%2Fimage.png)![](https://velog.velcdn.com/images%2Ftobigs-gm1%2Fpost%2F682b34bb-7f6a-4bc8-acde-ce5370453a01%2Fimage.png)
투빅스 14기 김상현
이번 강의는 Image Processing Using Multi-Code GAN prior에 대한 리뷰로 투빅스 김수현님이 진행해주셨습니다.
GAN inversion의 개념과 mGANprior에 대해 이해할 수 있었습니다. 유익한 강의 감사합니다!
투빅스 14기 김민경
투빅스 11기 이도연
Image Processing using Multi-Code GAN Prior, GAN Inversion에 대해 다루었습니다. 좋은 강의 감사합니다!
투빅스 14기 박준영
이번 강의는Image Processing using Multi-Code GAN Prior에 관한 내용으로 투빅스 김수현님께서 진행해주셨습니다.
Gan inversion: Gan inversion이란 input image를 복원할 수 있는 가장 적절한 latent code를 찾아내는 것이다. 이미지를 나타내는 적절한 latent code를 찾아내면, 이를 이용한 GAN model을 통해 이미지를 생성할 수 있다.
Image Processing using Multi-Code GAN Prior의 목표는 다양한 image inversion을 위해 강력한 Gan모델 만들기
기존의 training expensive를 해결하고 single latent code는 하나의 image를 표현하기에 한정적이기에 mGANprior으로 이를 해결
mGANprior은 N개의 random latent code z로부터 시작해서 각각의 Z는 generator G1을 거쳐 feature형성 이를 Adaptive channel importance를 이용하여 N개의 feature에 각각 어떤 가중치를 줄지 결정해서 다양한 정보 구현
최종적으로 형성된 N개의 feature를 더해서 generator G2를 거쳐 output을 만들어 낸다. 그리고 Target image와 비교하여 loss를 통해 latnet code z 업데이트하여 target image의 sub-region 복원
Gan inversion in mGanprior: mGan prior에서는 여러개의 latent code를 사용하여 adaptive channel importance를 가진 해당 intermediate feature map을 구성한다.
Feature composition: Generator가 2개의 네트워크로 나누어 input을 세부적으로 복원
Adaptive Channel Importance(α): latent code가 이미지의 particular regions를 복구해야하기때문에 adaptive channel importance를 적용하여 object와 texture반영하여 이미지 복구
Gan inversion과 mGanprior에 대해 자세히 배울수 있었던 시간이었습니다. 유익한 강의 감사합니다!
투빅스 13기 이예지:
이번 강의는 ‘Image Processing using Multi-Code GAN Prior’ 리뷰로, 김수현님이 진행하였습니다.
GAN inversion
랜덤한 이미지를 생성하는 것이 아닌, 원하는 real 이미지를 최대한 복원할 수 있는 랜덤 벡터를 찾아내는 방법입니다.
이를 활용하여 사용자의 요구에 따른 다양한 이미지를 생성해내는 것이 해당 논문의 목적이라고 할 수 있을 것 같습니다.
Image Processing using Multi-Code GAN Prior
multiple latent codes를 활용하여 multiple feature maps을 만들어냅니다.
Method
GAN Inversion: 단순히 optimization-based를 사용
Feature composition: 합성된 이미지를 non-linear하게 결합하기 위해 intermediate feature map을 사용합니다.
Adaptive Channel Importance: 서로 다른 의미를 가진 object를 생성해야 하기 때문에 채널별 가중결합을 활용하여 이미지를 생성해냅니다.
GAN의 expressiveness에 대해 다시 한 번 생각해볼 수 있는 강의였습니다.
좋은 강의 감사합니다 :)
투빅스 14기 정재윤
오늘은 image processing using multi-code gan prior에 대한 주제로 김수현님께서 강의를 진행해주셨습니다.
일반적으로 Gan은 latent code z를 넣어서 진짜와 같은 이미지를 만들어내는 것이 목표지만 Gan inversion은 이와는 정반대로 실제 이미지를 복원할 수 있는 적절한 latent code를 찾는 것이 복표입니다.
하지만 real image에 맞는 single latent code를 찾아도 복원시켰을 때, 완벽히 표현해내기에는 한계가 있습니다. 이에 대한 solution으로 나온 것이 mGANprior 입니다.
Multiple latent code z를 G1을 통해 multiple feature maps으로 바꾸고 Adaptive Channel Importance를 적용하여 input 이미지를 복원하는 것입니다.
마지막으로 어떤 pre-trained GAN model을 사용하는지에 따라 다양한 output을 만들 수 있다는 점이 굉장히 흥미로웠습니다.
기존의 GAN과는 다르게 latent code를 구한다는 발상 자체가 굉장히 흥미로웠던 강의였습니다. 감사합니다. 😊
투빅스 13기 신민정
이번 강의는 GAN Inversion에 관한 내용으로 갓수현님께서 진행해 주셨습니다.
GAN inversion의 개념을 알 수 있어서 좋았고, 추후 다양한 테스크에 적용해볼 수 있을 것 같습니다. 좋은 강의 감사합니다.
투빅스 14기 박지은
투빅스 14기 한유진
오늘은 Image Processing using Multi-Code GAN Prior에 대한 주제로 김수현님께서 강의를 진행해주셨습니다.
inversion의 정확한 개념을 알 수 있었던 강의였습니다. 좋은 강의 감사합니다!