본문 바로가기
Paper/Segmentation

[논문리뷰]Mask DINO : Towards A Unified Transformer-based Framework for Object Detection and Segmentation (작성중)

by 띰쥬 2023. 6. 20.
728x90
반응형
SMALL

https://arxiv.org/pdf/2206.02777.pdf

0. Abstract

  • Mask DINO는 Object Detection과 Segmentation을 통합하는 framework다.
  • 기존 DINO에 segmentation task를 할수 있게 한 모델이다.
  • set of binary mask 형태로 예측하기 위해 high-resolution pixel embedding를 dotproduct(스칼라곱)하는 DINO의 query embeddings를 사용한다.
  • DINO에서 몇몇 key components들은 공유되는 architecture와 train process를 통해서 Segmentation으로 확장되었다.
  • Mask DINO는 simple, efficient, scalable 세단어로 형용할 수 있다.
  • Mask DINO는 large-scale의 dataset으로 부터 이익을 얻을 수 있다.(이건 어떤 모델이든 다 그렇지 않나? 큰크기의 이미지를 입력으로 사용할수 있다는 의미인가?)
  • 실험을 통해서 Mask DINO가 존재하는 모든 Segmentation 방법들보다 뛰어난 성능을 보이는 것을 확인했다.(Case of ResNet 50, SwinL Backbone)

 

1. Instroduction

  • Object Detection과 Segmentation은 Computer Vision에서 중요한 Task이다.
  • 두 Task 모두 이미지에서 객체들이 집중될 위치를 고려하지만 다른 level의 focus를 갖는다.
  • Object Detection은 object에 흥미를 가지며, bbox와 category를 예측한다.
  • 반면, segmentation은 pixel level을 grouping하는 것에 focus를 가진다.
  • segmentation은 instance, panoptic, sementic segmentation과 같은 task를 포함한다.
  • 집중할 만한 진보는 RCNN과 같은 classical CNN기반의 알고리즘으로 얻어졌으며, 이 알고리즘들은  개념적으로는 간단하고 효과적이지만 다른 task에 적용되기 위해 재구성 되었다.
  • 다른 Task들을 통합하고 하는 의욕이 더 나은 방법을 나오게 했다.
  • Task 통합은 알고리즘을 간단하게 하는데 도움을 줄뿐만 아니라, multi task에서의 성능 개선을 이끈다.
  • 최근의 Transformer에 기반하여 성장한 DETR과 같은 모델들은 많은 Object Detection, Segmentation Task에 영감을 주었다.
  • end-to-end object detector로써 DETR은 a set of prediction objectives를 채택했고, hand-crafted module(anchor, NMS)들을 제거했다.
  • DETR이 Object Detection과 Segmentation 둘다 다룸에도 불구하고, Segmentation 성능은 여전히 기존의 모델들에 못미친다.
  • Transformer에 기반한 Detection과 Segmentation 성능을 높이기 위해서, 연구자들은 모든 모델을 특별하게 만들어왔다.
  • Object Detection 성능을 향상시키기 위한 노력 가운데, DINO는 동적인 anchor box 형성과 query denosing 학습에서 이점을 얻었다.
  • 비슷하게 Segmentation 성능을 향상 시키기 위해서, MaskFormer와 Mask2Former는 query 가 기반된 Transformer를 사용하는 서로다른 segmentation Task들을 통합할 것을 제안한다.
  • 하지만, Tranformer에 기반하는 모델들 중 좋은 성능을 내는 Object Detection, Segmentation 모델들은 detection과 data coorporation을 방해하기 때문에 통합되지 않았다.
  • 위에 대한 증거로, 통합하지 않은 Mask RCNN, HTC와 같은 CNN기반의 모델들이 더 좋은 성능을 내고 있다.
  • Detection과 Segmentation이 서로 Tranformer기반으로 통합된 architecture에서 도움이 될 수 있다고 믿지만, DINO를 Segmentation에 사용하고, Mask2Former를 Object Detection에 사용하는 것이 서로다른 Task를 할 수 없는것을 Table1,2를 통해 보여준다. 

Table 1, 2

  • 또한,  사소한 multi-task 학습은 original task에 악영향을 줄수 있다.
  • 이때, 자연스럽게 두가지 질문을 할 수있다.
    • Tranformer 기반의 모델들은 왜 서로 다른 Task에 도움이 되지 않는지?
    • Sepecialized Ones로 대체해서 통합된 Architecture를 발전시킬 수는 없는지? (Sepecialized Ones가 말하는게 좋은 성능을 내었던 모델들이 아닌가라고 추측...)
  • 위와 같은 문제를 해결하기위해 Mask DINO를 제안한다.
  • Mask DINO는 box prediction과 mask prediction을 동시에 수행한다.
  • Mask DINO는 mask classification을 수행하기 위해 query embeddings를 재사용한다.
  • mask branch는 content query embeddings를 dot-product(스칼라곱)하여 binary mask들을 예측한다.
  • DINO가 region-level detection model이기 때문에, pixel-level 방법으로는 설계되어 있지 않다.
  • detection과 segmentation 사이에서의 feature들은 더 잘 정렬하기 위해 Mask DINO는 Segmentation에 속도를 더해줄 3가지 Key Components를 제안한다.
    1. Unified and Enhanced Query Selection
      • mask를 예측하는 것을 우선시 하기위해, encoder dence를 활용한다.
      • pixel-level segmentation이 초기 단계에서 학습하기 더 쉽기 때문에, box들을 더 잘 찾기 위해 mask들을 사용하는 것을 제안한다. -> task coorporation
    2. Unified Denoising Training
      • Segmentation 학습을 가속화 한다.
    3. Hybrid Biparitite matching
      • 더 정확하고 일관된 matching을 가능하게 한다.
  • Mask DINO는 DINO Framework를 기반으로 간단하고 쉽게 구현된다. (DINO가 간단하지가 않은데...)
  • 요약하자면 본논문의 Contribution은 3가지 이다.
    1. Object Detection, Segmentation 둘 다를  위해 Transformer 기반의 통합된 framework를 개발한다. DINO로 부터 확장된 Framework로써, mask branch를 더하며 자연스럽게 대부분의 DINO 알고리즘을 계승한다.
    2. Detection과 segmentation은 서로 도움이 될 수 있다는 것을 입증한다.
    3. 통합된 framework를 통해, Segmentation이 Large-scale dataset을 pre-training한 detection으로 부터 이익을 얻을 수 있다는 것을 보여준다.

 

3. Mask DINO

  • Mask DINO는 DINO의 확장판이다.
  • content query embeddings의 가장 위에서 DINO는 box prediction과 label prediction 두 가지 branch를 갖는다.
  • box들은 동적으로 업데이트 되고, 각 Transformer decoder에서 deformable attention을 가이드할 때 사용된다.
  • Mask DINO는 mask prediction을 위해, 또다른 branch를 더하며, segmentation task에 맞게 detection에서의 몇몇의 key components를 확장하여 사용한다.

Figure 1. Mask DINO Architecture

3.1 Preliminaries : DINO

  • DINO는 전형적인 DETR과 같은 모델이며, backbone, Transformer encoder, Transformer decoder로 구성된다.
  • Figure 1의 하늘색 바탕 부분에 해당한다.
  • DINO는 DETR의 각 위치의 query를 4D anchor로 형성하며, 이는 동적으로 각 decoder 층을 통해 업데이트 된다.
  • DINO는 deformable attention과 함께 multi-scale feature들을 사용한다.
  • 그러므로, 업데이트된 anchor box들은 sparse and soft way(?) 방식으로 deformable attention을 억제하곤한다.
  • DINO는 denoising training을 채택하고 training convergence(학습 수렴)을 가속화 하기 위해 대조적인 denoising을 개발한다.
  • DINO는 decoder에서 positional query을 초기화 하기 위해, mixed query selection scheme(계획)을 제안한다.
  • 또한, box gradient back-propagation을 향상시키기 위해 look-foward-twice 방법을 제안한다.

3.2 Why a universal model has not replaced the specialized models in DETR-like models?

  • 눈에 띄는 성능 향상은 Transformer 기반의 detector와 Segmentation model로 부터 얻어왔다.
  • 예를 들어, DINO와 Mask2Former는 각각 coco와 panoptic에서 좋은 결과를 내었다.
  • 이러한 성장에 영감을 받아, 단순히 이 모델들을 각 task로 확장하는 것을 시도했지만 실패했다. (Table1, 2)
  • 사소한 multi-task training은 심지어 원래의 task에 악영향을 준다.
  • 그러나, convolution기반의 모델들은 detection과 Segmentation의 결합이 성능개선에 도움이 되는것을 보여준다.
  • 예를 들어, detection model + Mask R-CNN 은 랭킹안에 드는 성적을 내었다.
  • Transformer 기반의 detection 모델과의 결합은 여전히 도전과제이다.

What are the differences between specialized detection and segmentation models?

  • Image Segmentation은 pixel-level의 classification task이다.
  • Object Detection은 region-level의 regression task이다.
  • 예를 들어, Mask2Former는 Segmentation mask를 생성하기위해 high-resolution feature map을 dot-product 하기위한 decoder query를 사용한다. DINO는 box들을 regress(?)하기 위해 decoder query를 사용한다.
  • 그러나, Mask2Former에서의 query들은 픽셀당 유사성를 비교해야만 하기 때문에 region-level position에 대해서는 알지 못할 것이다.
  • 대조적으로, DINO는 query들은 pixel-level의 표현과 같은 low-level feature들에 집중하지 않고 위치정보와 high level sementic을 엔코딩한다.

Why cannot Mask2Former do detection well?

  • Mask2Former의 Transformer decoder는 Segmentation을 위해 설계되었으며, 다음과 같은 3가지 이유로 detection에 적합하지 않다.
    1.  Mask2Former의 query들은 위치정보에 우선되어 사용될 수 있는 것을 제외하는 DETR 디자인에 기반한다.
      • 예를들어, content query들이 Transformer encoder로부터의 feature들과 함께 정렬된다면, positional query들은 단지 learnable vector들이다.
      • DETR의 변형을 줄이면서 mask branch를 제거한다면, 향상된 DETR에 비해 열등한 성능을 낸다.
    2. Mask2Former는 Transformer decoder에서 masked attention을 채택한다.
      • 이전의 layer에서 예측된 attention mask들은 고해상도이며 attention 연산에서 hard-constraints(강하게 제약을주는)로써 사용된다.
      • 이것은 box prediction에 효과적이지도 flexible(유연한) 하지도 않다.
    3. Mask2Former는 layer별로 box refinement를 수행할 수 없다.
      • decoder에서의 coarse to fine(거칠고 섬세한) mask refinement는 encoder로부터의 multi-scale feature를 사용하면 실패한다.

Why cannot DETR/DINO do segmentation well?

  • DETR의 Segmentation head를 더한것은 Mask2Former의 segmentation head를 더한것보다 성능이 낮다.
  • Reason
    1. DETR의 segmentation head는 최적이 아니다.
      • DETR은 가장 작은 feature map과 함께 각 query embedding을 dot-product하게 한다.
      • 그리고, mask prediction들을 얻기 위해 upsample한다.
      • 이러한 설계는 query와 backbone으로부터의 더큰 feature map과의 상호작용이 부족하게 한다.
      • DETR의 head는 mask refinement를 위한 mask auxiliary loss로 사용하기에는 무겁다.
    2. 성능이 향상된 Detection model들의 feature들은 segmentation으로 정렬되지 않는다.
      • 예를 들어, DINO는 query formulation, denosing training, query selection과 같은 것을 가진다. 
      • 이러한 요소들은 region-level 정보들을 강화시키기위해 설계되었다.

3.3 Our Method : Mask DINO

  • Mask DINO는 DINO의 Detection architecture 디자인을 채택한다.
  • Trasformer decoder에서 Mask DINO는 segmentation을 위해 mask branch를 더했고, DINO에서의 몇몇 key components를 segmentation task로 확장했다.
  • Figure 1. 에서 빨간 라인으로 이어진 것이 DINO에서 추가된 Mask DINO의 segmentation design부분이다.

3.4 Segmentation Branch

  • Mask DINO는 모든 segmentation task들을 위해 mask classification을 수행한다.
  • DINO는 pixel-level alignment를 위해 설계되지 않았기 때문에, positional query들은 anchor box로 형성되고, component query는 predict box offset 그리고 class membership으로 사용된다.
  • mask classification을 수행하기 위해서 Mask DINO는 backbone으로부터 얻어지는 pixel embedding map과 Transformer encoder feature들을 형성하기 위해 Mask2Former의 key idea를 채택한다.
  • Figure 1.과 같이 pixel embedding map은 backbone으로 부터의 1/4 resolution feature map과 Transformer encoder로부터의 1/8 resolution feature map이 합쳐져 얻어진다.
  • 그후, output mask를 얻기 위해 decoder로부터의 각 content query embedding과 pixel embedding map을 dot-product 연산한다.

3.5 Unified and Enhanced Query Selection

Unified query selection for mask

  • Query Selection(QS)는  detection 성능 향상을 위해 two-stage model들과 DETR과 같은 모델들에 사용되었다.
  • Mask DINO에서는 segmentation task를 향상시키기 위해 사용한다.
  • encoder의 output feature들은 decoder에 더 나은 dense feature들을 포함한다.
  • 그러므로, Mask DINO는 encoder output에서 3개의 prediction head(classification, detection, segmentation)을 채택한다.
  • 3개의 head는 decoder head들과 동일하다.
  • 각 token의 분류 점수는 feature들을 top-rank를 정하기 위한 점수로써 여겨지며, content query들로써 decoder에 전달된다.
  • 선택된 feature들은 box들로 연결되며 mask prediction을 위해 high-resolution map과 함께 dot-product 연산된다.
  • 예측된 box와 mask는 gt값에 의해 관리(?)되고 decoder를 위해 초기 anchor로 여겨진다.
  • content query와 anchor query 모두 초기화한다. (DINO는 anchor query만 초기화한다.)
728x90
반응형
LIST

'Paper > Segmentation' 카테고리의 다른 글

Combo Loss  (0) 2023.06.14
Focal Loss ( 초점 손실 함수 )  (0) 2023.06.13
UNet3+  (0) 2023.06.05
U-Net++  (0) 2023.06.01
U-Net  (0) 2023.06.01

댓글