2 minute read

[OD]DN-DETR: Accelerate DETR Training by Introducing Query DeNoising

  • paper: https://arxiv.org/abs/2203.01305
  • github: https://github.com/IDEA-Research/DN-DETR
  • CVPR 2022 accepted (인용수: 291회, ‘23.12.25 기준)
  • downstream task: OD

1. Motivation

  • DETR의 bipartite graph matching이 학습 초기에 instable하기 때문에 학습 속도가 (다른 CNN계열 OD에 비해) 느리다는 것을 발견함

    • Grount Truth bbox의 noisy label을 추가한 후, reconstruction하는 학습을 통해 biparteite matching을 bipassing하는 denoising 방식을 채택해보자!

2. Contribution

  • DETR의 학습 속도가 느린 이유에 대한 새로운 접근방법을 제시하함
  • 학습 속도와 성능 모두 향상시키는 Query denoising task라는 새로운 DETR training 방식을 제안함
  • Noise level, Label embedding, Attention mask 등 hyper-parameter 에 따른 ablation study 진행
  • Faster-RCNN, Semantic segmentation model 등에도 Denoising 학습 방식이 범용적으로 유용함을 입증

3. DN-DETR

3.1 왜 Denoising task가 DETR 학습을 가속시킬까?

  • Hungarian Matching을 안정화 시킴

    • 초기 학습 시, gt bbox와 Hungarian Matching되는 query object가 바뀌는 경향이 생긴다.

      • 왜?
        • Hngarian Matching을 2 Step으로 나눠보자
          • “good anchor”를 학습하는 단계
          • anchor와 “relative offset”을 학습하는 단계
        • matching되는 query가 바뀐단 얘기는 1단계의 good anchor가 변화한다는 얘기고, 이는 offset을 학습한 것이 inconsistent하지 않음에 따라 학습이 느려지는 원인이 된다.
    • DN-DETR의 경우, GT bbox에 대해 noise를 가미함으로써 1단계 “good anchor”를 만들어 낸다. 또, denoise를 위한 reconstruction loss를 학습함으로써 offset을 학습하게 한다.

    • Matching Instability를 정량화하는 Inconsistent Stability (IS) metric을 제안

      • $T_m$: m번째 Ground Truth object
      • $O_n^i$: i번째 epoch일 때 Transformer decoder의 n번째 predicted output
      • $V_n^i$: i번째 epoch일 때 n번째 Transformer decoder의 index vector

      • baseline (DAB-DETR)에 비해 consistent matching으로 offset이 잘 학습되고 있음을 보임

      • baseline (DAB-DETR)에 비해 good-anchor임을 보임

  • Query로 하여금 더욱 local한 영역만 학습하도록 유도함object query가 GT box와 인접한 영역에 대해서만 학습하도록 설계함으로써, object query가 search해야 하는

    • 영역을 축소시켜줌

  • DN-DETR

    • $D$: Decoder
    • q: decoder의 query중 denoising part
    • Q: decoder의 query중 matching part
    • F: Tranformer의 encoder를 통과한 refined image feature
    • A: Attention mask
  • DN-DETR vs. DAB-DETR

    • Indicator : 0 (=denoising query), 1 (=matching query)

    • Class label embedding: label denoising과 box denoising 을 수행하는 query

      • label denoising

        • label flipping을 적용
      • box denoising

        • center

          • center point가 GT box내부에 위치하도록 noise를 제한함

            \[|\Delta x| < \frac{\lambda_1w}{2}, |\Delta y| < \frac{\lambda_1h}{2}\]
        • shape

  • Attention Mask

    • Denoising query의 정보가 Mathcing query에게 흘러가지 않도록 attention mask를 설계함

    • 또한, 서로 다룬 group간의 denoising query끼리도 정보가 흘러가지 않도록 attention mask를 설계함

4. Experiments

  • MS-COCO

  • 1x Setting

  • 다른 OD structure에 DN 적용한 실험

  • Best Result w/ Res50

  • 학습 Curve 비교

  • Ablation Study

  • Group갯수에 따른 실험

  • $\lambda_1, \lambda_2$에 따른 실험

  • 다양한 DETR structure에 DN 적용한 실험

  • 학습 시간 (Wall-Time) 비교 실험

  • Open Vocabulary OD 실험

    • Matching Query : UnKnown objects
    • Denoisying Query : Knwn objects
    • 단, Denoisying Query $\to$ Matching Query로 정보가 흘러가도록 Attention mask를 blocking하지 않음

Updated: