본문 바로가기

vision/generate model

(2021 CVPR)DatasetGAN:Efficient Labeled Data Factory with Minimal Human Effort

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