2021 CVPR
DatasetGAN : 적은 놁으로 많은 양의 high quality semantically segmented image 생성하는 GAN
실제 사용가능한 dataset을 생성해내는 능력
decoder만 few labeled example로 학습 시켜 annotated dataset generator로 활용가능
Introduction
labeling된 dataset 부족 + 직접 labeling 하는데 소요되는 시간과 자원 어마어마 함
DatasetGAN을 제시하여 이를 해결하고자 함
학습된 GAN의 feature space를 활용하여 pixel-level labeling을 생성하기 위해 decoder 훈련
DatasetGAN

pixel-wise annotation task(semantic segmentatino, key-point prediction)에 focus
GAN과 같은 generative model
⇒ high dimensional latent space에서 semantic knowage를 얻을 수 있는 image 합성하도록 학습
StyleGAN과 같은 모델에서 GAN은 object와 그 부분을 semantically, geomentrically align하는 방법 학습
⇒ DatasetGAN은 이를 활용하려함
- StyleGAN과 같은 GAN architecture를 활용해 적은 수의 image 생성
- ⇒ 이 때 관련 latent feature map recording
- human annotator 통해 생성해낸 image labeling - 사람이 직접?
- Style-Interpreter: StyleGAN의 상단에 존재하는 pixel-wise feature vector 이용해⇒ human-provided labeling과 matching
- simple ensemble of MLP classifier 학습
- 학습된 StyleInterpreter를 이용해 StyleGAN architecture에 label-generating branch 생성
StyleGAN
DatasetGAN은 StyleGAN을 generative backbone으로 이용
- gaussian distribution에서 그려진 latent code $z \in Z$ 를 실제 image에 mapping
- 여러 mapping network를 거쳐 latent code $w \in W$로 mapping
- k learned affine transformation통해 w 가 k 개의 vector로 전환
- $w^1, w^2, ... , w^k$
- 이 k 개의 transformed latent code는 style information으로 k/2 synthesis block으로 주입
- AdaIN layer를 통해 feature map 출력 ⇒ $\{S^0, S^1, ... , S^k\}$
Style Interpreter
- AdaIN 에서 얻은 feature map $\{S^0, S^1, ... , S^k\}$ upsampling
- ⇒ $S^k$의 해상도로 맞춤(고해상도)
- feature map concatenate 통해 3D feature tensor $S^* = (S^{0, *}, S^{1, *}, ..., S^{k, *})$
- 각 pixel i의 feature vector $S^*_i = (S_i^{0, *}, S_i^{1, *}, ..., S_i^{k, *})$
- three-layer MLP classifier 통해 각 feature vector가 label 예측하도록 설정
Training
feature classifier 학습시키는 것이 목표 - 생성된 image는 human labeler에서 annotation collect에만 이용
feature vector $S_i^*$는 너무 고차원(5056)이고 feature map 중 가장 고차원인 것은 (1024) 모든 image feature vector를 batch로 다루는 것은 어려움.
⇒ 각 image에서 random sampling을 통해 진행 (적어도 한번은 각 labeled region에서 sampling해야함)
task에 따라 loss 다르게 설정
- semantic segmentation : cross-entropy loss
- keypoint prediction: training set의 각 keypoint에 대한 Gaussian heatmap 작성
- ⇒ MLP function 사용해 heat value를 각 pixel에 fitting
- SytleGan backbone에는 back propagation 안함
random sampling 효과를 분할하기 위해 N=10으로 N classifier 앙상블
DatasetGAN as a labeled data factory

학습한 이후에는 원하는 수의 image-annotation 쌍을 생성해낼 수 있음 ⇒ synthetic dataset
foward pass 통해 9초면 생성

'vision > generate model' 카테고리의 다른 글
| DDIM: Denoising Diffusion Implicit Models (2) | 2024.01.04 |
|---|