Domain Adaptive Faster R-CNN for Object Detection in the Wild 논문 읽기

apple3095·2021년 8월 24일
0

논문읽기

목록 보기
1/2

github : https://github.com/krumo/Domain-Adaptive-Faster-RCNN-PyTorch
paper : https://arxiv.org/pdf/1803.03243.pdf

Domain Adaptation 이란

  1. Image Distribution 에 대한 이해

예를 들어, 아래와 같은 이미지가 있다고 가정하자.이미지가 각 픽셀마다, 고유의 값 (0~255)를 가지고 있을때 위 이미지의 픽셀 분포는 다음과 같다.

픽셀의 대부분이 125 ~ 200정도로 구성되어 있음을 확인할 수 있다.
Object Detection Task에서는 Train Dataset과 Test Dataset이 유사한 분포도를 갖는다는 것을 가정하고 데이터셋을 구성한다.하지만 이미지를 생성하는 사람에 의한 variance, bias, noise 등으로 인해 Train Dataset과 Test Dataset 이 유사한 분포도를 갖는다는 가정은 성립하기 어렵다.
그리고 이는 class가 같은 object임에도 불구, domain shift를 일으켜 생각지 못한 성능 저하를 불러 오게 된다.

  1. Domain Adaptation의 목적

본 논문에서는 이러한 domain shift를 줄이고, cross-domain robustness를 향상시키는 것을 목적으로 한다.
— Cross-Domain : 웹 생태계에서 사용하는 의미를 생각해보면 이해하기 쉽다.
동일한 프로그램 'Z' 를 환경 'A, B'에서 각각 실행 했을때, 이는 동일한 프로그램 'Z' 지만 실행되는 runtime 영역은 A,B로 나뉘게 된다.이때, 환경 'A'에서 'B'의 'Z'를 실행 시키려하면 Cross-Domain 오류가 발생한다.여기서는 동일한 Object 지만 runtime 영역이 다른 (이미지 분포가 다른) 두 Domain을 Cross-Domain이라 한다.
e.g) 같은 건물을 낮, 밤일때 찍은 영상
e.g) 똑같은 도로를 쾌청, 폭우일때 찍은 영상
그리고 이러한 Cross-Domain이 Detection 성능을 저하시킬때, 이를 Domain shift가 발생했다고 한다.
논문에서는, 이러한 Domain shift를 해결하고자 Image-level과 Instance-level에서의 학습을 제안했다.
Image-level은 Layer가 RPN을 통과하지 않고, 전체 이미지를 Gradient Reverse Layer(이하 GRL)와 Conv Layer, 분류기를 통해 나온 결과를 기준으로 한다. Instance-level은 RPN을 지나 GRL, FC, 분류기를 통해 나온 결과를 기준으로 한다. 다음의 이미지를 보면 이해가 빠를 것이다.

마지막에 Consistency regularization은 본래 unlabled data를 분류할때 분류기의 결정 경계를 찾는 것을 목적으로 한다. 이를 위해, 레이블이 있는 데이터를 함께 이용하여 발생하는 cross entropy, 다양한 noise로 인한 loss등을 반영하여 분류기를 domain - invariant 하게 만든다.
본 논문에서는 L2 Regularization을 적용한 Loss 식을 사용했다.
그래서, 본 논문의 목적은 RPN를 거치지않은 Image의 Classification 결과(Image-level)와 RPN을 거친 Image의 Classification 결과 (Instance-level)을 반영하여 domain discrepancy를 줄이고 domain invariant한 Faster R-CNN Detector를 만드는 것이라고 할 수 있다.

profile
꾸준한 기록

0개의 댓글