eehoeskrap / PaperReview

꾸준희의 꾸준하게 논문 읽기 프로젝트 ✨
8 stars 0 forks source link

NMS Strikes Back #6

Open eehoeskrap opened 1 year ago

eehoeskrap commented 1 year ago

Paper : https://arxiv.org/pdf/2212.06137.pdf GitHub : https://github.com/jozhang97/DETA

Introduction

오늘 읽어볼 논문은 2022년 12월 쯤 나온 NMS Strikes Back 라는 논문입니다. Object Detection 모델 중 DETR(Detection Transformer)라는 논문이 있는데, 이 논문에서 나온 one-to-one Hungarian matching 방법과 NMS(Non-Maximum Supervision)가 있는 기존 Detector의 one-to-many label assignment 방법을 이 논문에서 비교합니다. 이러한 one-to-many assignments with NMS 방법은 기존 방식보다 최대 2.5 mAP 정도 이득을 얻는다고 합니다.

아래 그림을 보면 왼쪽은 DETR의 Bipartite matching 방법이고, 오른쪽은 이 논문에서 제안한 기존 IoU assignment 방법입니다. DETR의 방법 같은 경우 일치하는 loss가 최소화 되는 하나의 모델 예측을 하나의 GT 객체에 일치시킵니다. 오른쪽 방식은 IoU가 높은 여러개의 anchor 또는 proposal 들을 GT 객체에 할당시킵니다. 이러한 Multiple positive label은 training signal을 풍부하게 한다고 하네요!

IoU assignment in transformer detectors

First stage assignments

DETA는 DETR의 식1 assignment procedure을 변경합니다. 여기서 multiple output $i와 j$가 같은 GT에 할당되도록 허용하게 됩니다. DETA는 Deformable-DETR 구조에서 파생된 fixed initial query feature를 사용합니다. 각 query $i$는 이미지 내의 특정 위치 $(x_i, y_i)$에 고정됩니다. 그러나 proposal에는 box overlap metric에 필요한 natural width and height가 존재합니다. 그래서 본 논문에서는 constant box size를 $w_i = 0.1 \times 2^{-l_i} \times W$과 $h_i = 0.1 \times 2^{-l_i} \times H$를 사용합니다. 여기서 $l_i \in$ {0, ..., 3}는 feature resolution 입니다. 여기서 inital box definition $b_i^{init}$은 다음과 같습니다.

또한 본 논문에서 positional embedding 및 overlap-based assignment process에 이러한 inital boxes를 사용하게 됩니다. 겹치는 부분이 threshold 보다 클 경우 각 예측을 가장 많이 겹치는 GT object에 할당하게 됩니다. training 시작 시 GT object는 때때로 threshold와 겹치는 예측을 갖지않습니다. object를 일치하지 않는 상태로 유지하든 가장 가까운 예측에 할당하든 차이가 없으므로 본 논문에서는 후자를 가정한다고 하네요. anchor $i$ 는 아래 조건을 만나게 되면 object $k$에서 가장 가깝게됩니다.

assignment procedure은 다음과 같습니다.

Second stage assignments

second stage assignment는 first stage를 따르게 되며, fixed initial boxes $b^{init}$ set을 사용하는 대신 first stage $b^{prop}$의 출력을 사용하여 equivalent assignment $\sigma^{prop}_i $을 정의하게 됩니다. 또한 동일한 loss를 사용하여 학습하며, Faster RCNN에 따라 hyper-parameter $\gamma $를 사용하여 foreground object의 비율의 균형을 맞춥니다. 즉 positive query의 수가 $N \times \gamma $보다 크면 무작위로 $N \times \gamma $개의 positive query를 샘플링합니다. 여기서 더 많은 positive query를 위해 threshold를 0.6으로 설정합니다.

Object Balancing

각 GT object에 대해 항상 하나의 예측이 있는 one-to-one mapping과는 달리 본 논문의 IoU assignment는 GT object에 대해 여러개의 예측을 할당 할 수 있습니다. 더 큰 object는 더 작은 object 보다 더 많이 겹치는 예측이 나올 가능성이 높습니다. 이러한 불균형은 성능을 저하시키기 때문에 GT에 대해 대부분 positive assignment를 샘플링하는 간단한 object-balancing technique를 제안합니다. $ \mu_k^n$은 주석 k개에 대한 가장 높은 IoU라고 하고, $\mu_k^n = max(\tau , \mu_k^n) $를 새로운 dynamic threshold라고 합니다. 아래와 같습니다.

Experiments

본 논문에서는 ResNet50 backbone을 사용하여 COCO 및 LVIS validation에 대한 AP를 측정했습니다.

image

다른 논문들과 비교한 결과는 아래와 같습니다.

image

정성평가 결과는 다음과 같습니다. 확실히 DETA 방식이 성능이 좋은거 같네용

image

full version : https://eehoeskrap.tistory.com/691