4 minute read

[DG][OD] Multi-view Adversarial Discriminator: Mine the Non-causal Factors for Object Detection in Unseen Domains

Abstract

  • paper: https://arxiv.org/pdf/2304.02950.pdf

  • github: X

  • CVPR 2023 accepted (인용수: 5회, ‘23.12.15기준)

  • downstream task : DG for OD

1. Introduction

  • Multi-Source Domain Generalization for Object Detection

    • Source와 Target domain간의 domain shift가 있는 상황을 가정
    • Domain Adaptation과 다른 점
      • Target domain에 대한 정보가 전혀 없다. (Unlabeled image마저도)
      • Source data가 2개 이상일 수 있다. (Multi-source)
    • Target Domain에 대한 정보가 전혀 없을 때, Multi-source domain에서 domain invariant한 특성을 학습하여 unknown target domain에 대해 general하게 성능이 잘 나오는 detection 모델을 구축하는것이 목적
  • 문제제기 : 기존에 DAL (Domain Adversarial Learning)은 자연태생적으로 Single-View 이다.

    • Single-View : Multi-View와 대비되는 개념으로, domain의 feature를 single latent space로 mapping하는 것을 의미함

  • 그런데 Domain Generalization에서는 특정 도메인에서 non-causal insignificant factor였던 게, 다른 도메인에서는 significant factor일 수 있다. 왜?? Data가 Multi-mode structure로 이루어졌기 때문에

    • 즉, significant factor가 domain간에 align되지 못했으므로, domain-invariant한 common feature를 온전하게 학습한게 아니다.

    • Proof of Concept

      • 기존에 DAL (Domain Adversarial Learning)중 하나인 DANN으로 실험 진행
      • DAL로 classifier가 수렴한 뒤, Feature Extractor를 freeze시키고, random init.된 Resnet block를 classifer head 앞단에 붙인 뒤 추가로 DAL로 학습 수행
      • 그러자 loss가 감소함. (Loss 감소 == domain alignment할 수 있는 feature가 남아있었다)
      • 즉, Resnet Block을 추가한 view (embedding space)에서는 기존에 view 에서 alignment하지 못한 domain specific한 feature를 충분히 정화시키지 못했음. → Multi-View가 필요함!
  • 해결 방안 :

    • Causality

      관점으로 해석해보자!

      • Cityscapes vs. Foggy Cityscapes에서 non-causal한 feature는?
        • Weather
      • Domain Generalization 관점에서 non-causal한 feature는?
        • Weather
        • Camera angle
        • Light color
        • Background
      • Causal한 feature는?
        • objects (ex. car, pedestrian, etc)
      • Domain common하지만 non-causal한 feature들을 효율적으로 없애야 Domain Generalized Object Detection이다!

    • Multi-view Adversarial Discriminator : Multi-view Domain Classifier를 통해 feature들을 multiple latent spaces (views)로 mapping하게 학습함 → Multi-view로 살펴본 후에도 non-causal인 factor들은 제거되고, domain-invariant feature들만 정화됨

      • Toy Example

        • Auto-encoder 여러개로 feature들을 여러 latent space로 mapping하게 한 후에, MVDC (multi-view-domain-classifer)들로 각각의 feature들이 어느 domain에서 왔는지 맞춰보게 함 (즉, Multi-View Adversarial Learning을 수행해봄
    • Spurious Correlations Generator (SCG) : 주파수 domain으로 이미지를 변환하여, domain-variant한 극소, 극대 주파수를 random 하게 augmentation수행하여 domain diversity를 향상

      → reference 논문 : https://alcherainc.atlassian.net/browse/MLR-42 (Frequency Space Domain Randomization)

  • Contributions

    • 기존 DAL의 한계점을 지적함
    • Multi-view Adversarial Discriminator를 제안함 → implicit한 non-causal factor들을 효율적으로 제거하는 기법
    • standard dataset에서 효율성을 입증함

2. Related Work

  • Domain Adaptive Object Detection

    • Adversarial based

      • Adversarial training기법을 적용하여 별도의 binary discriminator (class: target, source)와 generator (backbone)간의 minmax game을 풀며 target과 source feature간의 alignment를 진행하는 기법
    • Reconstruction based

      • Image to Image Transfer를 통해 Target-like source image 혹은 Source-like target image를 두고 학습하는 기법
    • (Self-training?)

  • Domain Generalization

    • Domain Augmentation : Source domain을 augmentation시키는 방법론
      • FSDR: https://alcherainc.atlassian.net/browse/MLR-42
      • Fourier based: https://alcherainc.atlassian.net/browse/MLR-47
    • Representation Learning : DAL을 활용한 방법론
    • Meta-Learning : Optimization meta-learning 방법론: https://alcherainc.atlassian.net/jira/software/c/projects/MLR/boards/158?modal=detail&selectedIssue=MLR-43
  • Causal Mechanism

    • Causal Mechanisms : 인과관계를 통계적으로 접근하려는 시도는 신뢰 할 수 없다
      • Causal correlation vs. non-causal correlation이 존재하기 때문
        • ex. 노란 이, 흡연, 폐암
          • 노란 이 vs. 폐암 → non-causal correlation
          • 흡연 vs. 폐암 → causal correlation

3. Approach

3.1 MAD Overview

  • SCG (Spurious Correlations Generator) : Source domain Image에서 non-causal한 영역을 gaussian random noise로 대체하여 diversity를 늘리는 module (Non-trainable)

  • MVDC (Multi-View Domain Classifier) : Non-causal factor를 제거하여 pure한 domain-invariant feature들만 학습하기 위해 multi-view (latent vectors) domain discriminator를 도입 (Image-level, Instance-level)

3.2 Spurious Correlation Generator

  1. Discrete Cosine Transform을 통해 input image $x \in \mathbb{R}^{H \times W}$에 대한 frequency spectrun $\mathbb{F}(x)$ 구함
  2. Band pass filter를 통해 extremely high & extremely low frequency를 제거함

$ M(r)=e^{-\frac{u^2+v^2}{2R_H^2}}-e^{-\frac{u^2+v^2}{2R_L^2}} $

  • $u,v$: position of spectrum
  • $r(R_H, R_L)$: cut-off frequency of low and high frequency
  1. Randomize non-causal frequencies
\[R_G(S)=S \times (1+N(0,1))\]
  1. Inverse Discrete Cosine Transform을 통해 augmented image $\hat{x}$를 구함

$ \hat{x}=\mathbb{F}’(R_G(M(r) \times \mathbb{F}(x))+(1-M(r))\times \mathbb{F}(x)) $

3.3 Multi-view Domain Classifier

  • DAL vs. Ours

    • $h$ : $H$에 속한 1개의 domain classifer
    • $e_i$: i번째 encoder로서, feature를 latent space에 mapping하는 함수 역할
    • $h$는 각각의 domain 조합간에 significant domain-private feature를 제거하게 되고, 이를 $_MC_2$번 반복하여 제거함으로써, feature extractor $F$가 domain-invariant feature만 학습하도록 함
  • Classifier Sturcture

    • auto-encoder(encoder-decoder구조)와 classifer로 구성
      • encoder : Feature를 특정 latent space로 mapping하는 역할
      • decoder : Feature의 semantic content를 유지하기 위해 복원하는 역할
    • Image-level vs. Instance-level
      • Image-level classifer는 global context (색깔, 조도(illumination), 배경 texture, etc) 등의 non-causal factor를 제거 하기 때문에 convolution layer를 활용함 → translation invariance 한 특성을 가정하는 듯
      • Instance-level은 각 instance마다의 camera angle 과 같이 instance의 섬세한 non-causal factor를 제거 하기 위해 Fully-Connetect Layer를 활용 → inductive bias를 가정하지 않음
  • Loss Function

    • Reconstruction Loss : mapping된 latent vector가 input feature의 semantic 정보를 유지고 있도록 강제시키기 위해 reconsturction loss를 줌

      $ L_{RC}=\frac{1}{M}\sum_{m=1}^MMSE(s,g_m(e_m(s))) $

      • $M$: multi-view domain classifier의 갯수
      • $g_m$: m번째 decoder
      • $e_m$: m번째 encoder
      • $s$: input feature
    • Adversarial Loss : domain specific factor를 align시켜 제거하도록 encoder와 classifer가 adversarial하게 학습

      $ L_{DC}=-\frac{1}{M}\sum_{m=1}^M\sum_{k=1}^Ky_k \times log(p(D_m(e_m(s_k)))) $

      • $s_k$: k번째 domain의 feature (K-domain, M-branches)
    • view-differenct loss : auto-encoder들이 mapping하는 latent vector들이 충분히 거리가 떨어져 있도록 밀어내도록 제약을 주는 역할 → insignificant non-causal factor들을 significant하도록 disentanlge(제가 사용한 용어) 시키는 역할

    • cross-level consistency loss : instance level prediction($p_{j,n}$)과 image-level prediction ($p_i^{(u,v)}$)간의 consistent해지도록 average값의 차이를 loss로 둠

      • N: 전체 instance의 갯수
      • I: pixel의 갯수

4. Experiments

  • Datasets

    • Cityscapes, Foggy Cityscapes, Rainy Cityscapes
    • SIM10k : Synthetic rendered image
    • KITTI
    • BDD 100K
    • Pascal VOC

    → {S, C, F, R, B, K, V}

  • Multi-Source DGOD Results

    • Implementation Details
      • Multi Source {C,F,R,B} 일 경우
        • Training set : 4개 중 3개 선택
        • Validation set : 나머지 1개 선택
      • Baseline : Faster-RCNN (VGG16) with SGD
  • vs. Multi/Single Source DGOD, DAOD (Domain Adaptive OD)

  • Multi-view DGOD with 7 Datasets

    • 공통 되는 class인 ‘car’에서만 실험을 진행
  • T-SNE

    • C2F (Cityscapes to Foggy-Cityscapes)의 car class 분포
    • (a) DAL적용 전 Faster-RCNN의 분포. C,F가 align되어 있지 않음 (안좋음)
    • (b) DAL적영 후 (DANN) Faster-RCNN의 분포. C,F가 align되어 있음 (좋음)
    • (c) Multi-view Discriminator를 적용한 DANN의 분포. C,F가 align되어 있지 않음 (안좋음) (d) Multi-view Discriminator를 적용한 DANN의 분포. C,F가 align되어 있음 (좋음)
  • MAD를 DGC (Domain Generlization for Classification)에 적용한 결과

    • Dataset : PACS, VLCS
    • MAD기법은 기존 DG기법과 Orthogonal하므로, Classification DG Task에도 적용 가능해 해보니, 좋았다.
  • Ablation Study

  • Hyperparameter 분석

    • M, $\lambda$

5. Conclusion

  • DAL의 분제를 point했다
  • Multi-view Adversarial Discriminator를 제안했다. → non-causal factors in latent space를 효율적으로 제거하고, domain-invariant causal factor만 학습하도록 유도했다.
  • SCG와 함께 source domain을 diversify했다.
  • OD benchmark에서 좋은 성능을 거두었다.

Updated: