2 minute read

[OD] CoDETR: DETRs with Collaborative Hybrid Assignments Training

  • paper: https://arxiv.org/abs/2211.12860
  • git: https://github.com/Sense-X/Co-DETR
  • Published: ICCV 2023 - 11.23 기준 35회 인용
    • 22년 11월에 arxiv 등록, ICCV 2023 3월 제출

Introduction

Problems of previous works and motivation

  • 기존의 DETR methods 는 few queries 들만 positive samples 에 할당됨 → 학습에 안좋은 영향
  • one-to-one matching 이 갖고 있는 문제를 해결하기 위한 방법론들을 제안
    • one-to-many matching 을 사용하는 다양한 detector head를 사용하는 구조 제안
  • Collaborative hybrid assignments training scheme 을 제안
    • 기존의 one-to-one matching
    • one-to-many matching detector 들의 다양한 head 사용 (training 과정에만)

  • 기존의 다른 DETR 방법론들보다 뛰어난 성능을 보여줌

One-to-One Matching Problem

One-to-One matching 의 문제점 분석을 위해서 Discriminability scoreIoF-IoB curve 실험 결과를 보여준다.

  • Discriminability score: Encoder feature를 channel 방향으로 L2-norm

    $F_j \in \mathbb{R}^{C \times H_j \times W_j} \to \hat{F}_j \in \mathbb{R}^{1 \times H_j \times W_j}$

    • Multi scale에 대해 평균한 값

      $D(F) = \frac{1}{J} \sum_{j=1}^J \frac{\hat{F}_j}{max(\hat{F}_j)}$

      • J: Multi scale number

  • IoF-IoB curve

    • IoF - Intersection over foreground

      • Foreground 에 해당하는 부분에서 S 값을 넘는 부분을 masking

        \[M^{fg} \in \mathbb{R}^{H \times W}\]
    • IoB - Intersection over background

      • 왼쪽 - Encoder feature, 오른쪽 - Decoder attention score
      • One-to-One matching 인 DETR 방법들은 One-to-Many matching 방법인 ATSS 보다 떨어지는 것을 보여줌

Proposed Method

Collaborative Hybird Assignments Training

one-to-many matching 을 사용하는 여러 detector 의 head를 사용

  • Multi-scale Adapter
    • Given encoder’s latent features
    • 3 x 3 convolutions 와 stride 2 로 downsampling

  • one-to-many label assignments 학습 loss

    • 각 Detector head 과정을 그대로 사용

      \[L^{enc}=\sum_{i=1}^KL_i^{enc}\]
      • K개의 head에 대해 합

Customized Positive Queries Generation

one-to-many detector 의 head 들에서 얻어지는 proposal 을 통해서 queries 를 생성

  • positive에 해당하는 proposal 들에 대해서만 query를 생성

  • 해당 query를 입력으로 사용해서 decoder 에서 prediction 하고 loss 연산

  • 최종 학습 loss

    • one-to-one matching loss + K개 head 에 대한 decoder loss + K개 head 에 대한 proposal loss

Experiments

  • Implementation details
    • K=1 - ATSS
    • K=2 - ATSS, Faster-RCNN
    • 300 queries
    • {λ1, λ2} - {1.0, 2.0}

  • single scale DETR에 auxiliary head 추가

    • ++ 은 Detrs with hybrid matching 에서 제안하는 방법과 정확한 비교를 위해서 세팅을 맞춰서 진행한 것을 따라한 것

      • Detrs with hybrid matching 논문의 표현
  • MS-COCO Validation

  • LVIS Validation

  • K에 따른 ablation study

    • K가 무작정 많아진다고 성능이 올라가지 않는다 → 저자들은 이부분을 여러 헤드가 붙으면 conflicts 가 난다고 분석

    • 어떤 헤드에선 positive 어떤 헤드에서는 negative

    • Conflicts analysis

      • KL divergence 를 활용해서 분석

        • 각 헤드에 대한 결과를 class activation maps(CAM) 에 대한 KL 결과를 사용 (자세한 서술이 없지만 해당 데이터의 GT class 정보를 활용해서 classification layer 에 붙어 있는 feature 값을 활용했을 것으로 추정)

          • K=1 일때는 원래 detr head 와 비교
          • K>1 일때는 각 head 들끼리 비교하고 평균

  • K=1 Head에 따른 성능 변화 Ablation

    • K=1 에 대한 결과, 어떤 헤드를 사용해도 상관없을 정도의 차이들이다
  • 각 component 들에 대한 ablation study

  • 정성적 분석

    • red point - gt 와 assign 된 query
    • blue points - Faster-RCNN head로 부터 얻어진 positive query
    • orange points - ATSS head로 부터 얻어진 positive query

Conclusions

  • one-to-many 방식의 head 들을 추가해서 hybird 방식으로 학습하는 방법을 제안
  • 추가된 head 에서 얻어진 proposal 을 기반으로 query를 만들고 decoder 를 학습
  • SOTA를 달성

Updated: