상세 컨텐츠

본문 제목

[논문 리뷰 스터디] FDA: Fourier Domain Adaptation for Semantic Segmentation

심화 스터디/논문 리뷰 스터디

by Imjjun 2023. 5. 31. 00:14

본문

작성자: 16기 임정준

 

#-1 Background Knowledge

* What is Fourier Transform?

 

 푸리에 변환(Fourier transform, FT)은 시간이나 공간에 대한 함수를  시간 또는 공간 주파수 성분으로 분해하는 변환을 일컫는다. 즉, 푸리에 변환을 통하여 얻어지는 복소평면에서의 요소들을 활용하여 크기와 위상을 뽑아낼 수 있고, 이를 다시 역변환하여 원래 도메인으로의 함수로 변환할 수도 있다(역 푸리에 변환)

 푸리에 변환에 대한 equation은 다음과 같이 정의된다.

 

* 1차원 이미지에 대한 이산 푸리에 변환 공식

* 여기서 x[n]은 이산함수를 의미

이로 인해 얻어지는 F(u,v)는 다음과 같이 실수부와 허수부로 분해할 수 있다.

이에 대한 Magnitude와 Phase는 다음과 같이 표현한다.

-> 잠깐 수학적 의미를 살펴보자면, Amplitude는 그 크기에 집중하고, phase의 경우, 실수부에 비해 허수부가 많이 변하는 지점, 사물 간의 경계 등의 높은 주파수대를 확인할 수 있게 된다. 반대급부로, Amplitude의 경우 낮은 주파수대의 정보가 비교적 많다는 것을 알 수 있다.

 

그리고 이를 이미지 도메인에서 나타내게 된다면 명확하게 구분될 수 있다.

여기서 (b)는 phase를 랜덤하게 가져갔을 때의 magnitude를, (c)는 Magnitude를 랜덤하게 가져간 이미지이다. Magnitude(spectrum)은 background 이미지의 전체적인 형태를 가지고 있고, phase는 물체의 형상에 대해 보존하고 있다는 것을 확인할 수 있다.

 

#0 Abstract

 

 Unsupervised domain adaptation 분야, 즉 낮은 주파수 대역의 스펙트럼을 'swapping' 하여 source와 target 분포의 차이를 줄여주는 간단한 method로서 FDA가 제시되었다. 최근 SOTA method들의 경우, 굉장히 복잡하고, 몇몇 모델들은 이산 도메인 변수 선택 택에 있어 invariant하도록 하는 Adversarial Optimization이 필요하다. 본 모델은 복잡한 alignment없이, Fourier Transform 및 inverse 형태를 구현하여 이를 해결하고자 했다. 

  

#1 Introduction

 

 Unsupervised domain adaptation은 covariate shift[공변량 변화]로 인하여 source data에서의 성능이 target data의 성능에서 따라오지 못한다는 점에서 출발한다. SOTA UDA는 DNN model을 사용하여 이를 해결하고자 하는데, 이는 어려운 adversarial training이 필요하다. 필자들은 단순히 low-level statistics 기반의 simple alignment가 어려운 학습없이 UDA에서 충분히 performance를 낼 수 있다고 생각했다. 

 

 첫째, 각 이미지의 FFT(Fast Fourier Transform)에 대해 연산하고, Target image의 low frequency를 이것으로 대체한다. 그리고 inverse FFT를 통하여 원래의 source domain으로 이를 돌려놓는다.

 

 FDA는 하나의 free parameter가 필요한데, 이는 spectral neighborhood의 크기를 정한다. 우리는 multi-scale method로서 다양한 사이즈들을 조사하고, 다른 도메인 사이즈들을 참고하였다. 

  

 그리고 본 접근의 동기는 low-level spectrum(amplitude)가 high-level semantic에 영향 없이 굉장히 변한다는 특성에 기인한다. 무언가가 사람인지 사물인지는 센서의 특성이나 다른 변수들로 인하여 영향을 받지 않는다. 하지만 그러한 변화는 spectrum에 굉장히 큰 변화를 주기 때문에, 만약 이러한 variability가 학습 데이터셋에서 나타나지 않는다면, 이 모델은 일반화에 실패할 것이다. 필연적으로 test set에서부터 알려지지 않은 variability가 담겨져 있기 때문이다. 하지만 해당 물체에 대한 식별 정보는 변하지 않고, non-linear contrast change나 color map rescaling은 충분히 학습없이 제거할 수 있는 요소들이기 때문에, 신경망들이 이러한 low-level statistics를 잘 전달해주지 못하기 때문에 더더욱 중요하다. 이는 즉, 어려운 적대적 신경망에 대한 학습이 불필요하며, 처음부터 nuisance variability가 충분히 다루어질 수 있다.

 

#1.1 Related Work

 

- DNN architecture: Cityscapes, PASCAL, MSCOCO

- Synthetic Data: GTA5, SYNTHIA

- Domain adaptation: MMD(Maximum Mean Discrepancy), CMD(Central Moment DIscrepancy)

- Adversarial Learning: discriminator to maximize the confusion between source and target representations

- Style Transfer: Cycada: alignment both the pixel-level and feature-level, DCAN: preserve spatial structure and semantics, CLAN: enforce local semantic consistency, BDL: bidirectional learning btw segmentation network and discriminator

 - SSL: CBST, BDL-> self-training, ADVENT: minimize entropy and adversarial loss

 

#2 Method

#2.1. Fourier Domain Adaptation (FDA)

Source Dataset은 상기된 set으로, x, y는 다음과 같다.

이때, x는 color image이며, y는 x와 연관된 semantic map에서 기인한다.

여기서 F는 각각 Amplitude, Phase에 대한 Fourier Transform 요소를 의미한다. 예를 들어서, 1차원 image x에 대하여,

와 같은 식을 얻을 수 있으며, 이는 FFT 알고리즘을 활용하여 효율적으로 구현할 수 있다. 그리고 F^-1이 inverse Fourier Transform으로 기능한다. 더불어 M_beta라는 mask라는 개념이 있는데, beta가 (0,1) 내에서 mask 지역의 center빼고 나머지는 0을 의미한다.

여기서 이미지 센터 부분을 (0,0)으로 가정한다. beta는 픽셀로 측정되는 것이 아니기에, beta의 선택은 이미지 사이즈나 해상도에 구애받지 않는다. 두 랜덤샘플링된 이미지에서, FDA는,

과 같이 적용이 가능한데, 이는 source 이미지의 Fourier transfrom component의 amplitude의 low frequency가 target image로 대체되었기 때문이다. 따라서 변형된 x는 phase는 변하지 않은채로 원래 도메인으로 돌아와 x와 mapping되나, target data와 그 형태는 닮아지게 된다. 

 

*Choice of Beta:

 Beta=0은 original image를 반환하게 된다. 다른 말로 하면, beta=1은 이미지 전체의 amplitude가 target image로 대체됨을 의미한다. beta를 다양하게 설정하여, multi-scale pooling method를 만들 수 있다.

 

 #2.2 FDA for Semantic Segmentation

 

 주어진 FDA가 적용된 데이터셋으로부터, segmentation network: Phi를 훈련시킨 다음, cross-entropy loss 최소화를 위해 다음과 같은 loss function을 사용한다.

 

 FDA가 두개의 도메인이 align되어있기 때문에, UDA는 SSL가 될 것이며, 이것의 핵심은 정규화모델이기 때문에, penalty를 주어야 한다. 하지만, 낮은 엔트로피에서는 비효율적이기 때문에, 임의적인 threshold를 설정하여 다음과 같이 엔트로피 최소화를 위한 robust weighting function을 사용하였다. 

이때, Charbonnier penalty는 다음과 같다.

그리고 여기서 주어지는 eta에 따른 Charbonnier penalty는 다음과 같이 형성 가능하다.

따라서 전체적인 loss는 다음과 같이 생성 가능하다. (*lambda: Hyperparameter)

 * Self-Supervised Training

 : SSL의 성능을 증강시키기 위한 방법으로, 정규화가 없이는 자기 참조적이기 때문에 정규화에 집중하였다. 

  필자들은 self-learning의 정규화를 위하여 다양한 모델들의 예측의 평균값을 활용하였다. 그러나 모델마다 명시적인 divergence term 및 같은 loss를 활용하는 대신, 다른 모델 phi와 다른 beta값을 활용하여 명시적으로 divergence term이 필요없는 모델을 구축하였다. 따라서 본 예측값의 평균은 다음과 같다.

 이때, network의 output은 softmax 함수이기 때문에, 평균 역시 K 카테고리들에 대한 softmax일 것이다. 따라서 SSL의 전체적인 loss는 다음과 같다. 

#3 Experiment

#3.1. Datasets and Training Details

 

- GTA5

- SYNTHIA

- CityScapes

- Segmentation network phi

 

- Training:

 * DeeplabV2_Resnet101

    - SGD

    - learning_rate_0: 2.5e-4

    - 'poly' learning rate scheduler with a power of 0.9

    - weight decay 0.0005

    - beta: 0.01, 0.05, 0.09

 

   * FCN-8s_VGG16

    - ADAM

    - learning_rage_0: 1e-5

    - early stopping + Adam 0.9 & 0.99 

 

* Experiement Result

 - Ablation study on the GTA5 -> CityScapes task

* Qualitative Comparison on GTA5 -> CityScapes

*Qualitative Comparison on GTA5 -> Cityscapes

* Larger Beta generalization

* Visual Comparison(*BDL: Bidirectional Learning_당대 SOTA)

*Reference:

https://darkpgmr.tistory.com/171

https://arxiv.org/abs/2004.05498

관련글 더보기

댓글 영역