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를 통해 보여준다.
- 또한, 사소한 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를 제안한다.
- Unified and Enhanced Query Selection
- mask를 예측하는 것을 우선시 하기위해, encoder dence를 활용한다.
- pixel-level segmentation이 초기 단계에서 학습하기 더 쉽기 때문에, box들을 더 잘 찾기 위해 mask들을 사용하는 것을 제안한다. -> task coorporation
- Unified Denoising Training
- Segmentation 학습을 가속화 한다.
- Hybrid Biparitite matching
- 더 정확하고 일관된 matching을 가능하게 한다.
- Unified and Enhanced Query Selection
- Mask DINO는 DINO Framework를 기반으로 간단하고 쉽게 구현된다. (DINO가 간단하지가 않은데...)
- 요약하자면 본논문의 Contribution은 3가지 이다.
- Object Detection, Segmentation 둘 다를 위해 Transformer 기반의 통합된 framework를 개발한다. DINO로 부터 확장된 Framework로써, mask branch를 더하며 자연스럽게 대부분의 DINO 알고리즘을 계승한다.
- Detection과 segmentation은 서로 도움이 될 수 있다는 것을 입증한다.
- 통합된 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를 확장하여 사용한다.
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에 적합하지 않다.
- Mask2Former의 query들은 위치정보에 우선되어 사용될 수 있는 것을 제외하는 DETR 디자인에 기반한다.
- 예를들어, content query들이 Transformer encoder로부터의 feature들과 함께 정렬된다면, positional query들은 단지 learnable vector들이다.
- DETR의 변형을 줄이면서 mask branch를 제거한다면, 향상된 DETR에 비해 열등한 성능을 낸다.
- Mask2Former는 Transformer decoder에서 masked attention을 채택한다.
- 이전의 layer에서 예측된 attention mask들은 고해상도이며 attention 연산에서 hard-constraints(강하게 제약을주는)로써 사용된다.
- 이것은 box prediction에 효과적이지도 flexible(유연한) 하지도 않다.
- Mask2Former는 layer별로 box refinement를 수행할 수 없다.
- decoder에서의 coarse to fine(거칠고 섬세한) mask refinement는 encoder로부터의 multi-scale feature를 사용하면 실패한다.
- Mask2Former의 query들은 위치정보에 우선되어 사용될 수 있는 것을 제외하는 DETR 디자인에 기반한다.
Why cannot DETR/DINO do segmentation well?
- DETR의 Segmentation head를 더한것은 Mask2Former의 segmentation head를 더한것보다 성능이 낮다.
- Reason
- DETR의 segmentation head는 최적이 아니다.
- DETR은 가장 작은 feature map과 함께 각 query embedding을 dot-product하게 한다.
- 그리고, mask prediction들을 얻기 위해 upsample한다.
- 이러한 설계는 query와 backbone으로부터의 더큰 feature map과의 상호작용이 부족하게 한다.
- DETR의 head는 mask refinement를 위한 mask auxiliary loss로 사용하기에는 무겁다.
- 성능이 향상된 Detection model들의 feature들은 segmentation으로 정렬되지 않는다.
- 예를 들어, DINO는 query formulation, denosing training, query selection과 같은 것을 가진다.
- 이러한 요소들은 region-level 정보들을 강화시키기위해 설계되었다.
- DETR의 segmentation head는 최적이 아니다.
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 |
댓글