[OD]DN-DETR: Accelerate DETR Training by Introducing Query DeNoising
[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
-
overview
-
baseline : DAN-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하지 않음에 따라 학습이 느려지는 원인이 된다.
- Hngarian Matching을 2 Step으로 나눠보자
- 왜?
-
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하지 않음