반응형
오늘은 DINO이라는 논문에 대해서 리뷰하겠습니다.
본 논문은 DAB-DETR, Deformable-DETR, DN-DETR에 대한 기초 지식을 알고 있다는 전제하에 작성한 글입니다. 따로 해당 논문들에 대해에 대해 정리하겠지만 미리 공부하고 보면 더 도움이 될 것입니다.
세부적인 내용들은 찾아보시는 걸 권장하고 틀린 부분이 있으면 언제든 댓글로 말씀해주시면 수정하겠습니다.
Github : https://github.com/IDEA-Research/DINO
Paper : https://arxiv.org/abs/2203.03605
Abstract
- 본 논문에서는 기존의 DETR(정확히는 Deformable DETR) 모델을 기반으로 한 객체 검출 성능 향상 방법을 제안
- 향상된 디노이징(denoising) 앵커 박스 기법을 도입하여 정확도를 개선
- DN-DETR에서보다 더 좋은 방법의 디노이징 방법을 씀
- 모델의 훈련 및 추론 과정에서 효율적인 앵커 박스 제안을 통해 잡음을 줄이고, 객체 검출 성능을 향상
Introduction
- DETR(Deformable Transformer)은 객체 탐지 분야에서 혁신적인 접근 방식
- 기존의 CNN 기반 객체 탐지 모델들과 달리, DETR은 Transformer를 이용해 객체 검출을 직접적으로 수행 (End-to-End)
- 치명적인 단점 : 느림
- 본 논문에서는 향상된 디노이징 앵커 박스 기법을 도입하여 이러한 문제를 해결하려 함
- 방법론 (뒤에서 자세하게 설명)
- Contrastive Denoising Training
- Ground truth 양성 샘플과 음성 샘플을 동시에 추가하여 대조적인 디노이징 훈련을 수행.
- 같은 GT 박스에 두 가지 다른 노이즈를 추가해, 작은 노이즈가 있는 박스를 양성으로, 다른 노이즈는 음성으로 표시.
- Mixed Query Selection
- 인코더 출력에서 초기 앵커 박스를 positional query로 선택해, 다양한 쿼리 유형을 혼합하여 쿼리를 더 잘 초기화
- Look-Forward-Twice
- 뒷 레이어에서 정제된 박스 정보를 사용해 앞 레이어의 파라미터를 개선, 뒷 레이어에서 업데이트된 매개변수를 이용해 두 번의 전진 패스를 수행.
- Contrastive Denoising Training
DINO: DETR with Improved DeNoising Anchor Boxes
Preliminaries
- Conditional-DETR (이건 논문에는 없는데 그냥 정리했음)
- 객체 공간(위치)을 학습할 수 있는 Embedding을 만들어서(즉, Condition) , 이 Content Embedding과 따로 학습시키고, Decoder Layer 중간 중간에 적절하게 주입
- 2D 앵커 박스 (x,y) 사용
- DAB-DETR
- 쿼리는 두 부분으로 나뉨: 위치 파트(훈련 가능한 쿼리)와 콘텐츠 파트(디코더 임베딩).
- 4D 앵커 박스 (x,y,w,h) 사용
- 앵커 박스는 계층별로 동적으로 업데이트됨
- DN-DETR (https://ainotes.tistory.com/10)
- 초기 훈련에서 모호한 이분 매칭이 수렴을 느리게 한다는 문제를 발견
- 노이즈가 섞인 GT 박스를 추가로 훈련하여 디노이징 기법을 통해 훈련을 가속화
- Deformable DETR (https://ainotes.tistory.com/8)
- Deformable attention을 도입해 기준점 주변의 중요한 샘플링 포인트에 집중 = Deformable Attention
- 인코더 출력과 reference point(box?)를 디코더 입력으로 사용
- 쿼리 선택 및 두 디코더 계층 사이의 gradient 분리 설계를 통해 반복적인 경계 상자 개선을 가능하게 함
Model Overview
- 이미지가 주어지면, ResNet이나 Swin Transformer와 같은 백본을 사용하여 다중 스케일 특징을 추출한 후, 이를 해당 positional embeddings과 함께 Transformer 인코더에 입력
- mixed query selection strategy
- 디코더의 positional query로 앵커를 초기화하기 위해
- content query를 초기화하지 않고, 학습 가능하게 남겨둠
- Deformable Attention
- 인코더 출력의 특징을 결합하고 query를 층별로(layer-by-layer) 업데이트
- Contrastive DeNoising Training
- taking into account hard negative samples
- look forward twice
- later layers의 정제된 박스 정보를 활용하여 인접 early layer의 매개변수를 최적화하기 위해, adjacent(인접) layers 간의 그라디언트를 전달
Contrastive DeNoising Training
- 노이즈 제거 훈련은 근처에 물체가 없는 앵커에 대해서는 "물체가 없다"고 예측하는 기능이 부족함. 특히 객체가 겹쳐있을 때도 마찬가지
- 그래서 본 논문은 contrastive denoising(CDN)을 제안
- 필자 생각
- Anchor Based 기법에 비하여 DETR에서는 오브젝트 쿼리의 개수를 작게(100개 이내)로 설정하므로, 상대적으로 배경에 대한 학습 횟수가 적어진다. 따라서 예측 기능이 부족하다 라고 주장하는게 아닐지.
- CDN이란?
- Positive Query(P.Q)와 Negative Query(N.Q)를 생성하여 디코더에 입력하는 기법
- P.Q
- 객체의 실제 Ground Truth Bbox가 포함된 이미지 영역
- N.Q
- 그 외의 배경 영역
- CDN 동작 방식
- 객체가 n개일 경우, 2*n개의 Noise 쿼리(샘플)을 생성하는데, 이 과정에서 객체가 겹치는 상황에 대처가 가능
- 같은 GT 박스에 대해 양성 샘플에는 적은 노이즈 λ1을, 음성 샘플에는 큰 노이즈 λ2를 추가
- 음성 샘플은 "객체 없음"을 예측하도록 훈련
- Positive Query에는 GIOU Loss가 적용되고, Negative Query에서는 Focal Loss가 적용
- 한 줄 정리
- Noise 샘플 쿼리에 대한 객체 존재 여부를 분류하고, bbox 중심 좌표를 다시 예측하면서 Denoising을 수행
- Noise 샘플 쿼리에 대한 객체 존재 여부를 분류하고, bbox 중심 좌표를 다시 예측하면서 Denoising을 수행
Mixed Query Selection
- DETR/ DN-DETR/DAB-DETR
- 디코더의 query는 그림(a)와 같이 인코더 feature를 가져오지 않는 static(정적) 임베딩
- Deformable DETR
- Pure Query Selection이 있는데, (b)처럼 선택된 인코더 feature에 의해 content 쿼리와 위치 쿼리가 모두 생성 - 동적 임베딩
- 전부 쿼리 선정(Query Selection)이 이루어지기 때문에 이미지 특성 정보가 소실될 수 있음
- DINO
- 다른 점은 positional query만 초기화하고 content query(디코더 임베딩)는 학습할 수 있도록 유지 - 혼합 쿼리
- 왜 좋을까?
- selected features(positional query)는 더 이상의 개선이 없는 preliminary content features (예비 콘텐츠 특징)이므로, 그것들은 모호함
- 예를 들어, selected feature는 수의 객체를 포함하거나 객체의 일부일 수 있음
- 대조적으로, 본 논문의 방식은 상위 K개의 선택된 기능으로 positional query만 향상시키고 Content query를 이전과 같이 학습 가능하게 유지
- 모델이 더 나은 위치 정보를 사용하여 인코더로부터 더 포괄적인 콘텐츠 특징을 풀링하는 데 도움 → 인코더에 종속되지 않겠다라는 뜻으로 해석
- selected features(positional query)는 더 이상의 개선이 없는 preliminary content features (예비 콘텐츠 특징)이므로, 그것들은 모호함
Look Forward Twice(LFT)
- Deformable DETR (그림 a)
- optical flow estimation에서 영감을 얻어 훈련 안정화를 위해 gradient 역전파를 차단하고 각 디코더 계층에서의 Auxiliary loss(보조 손실)만을 기준으로 업데이트 하는 반복 경계 상자 개선 메커니즘을 사용
- DINO (그림 b)
- 뒷 레이어에서 개선된 박스 정보가 앞 레이어에서의 박스 예측을 수정하는 데도 도움을 줄 수 있음
Experiments와 Conclusion은 실험 결과 및 토의 부분이기 때문에 따로 적지는 않았습니다.
반응형
'Machine Learning > Image' 카테고리의 다른 글
DEER: Detection-agnostic End-to-End Recognizer for Scene Text Spotting (4) | 2024.07.23 |
---|---|
Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection (0) | 2024.07.12 |
DAB-DETR: Dynamic Anchor Boxes are Better Queries for DETR (1) | 2024.07.05 |
DN-DETR: Accelerate DETR Training by Introducing Query DeNoising (0) | 2024.06.17 |
Deformable DETR (1) | 2024.06.13 |