Abstract
Semi-supervised object detection (SSOD)는 방대한 unlabeled data의 도움으로 objetct detector의 training과 deployment를 목표로 합니다. 그렇지만 대부분의 SSOD method들은 anchor-based detector입니다. 실제 real-world application들에서 사용되는 detector은 anchor-free detector가 더 알맞습니다. 이 논문에서는 anchor-free detecor의 SSOD 방법인 "DenSe Learning (DSL)를 제안합니다. 이 방법은 크게 Adaptive Fitering(AF), Aggregated Teacher(AT), 그리고 Uncertainty Consistency를 사용하게 됩니다. 실험에서도 성능이 SSOD에서 SOTA를 기록하였습니다.
Introduction
최근 object detector은 large-scale의 dataset로 인해 많은 발전을 하였습니다. 더 좋은 object detector를 요구와 함께 data를 모으고 annotation를 해야할 필요성이 요구되어집니다. 하지만, 직접 data를 모으고 annotation하는 것은 많은 시간적 비용이 들게되겠죠? 이를 위해, unlabeled data를 활용한 self-supervised learning 또는 semi-supervised learning이 등장하였습니다. 이 논문에서는 semi-supeverised learning을 이용한 object detection method에 대해 focusing하고 있습니다.
현재 state-of-the-art SSOD는 pseudo label를 기반한 Faster-RCNN와 같은 two-stage object detector입니다. 하지만, real-world application으로서는 one-stage anchor-free detector가 선호됩니다. 그 이유는 제한된 resource에서 pre/post processing 없이 효과적으로 deploy하는게 가능하기 때문인데요. FCOS와 같은 Anchor-free detector는 dense feature prediction을 하기에 각 픽셀이 해당 label로 학습되어집니다. 그렇기에 SSOD를 위해서 보다 careful한 guidance가 요구됩니다. 하지만, anchor-free detector에 의한 dense pseudo label를 다루는 문제는 challenge합니다.
이 문제를 다루기 위해 이 논문은 DSL algorithm을 제안하였습니다. 구체적으로는, Adaptive Filtering을 사용해 pseudo-label를 foreground/background/Ignorable region 으로 partition합니다. 그리고 classification에 의한 False Positive를 제거하기 위해 MetaNet을 사용하여 pseudo-label를 refine을 진행합니다. 추가적으로, pseudo-label의 stablity와 quality를 강화하기위해서 Aggregated Teacher(AT)를 제안합니다. 거기다가 SSOD model의 genralization capability를 향상시키기 위해 Uncertainty Consistency를 이용해 regularize를 진행합니다.
Method
이 논문에서 사용하는 anchor-free detector는 FCOS이다. overall loss는 다음과 같습니다.
\(L = L_s + \alpha L_u\).
여기서 \(L_s\), \(L_u\)는 각각 supervised loss, unsupervised loss를 의미한다. \(\alpha\)는 unlabeled data의 기여도를 뜻합니다.
위의 식에 대한 구체적인 설명은 아래의 각파트 설명에서 볼 수 있습니다.
전체적인 method는 아래의 그림과 같습니다.
Adaptive Filtering Strategy
one-stage anchor-free detector인 FCOS의 pixel-wise 학습은 더 정교한 pseudo label을 요구되어집니다. 그래서 FCOS의 pseudo label을 각 픽셀 단위로 할당해야하합니다.
위의 그림은 예측된 결과가 TP+, TP-, BG가 공존해있음을 알 수 있습니다. 만약, 우리가 하나의 threshold로 forground, background를 나눈다면 많은 wrong label들이 생겨날 수 있습니다. 만약에 positive instance를 정의하기 위해 0.4의 상대적으로 높은 threshold를 사용한다면 잘못 background로 label이 할당된 TP+,TP-가 존재할 것입니다. 반대로, background instance를 정의하기 위해 0.1의 낮은 threshold를 사용한다면 잘못 forground로 label이 할당된 background instance가 생겨날 것입니다. 이 두가지 문제점을 보완하기위해 multiple threshold를 정하고 instance를 크게 forground, background, ignorable region의 세개 중 하나로 할당합니다.
여기서 \(p_{h,w}\)는 pixel location (h,w)에서의 예측 score라고 하고, \(\bar{p}^*_{h,w}\)는 대응하는 pseudo label입니다.
그럼, 위의 수식처럼 pseudo label을 이용하여 unsupervised learning loss를 표현할 수 있게 됩니다. 결국, 어떤 fine-grained 와 multi-labels를 가지는 dense pixel에 대해서 위에서 말한 noisy한 pseudo label을 ignorable하도록 multi threshold 방법을 사용하는 것입니다.
MetaNet
AF(Adaptive Filtering)가 pseudo label의 성능을 끌어올렸지만, high confidence를 가지는 classification-false-positive가 여전히 존재합니다. 이 문제점을 다루기 위해 MetaNet을 제안합니다. 이 모델은 Resnet50의 architecture를 가지고 class-wise proxies \(m_k\)를 계산합니다. 이 계산은 DSL 학습전에 모든 label data에 대해서 추론을 합니다. \(m_k\)는 다음과 같습니다.
여기서 \(f_{i, k}\)는 MetaNet을 통과한 k 클래스에 속하는 i번째 instance의 1-D feature vector이고, \(N_{k}\)는 k 클래스의 instance 개수입니다. 이렇게 계산된 class-wise proxies와 pseudo label과의 cosine distance를 compute합니다. cosine distance가 일정 threshold보다 작은 forground instance를 Ignorable Region으로 pseudo label을 대체합니다.
Aggregated Teacher
Pseudo label 기반의 방법에서 pseudo label의 stability와 quality는 최종 성능 향상에 있어서 중요한 요소가 됩니다. 이 문제를 다루기 위해 anchor-based의 method들은 EMA Teacher을 사용해왔습니다. EMA은 일반적으로 다음과 같은 방식으로 나타냅니다.
여기서 \(\epsilon\)은 smooting hyperparameter, t는 iteration, \(\theta\), \(\theta'\)는 student, teater 모델의 parameters를 말합니다.
EMA의 목적은 stuents와 앙상블을 통해 stable, powerful한 teacher 모델을 업데이트 하는 것입니다. 하지만, 이 방법은 위의 식처럼 다른 iteration에서 같은 layer끼리 aggregation하지만, layer간의 correlation은 고려하지 않습니다. 그래서 이 논문에서는 time과 layer을 고려하여 aggregation하는 방식인 Aggregated Teacher(AT)를 제안합니다.
위그림처럼, layer간의 aggregation을 위해서 recurrent layer mechanism을 활용하였습니다.
Uncertainty Consistency
앞선 AF, MetaNet 그리고 AT의 방법들을 적용하여 \(L_u\) loss로 SSOD model를 학습시켜 dense-pixel-wise pseudo label를 얻을 수 있습니다. 마지막으로 SSOD 모델의 generalization capability를 향상시키기위해 unlabeled image에 uncertainty consistency를 활용해 regularize합니다.
위의 그림을 참고하면, 입력은 Strong&Patch Augmented image (\(U_{sp}\))와 대응하는 Down-sampled image(\(U_d\))로 구성됩니다. 두 이미지가 detector에 입력되어, 다른 scale level에서 dense score map들을 생성하게 됩니다.
SSOD의 generalization performance를 향상시키기위해 다음의 regularization loss를 사용합니다.
노란 박스에 그림에 보이듯이, 같은 scale의 dense score map끼리 cosistent하다는 제약을 주어 학습을 진행합니다.
Experiment
Dataset
Dataset은 object detector benchmark인 MS-COCO, PASCAL-VOC를 사용하였습니다.
Implementation Details
Baseline model로써 anchor-free detector인 FCOS를 사용하였고 backbone은 ResNet 50, neck은 FPN 그리고 dense head로 구성됩니다.
Comparison with SOTA
labeled data를 다른 비율로 사용했을 때, anchor-based detector와 anchor-free detecor를 비교하였을 때 comparable하다는 것을 알 수 있습니다. 그리고 본 논문의 제안 방법을 적용했을 때, 가장 높은 성능을 보여준다는 것을 보여줍니다.
아래의 표는 하나의 dataset을 labeled data를 학습에 다 사용하고 남은 datas에 대해 semi-supervised learning을 적용한 결과입니다.
성능이 향상된 비율을 확인해보면 가장 높은 폭으로 좋아진 것을 확인 할 수 있습니다.
이 결과는 superivesd baseline에서 unlabeled data에 대해 제안 방법을 적용하였을 때 성능 향상을 보여주고 다른 SSOD 방법중에서 SOTA임을 보여줍니다.
Ablation Study
아래의표는 MS-COCO의 10%의 labeled data를 사용했을 때는 baseline(supervised method)에 대해 제안된 각 component를 적용시켰을 때의 성능을 보여줍니다. 놀라운 점은 AF하나만 적용했을 때, table 1의 SOTA method의 성능을 능가합니다. 그리고 차례대로 component들을 적용시킴에 따라 성능이 점진적으로 증가함을 보여줍니다.
Adaptive Filtering, Aggregation Teacher 그리고 \(L_{scale}\)이 가장 큰 기여도를 보여준 거 같습니다. 개인적인 의견으로서느 Adaptive Filtering은 애매한 pseudo label에 대해서 무시하는 방식이지만 unlabled data의 distribution에 따라 크게 영향을 끼치는 요소라고 생각되어집니다. 그래서 ignorable region을 정의할 때 correlation이 있는 feature을 사용할 수 있을 거라고 기대됩니다.
그리고 scale variance에 대한 predefined anchor의 도움 없이 FPN의 dense head는 scaling issue를 handling 하는 anchor-free detecor에 많이 사용되어집니다. 그래서 \(L_{scale}\)은 SSOD의 default trick로 사용하기에 좋다고 생각합니다.
Conclusion
이번 논문은 Semi-Supervised Object Detector 가운데 anchor-free detector의 semi-supervised learning method인 DSL algorithm을 제안하여서 SOTA를 찍었습니다. 이는 실제 object detector를 real-world application으로 사용하는 곳에 활용될 방법으로 기대되어 집니다.