본문 바로가기
Domain Adaptation/Object Detection

Cross-domain Object Detection through Coarse-to-Fine Feature Adaptation 리뷰

by khslab 2022. 8. 31.

이 논문은 2단계에 걸쳐 feature alignment를 해주는 논문이다.

backbone 단계에서 GRL-Discriminator와 Attention Map을 사용하고

최종 예측 단계에서 클래스는 같지만 도메인이 다른 경우

두 output 차이를 좁혀주는 연산을 한다.

 

CVPR'20

https://arxiv.org/abs/2003.10275

 

Cross-domain Object Detection through Coarse-to-Fine Feature Adaptation

Recent years have witnessed great progress in deep learning based object detection. However, due to the domain shift problem, applying off-the-shelf detectors to an unseen domain leads to significant performance drop. To address such an issue, this paper p

arxiv.org


저자들은 coarse-to-fine adaptation framwork (cross-domain)를 제안하였다.

 

위 그림은 이 논문의 대략적인 방향성을 알 수 있다.

먼저 Attention-based Region Trasfer (ART) 모듈에서 source-target domain에서 foregrounds만 강조하여 묶어내는 것을 볼 수 있다.

그리고 Prototype-based Semantic Alignment (PSA) 모듈에서는 domain을 넘어서 카테고리 별로 global prototype를 만드는 것을 알 수 있다.


위 그림은 이 논문의 전체적인 구조이다.

이 모델도 기본적으로 Faster R-CNN 구조를 바탕으로 개발되었다.

따라서 아래와 같은 Faster R-CNN의 Loss를 가져간다.

그 다음 Adatation 모듈을 추가하였는데,

domain을 넘어 공통적인 특성을 찾기 위해 foreground의 feature을 alignment한다.

이 모듈은 Attention-based Region Transfer (ART)와 Prototype-based Semantic Alignment (PSA)가 있다.


ART 모듈은 두 domain의 foreground 분포를 alignment 하는데에 집중하도록 설계되었다.

위 구조를 보면 알 수 있는것 처럼 ART는 domain classifier와 attention mechanism으로 구성되었다.

 

backbone 단계에서 마지막 3개의 conv. block에 ART를 달았다.

domain classifer는 domain을 구분하도록 설계된 구조인데 여기에 GRL을 달아서 도메인을 구분하지 못하도록 설계가 되었다. 이러면 이론상 backbone이 domain-invariant feature을 추출 할 수 있게 된다.

이 domain classifier의 Adversarial loss는 다음과 같다.

θ는 파라미터

Dl은 feature가 sorce domain일 확률이다.

 

기본적으로 detection task에서 RoIs가 localize classify에 중요한 역할을 한다.

그러나 이 domain classifier는 객체든 배경이든 상관하지 않고 전체적으로 align하기 때문에 성능의 감소가 일어날 수 있다.

이 문제를 다루기 위해 foreground 인식에 집중하는 attention mechanism이 필요하다.

이때 저자는 RPN의 high-level feature을 사용하여 attention map을 만들었다고 한다.

위 그림처럼 저자는 채널의 activation value를 평균내어 spatial attention map을 만들었다고 한다.

나아가서 threshold보다 작은 value를 0으로 필터링 했다. threshold 보다 작다는 것은 backgrund에 속할 확률이 높다는 뜻.

따라서 attention map의 식은 다음과 같다.

M(x)는 필터링 전 attention map

S(·)는 sigmid 함수

I(·)는 indication 함수

Frpn(x)는 채널별 feature map

⊗는 요소별 곱셈

T(x)는 threshold인데 M(x)의 평균이다.

 

attention map의 사이즈가 feature와 호환되지 않기 때문에 up-sampling을 진행한다.

(bilinear interpolation)

또 attention map이 항상 정확한 결과만을 가져오는것은 아니므로,

만약 background를 foregrund로 잘못 분류할 경우 가중치를 0으로 만든다.

그리고 skip connection을 attention map에 추가한다.

 

전체적인 ART loss는 다음과 같다.

Ul(·)는 up-sampling operation이다.


위의 과정을 거치더라도 다음과 같은 2가지 문제가 있다.

1. mulitple class-specific classifier를 학습시키는 것이 비효과적이다.

2. 잘못된 pseudo-label은 semantic alignment의 성능을 떨어뜨린다.

그래서 저자는 Prototype-based Semantic Alignment이라는  PSA 모듈을 제안한다.

다이렉트로 classifier를 학습시키는것 대신, PSA는 same category across domains에 대한 prototype PS, PT의 거리를 최소화 하도록 한다.

이렇게 되면 featuer space에서 semantic consistency를 유지할 수 있다.

prototype는 다음과 같이 정의한다.

F(r)은 RoI head에서 2번째 FC layer를 지난 foreground region r의 feature다.

Ground Truth GTk는 source domain으로 부터 foreground region을 추출한 것이다.

target annotation이 없기 때문에 RoI head 모듈이 제공하는 RoIk를 target domain의 pseudo label로 사용한다.

|·|는 region의 수를 나타낸다.

 

이 prototype를 사용하면 2가지 장점이 있다.

1. prototype는 추가적으로 트레이닝이 필요한 parameters를 가지고 있지 않다. 그리고 linear time에서 계산이 가능하다.

2. prototype을 생성할 때 올바른 것들의 수가 더 많기 때문에 false pseudo-label의 부정적인 영향을 억제할 수 있다.

 

각 mini-batch에서 local prototype에 의해 global prototype가 다음과 같이 adaptively로 업데이트된다.

sim은 다음과 같이 cosine similarity로 정의된다.

Pk는 local protopype다.

초기 inital global prototype GPk(0)은 식 (7), (8)에 의해 정해진다.

 

이처럼 local prototype를 직접적으로 align하지는 않지만, GPSk와 GPTk 사이의 L2거리를 최소화 하여 semantic alignment한다.

PSA loss는 다음과 같다.


위 알고리즘이 전체적인 training 과정이다.

1. Supervised Learning

supervised detection loss Ldet는 source domain Ds에만 적용된다.

2. Coarse-grained Adaptation

이미지에서 foreground를 추출한 attention 매커니즘을 사용한다.

그리고 LART를 최적화 하며 region의 feature distribution을 align하는데 집중한다.

3. Fine-grained Adaptation

target domain에서 pseudo label이 예측되고,

adaptively로 각 category에 대한 global prototype이 업데이트 된다.

LPSA를 최적화 하면서 foreground object의 semantic alignment가 이루어 진다.

마지막으로 전체 loss는 다음과 같다.

λ1은 1, λ2는 0.01이다.


이 논문에서는 coarse-to-fine feature adaptation을 사용하였다.

ART를 통해서 foreground region의 중요도를 강조하는 attention 매커니즘을 사용하여, domain간의 feature distribution을 align하였다.

PSA으로 prototype의 이점을 활용하여 semantic level에서 foreground의 fine-grained adaptation을 수행하였다.