본문 바로가기
Domain Adaptation/Object Detection

Multi-adversarial Faster-RCNN for Unrestricted Object Detection 리뷰

by khslab 2022. 8. 16.

이 논문은 저번에 포스팅한 Diversify and Match 논문처럼
domain-adaptation을 할 수 있도록 아이디어를 제안하였다.
포스팅 하지 않은 논문이 너무 많이 남아서 부지런히 작성해보려 한다.
아직 못읽은 논문도 산더미..ㅜ

CVPR'19
https://arxiv.org/abs/1907.10343

Multi-adversarial Faster-RCNN for Unrestricted Object Detection

Conventional object detection methods essentially suppose that the training and testing data are collected from a restricted target domain with expensive labeling cost. For alleviating the problem of domain dependency and cumbersome labeling, this paper pr

arxiv.org


위 그림을 보면 첫번째 행에서는 detection이 잘 되는것을 확인할 수 있지만,
두번째 행처럼 domain에 foggy가 생기면 detection 성능이 저하되는것을 확인할 수 있다.
하지만, 이 논문에서 제안하는 방법을 사용하면
foggy domain에서도 성능을 항샹시킬 수 있다고 한다.

저자는 multi-adversarial Faster RCNN detector (MAF)라는 것을 제안한다.
이 모델은 hierarchical domain features와 proposal feature에 대해
adversarial domain adaptation을 진행한다.

MAF는 3가지를 제안하는데,
1번째는 submodules의 multiple domain classifier가 domain label을
차별적으로 예측하기 위해 학습되고 classifier에 혼란을 줘서
backbone network가 domain-invariant feature을 만들어내도록 하는것을 제안한다.
이것은 GRL을 통해 이루어 진다.

2번째는 hierarchical domain feature에서
domain feature information의 손실 없이
feature의 스케일을 줄이고 채널을 늘리는
scale reduction module (SRM)을 제안한다.

3번째는 confusing 난이도에 따라 다른 가중치를 주는 GRL인
weighted gradient reversal layer (WGRL)을 제안한다.


위 그림은 모델의 전체적인 구조이다.

MAF 모델은 논문 이름에서 알 수 있는것 처럼 Faster RCNN을 기반으로 한다.
Hierarchical Domain Feature Alignment Module은
VGG 16의 3, 4, 5 block에 배치되있다.
Aggregated Proposal Feature Alignment Module은
network의 최상부에 배치되었다.


Hierarchical Domain Feature Alignment는 source와 target사이의
conv. feature map 분포 차이를 보정하는 것을 목표로 한다.

adversarial domain classifier은 domain feature에 혼란을 주는데
하나의 adversarial domain classifier보다 여러개의 adversarial domain classifier가
final domain alignment하는데에 도움이 되서 multi로 쓴다고 한다.

위 식은 Hierarchical Domain Feature Alignment가 학습되는 식이다.

Lm은 위와 같이 나타내는데,
x는 input 이미지
w는 conv. parameter
(u,v)는 각 픽셀의 좌표
Cm은 m번째 블록의 conv. layer
θ는 domain classifier parameter
Dm은 m번째 블록의 classifier parameter
d는 x의 domain label (source는 0, target은 1)
Lc는 cross entropy loss다.

backbone network의 parameter는 Lc를 최대화 하려고 하고
GRL을 통해 θ는 Lc를 최소화 하려고 한다.
(말이 조금 헷갈리지만 GRL의 특성을 생각해보면
GRL을 통해 backbone network는 domain classify를 할 수 없게 학습된다.
따라서 Lc는 자꾸 커지게 되는데,
classifier는 자기 역할대로 domain을 구분하려고 하기 때문에
Lc를 최소화 한다고 하는 것이다.)

이 과정을 효율적으로 하기 위해
scale reduction module (SRM)이 사용된다.
위 전체 구조 그림을 보면 알 수 있는것 처럼
SRM은 two step으로 이루어 진다.
먼저 1x1 conv. layer로 이미지의 채널을 줄이고
채널 수를 다시 늘리면서 scale을 줄이도록 feature Re-align을 한다.
이렇게 s x s 인 인접한 픽셀들은 모아지고 새로운 픽셀을 만들어 낸다.

위 식을 통해 SRM이 이루어 진다.
FL은 1번째 step의 feature map이고
FS는 최종 feature map이다.

%는 Modulus로 나눗셈의 나머지
[.]는 반올림을 나타낸다.

이를 통해 파라미터가 줄어들게 되므로 결국 연산이 효율적으로 개선된다.


Aggregated Proposal Feature Alignment는
classification과 regression의 정보를 보존하면서 semantic한 alignment를
달성하기 위해 개발되었다.

proposal feature의 semantic 차이를 개선하기 위해
detection 결과에 proposal features을 합쳤다고 한다.

이렇게 aggregation을 하면 2가지 장점이 있다고 한다.
첫번째는 classification 결과가 카테고리 정보의 질을 높이고,
regression 결과도 bounding box의 position 지식을 부여받게 된다.
두번째는 classification과 bounding box regression 결과는
domain classifier를 더 쉽고 효과적으로 학습시키도록 feature의 차이점을 개선시킨다.

위 식은 Aggregated Proposal Feature Alignment하는 식이다.

Lp는 위와 같이 나타내는데,
x는 input 이미지
w는 CNN 모델의 parameter
Fk는 k번째 proposal feature
ck는 softmax classification score
bk는 Fk의 regression result
θ는 domain classifier parameter
d는 x의 domain label (source는 0, target은 1)
Lc는 cross-entropy loss
⊕는 concatenation 연산자다.

여기에 weighted gradient reversal layer (WGRL)이 적용되는데
이것은 쉽게 confusion을 주는 sample은 약하게
어렵게 confusion을 주는 sample은 강하게 가중치를 주어
domain confusion을 더 잘 달성하도록 한다.

다음 그림을 보면 Easily-confused sample과 Hard-confused sample에 대한
그림이 나와 있다.

위 그림을 보면 domain classifier 기준선에 가까이 있는 sample은
이미 confusion하다고 볼 수 있지만
멀리 떨어져 있는 sample은 confusion하기 어려운 것을 알 수 있다.
그래서 멀리 떨어진 sample에 더욱 큰 가중치를 춰서 GRL을 진행하겠다는 것이다.

위 식은 WGRL 식인데
d는 domain label
p는 source domain에 속하는 이미지의 one proposal 확률
1-p는 target domain에 속하는 이미지의 확률
λ는 하이퍼 파라미터
G는 GRL이 적용되기 전 기울기다.


전반적인 MAF Detector를 보면
먼저 Faster-RCNN에 기반하고 있어서 Detection loss minimization이 이루어 진다.

그리고 위에서 설명한 Lp와 Lm을 통해 Adversarial domain alignment loss를 정의하게 된다.

따라서 최종 loss는 다음과 같다.


이 논문은 backbone network에서 각 block 별로 GRL을 통한
domain adaptation이 이루어 지고
모델의 최상층에서 한번 더 domain adaptation이 이루어 진다.
그 과정에서 SRM을 통해 효율적인 연산이 가능해지고
WGRL을 통해 더욱 효과적인 GRL 연산을 가능하도록 하였다.