본문 바로가기

CV 논문리뷰/Domain (UDA, TTA, DG)

[CVPR 2021 Workshop] Self-training Guided Adversarial Domain Adaptation For Thermal Imagery

Thermal 이미지에서 Semantic Segmentation을 수행할 때 RGB로 부터 유의미한 정보를 받아오는 과정에서
둘 사이의 domain gap을 줄이기 위한 DA 분야의 논문들을 계속해서 읽어 가는 도중 제목이 왠지 모르게 이끌리는 논문을 발견하여 되어 읽어보게 되었습니다.


Computer Vision 하위 여러 분야의 많은 방법론들은 RGB image를 기반으로 한 연구를 수행하고 있습니다.
그리고 이러한 연구들은 풍부한 양의 RGB data를 발판 삼아 훌륭한 발전을 이루었죠.

하지만 여러분들도 다들 아시다시피 RGB sensor는 야간 상황의 illumination 변화에 취약하다는 치명적인 단점을 지니고 있습니다.


이 때문에 이런 illumination 변화에 강인한 Thermal sensor 가 연구에 적용되고 있으며, real 환경에서도 유용하게 사용되고 있습니다.

하지만 Thermal의 경우 labeling된 data가 부족하다는 단점을 가집니다. RGB와 pair를 이루는 multispectral dataset은 더더욱 부족한 상황이구요.

 

이러한 상황에서 필요한 연구가 Domain Adaptation 입니다.
large-scale dataset으로 충분히 학습한 RGB의 정보를 Thermal로 잘 전달해 주고 싶은데,
이때 두 domain 사이의 gap을 잘 해결하고자 하는 것이 본 연구의 핵심입니다.

 

하지만 단순히 RGB dataset을 통해 학습된 모델, 정보를 Thermal에 부여하게 된다면 어떻게 될까요?
두 sensor domain 사이의 고유한 차이 때문에 큰 성능 drop이 발생하게 됩니다.

 

Source domain에서 Target domain으로의 Adaptation 수행 시 성능 drop을 최소화 하기 위해 진행되는
Domain Adaptation을 위해 앞선 연구들을 아래의 방식을 많이 사용하였습니다.

Adversarial Domain Adaptation

GAN 모델에 영감을 받아 제안된 방식입니다.
많은 DA 방법론들도 해당 방식을 채택하고 있습니다.

 

GAN에서는 생성자(Generator)가 만들어 낸 image가 real인지 fake인지 구별하는 방향으로
판별자(Discriminator)가 동작한다면,
Domain Adaptation에서의 판별자(Discriminator)는 encoding된 feature가
source로 부터 추출되었는지, target 으로부터 추출 되었는지를 구별하는 역할을 합니다.

 

가령 source domain을 RGB, target domain을 Thermal라고 한다면
각 domain의 개별 feature extractor 에서 feature를 추출했을 때
Discriminator는 추출된 feature가 RGB, Thermal 중 어떤 domain에서 추출되었는지 구별하는 방향으로 학습을 진행하고,
반대로 RGB, Thermal의 개별 feature extractor는 Discriminator를 속이기 위해 domain invariant representation을 배우는 방향으로 학습을 진행하게 됩니다.

 

Adversarial Domain Adaptation의 핵심은 각 domain이 domain invariant representation를 학습하는 것입니다.
domain invariant representation를 잘 학습하였다면 두 domain은 domain invariant한 feature를 각각 추출하게 될테고,
그렇다면 source domain에서 잘 학습된 classifier나 decoder 등을 target domain에도 성공적으로 적용할 수 있겠지요.


하지만 위 처럼 단순히 domain invariant representation을 통해 각 domain feature의 distibution을 정렬(align)하는 것에 집중을 한다고 해서, 이것이 source -> target domain으로의 완벽한 generalization을 보장하지는 않는다고 합니다.

그래서 본 논문에서는 self-training guided adversarial domain adaptation(SGADA) 를 제안합니다.


물론 앞서 말씀드린 adversarial을 사용하되, 최근 DA 분야에 적용이 되고 있는 Self-Training 방식을 함께 활용하고 있습니다.
본 논문이 주장하길, Thermal classification 분야에선 self training을 적용한 DA는 최초라고 하네요.


Method

본 논문에서 제안하는 self-training guided adversarial domain adaptation(SGADA)의 전체 흐름은 위와 같습니다.

본 논문의 DA 방식에는 부가적인 contribution이 존재하는데, RGB-Thermal pair dataset이 필요하지 않다는 점입니다.

 

보통의 방식들은 pair dataset에서 DA를 수행해서 pair한 dataset만 사용 가능한데,
해당 방법론은 그렇지 않기 때문에 확장, 적용 가능성이 더 큰 거 같습니다.
(참고로 본 논문에선 RGB dataset은 MS-COCO를, Thermal dataset은 FLIR ADAS 를 사용하였습니다.)

위 : MS-COCO, 아래 : FLIR ADAS

아 그리고 위에서 제가 설명을 못 드린 부분이 있는데,
통상적으로 Domain Adaptation 방법론들은 labeled source data -> unlabeled target data 의 환경에서 수행 됩니다.
본 논문도 마찬가지구요.

 

그러면 그냥 labeled source data 로 supervised 방식으로 학습 하고, 해당 예측 값을 unlabeled target data에다가 pseudo label로 주면 안되냐~ 라고 생각하실 수 있는데 본 논문의 세팅 자체가 unpair한 dataset이므로 이는 불가능합니다. 이런 상황에서 어떻게 학습을 진행하게 될까요?

 

위 그림의 SGADA를 통해 self-training을 수행하기 전에 target domain을 위한 pseudo label을 생성해야 합니다.
이는 아래의 step을 통해 수행됩니다.

 

 

우선 source domain의 feature extractor $F_s$와 Classfier C를 labeled dataset을 사용하여 supervised 방식으로 pre-training 을 진행합니다. 위에서 말씀드렸다시피 MS-COCO dataset을 사용합니다.

 

그냥 우리가 흔히 아는 classification model을 학습시키는 과정입니다.
학습 후 $F_s$는 source domain의 feature를 잘 추출 해 낼테고,
C는 source domain feature 를 잘 classification 하겠죠.

 

 

다음은 Warm-up 단계입니다.
label이 존재하지 않는 target image의 pseudo-label을 생성해 주기 위한 준비 워밍업 단계라고 생각하시면 됩니다.

$F_s$는 위의 Pre-training에서 학습 된 모델을 freeze해서 사용하고,
target domain의 feature extractor $F_t[/latex]와 Discriminator D만을 학습시킵니다.

 

$F_t$는 현재 label이 존재하지 않기 때문에 unsupervised 방식으로 Discriminator를 잘 속이는 방향으로만 학습을 진행하게 됩니다. 반면 Discriminator는 source와 target으로 부터 추출되는 각각의 feature를 잘 구분하는 방향으로 학습이 진행되겠죠.

 

결과적으로 $F_t$는 $F_s$와 유사한 feature를 추출하도록, adversarial 방식을 통해 각 domain의 align이 맞춰지는 방향으로 학습이 진행되게 됩니다.

 

해당 step까지 종료 후,
본 모델이 제안하는 SGADA를 통해 self-training을 수행하며 DA를 진행하게 될텐데
self-training을 위해서는 초기에 일부의 label이 필요하게 됩니다.


본 target image의 경우 unlabeled 이므로 일부의 pseudo label이 필요하겠네요.

본 논문에서 수행하는 task는 classification이므로 어떤 class인지를 나타내는 pseudo label을 생성해야 할텐데 이는 위의 (c) 과정을 통해서 생성하게 됩니다.

 

$F_t$가 각각 Classifier C와 Discriminator D의 input으로 들어가게 됩니다.
이후, C를 통해 어떤 class인지를 예측하는 prediction과 신뢰도 confidence를 얻게 되고,
D를 통해 $F_t$로 부터 추출된 feature가 source 와 target중 어떤 domain과 더 유사한지에 대한 confidence를 얻게 됩니다.

 

Classifier C 의 예측 중 일부를 self-training의 초기 pseudo label로 설정하게 됩니다.
그리고 이를 선정하는 기준은,
Classifier C의 confidence가 특정 threshold보다 높고,
Discriminator D의 prediction이 source domain에 더 가까우면
Self-training의 초기 Pseudo label로 채택하게 되는 것입니다.


자 이렇게 DA를 위한 Self-Traning의 초기 세팅에 사용되는 target domain의 일부 Pseudo label을 생성 했습니다.
그 후엔 아래의 전체 과정을 통해 self-training guided adversarial domain adaptation(SGADA) 를 진행하게 됩니다.
(위의 그림과 동일)

위의 학습을 진행할 때 하늘색으로 표시 된 $F_s$와 Classifier C는 freeze 시키고,
빨간색으로 표시된 $F_t$와 Discriminator D만 학습을 진행하게 됩니다.

 

이후 Self-Training을 진행하면서 위의 (c) Pseudo-Labeling 과정과 동일한 원리로 점차적으로 Pseudo label을 확대 해 나가는 방식으로 학습이 진행됩니다.


Experiment

 

해당 논문은 학습 방식을 제안한 논문이기 때문에,
다른 DA 학습방식을 제안한 방법론들과의 fair comparison을 위해서 ImageNet pretrained ResNet-50을 사용했습니다.
그리고 Discriminator와 Classifier 또한 엄청나게 간단하게 구성되어 있네요.

 

 

위는 classification 성능을 리포팅 한 결과입니다.

해당 표에서 Source only란 Source image로 학습한 모델을 통해 Target image를 예측 한 성능입니다.
한마디로 Domain Adaptation이 수행되지 않은, 본 실험의 lower bound에 해당하지요.

 

반대로 Target Domain이란 Target image를 supervised로 학습한 모델을 통해 Target image를 예측 한 성능입니다.
본 실험의 upper bound에 해당합니다.

본 논문에서 제안하는 방식을 통해 Upper bound와 그렇게 큰 차이가 나지 않는, 좋은 성능을 내고 있네요.

 

또한 3가지 class에서 상대적으로 균등한 예측을 수행함으로써,
real-world에서 다뤄지는 class imbalanced 문제를 타 방법론에 비해 잘 해결했다고 주장하고 있습니다.

 

 

그리고 위는 Ablation study 입니다.
해당 table에 대한 참신한 분석은 없고, 그냥 Classifier와 Discriminator를 모두 사용 시 성능 향상이 일어났다... 뭐 이렇게만 리포팅 하고 있습니다.


사실 전체적으로 조금 아쉬운 논문이였습니다.

multi modal data에서 DA를 수행할 때 unpair한 상황에서도 적용이 가능하다는 확장성은 보여주었다고 생각해서 이는 꽤나 인상깊었지만, 방법론이 막 참신하다는 생각이 들지 않았고, 특히 실험 부분이 너무 부실해서 이게 끝인가.. 싶긴 했습니다. 또한 Self-training에 대한 Ablation도 존재하지 않았구요..

Thermal classification 분야에 self training을 적용한 최초의 DA 방식이라서 가치를 인정 받은 것일까요..?
역시 최초가 중요한가 봅니다.

 

네 아무튼 이번 리뷰를 마치도록 하겠습니다.
감사합니다.