본문 바로가기

논문 리뷰/Vision Transformer

Mask DINO: Towards A Unified Transformer-based Framework for Object Detection and Segmentation 논문 리뷰

Detection 모델인 DINO를 segmentation까지 확장해 다양한 작업을 지원하는 통합 모델 Mask DINO를 제안하였다.

 

Github

Arxiv

 

 

 

Abstract

본 논문에서는 통합 object detection 및 segmentation 프레임워크인 Mask DINO를 제안한다. Mask DINO는 모든 이미지 segmentation 작업(semantic, instance, panoptic)을 지원하는 마스크 예측 분기를 추가하여 DINO를 확장한다. 실험은 Mask DINO가 기존의 모든 전문적인 segmentation 방법들을 크게 능가한다는 것을 보여준다.

 

 

 

Introduction

본 논문의 기여는 다음과 같다.

  • Anchor box-guided cross attention, 쿼리 선택, denoising training, 대규모 데이터 세트에 대해 사전 훈련된 더 나은 표현 등 DINO의 개선을 자연스럽게 계승하며 object detection 및 segmentation 위한 통합 프레임워크를 개발한다.
  • Detection 및 segmentation이 공유 아키텍처 설계 및 훈련 방법을 통해 서로에게 도움이 될 수 있음을 보여준다.
  • 통합 프레임워크를 통해 segmentation 작업이 대규모 detection 데이터 세트에 대한 사전 훈련의 이점을 얻을 수 있음을 보여준다. 

 

이미 요약이지만 요약하자면 object detection 및 segmentation 작업은 서로에게 도움이 될 수 있으며, 이 개념을 DINO에 적용해 통합 프레임워크를 만들었다.

 

 

 

Related Work

DETR

Deformable DETR

DAB-DETR

DN-DETR

DINO : 위 모델을 모두 결합한 것이 DINO이다.

Mask2Former

 

 

 

Mask DINO

Preliminaries: DINO

파란 박스가 DINO의 아키텍처이고, 빨간 부분이 Mask DINO에서 도입된 부분이다. (DINO의 아키텍처와 거의 같고, 이 논문 자체의 내용은 매우 짧기 때문에, detection에 관심이 있다면 DETR 개선 시리즈를 다 읽고 보는 것이 좋다.)

 

Why a universal model has not replaced the specialized models?

DINO와 Mask2Former는 각각 COCO detection과 panoptic segmentation에서 SOTA를 달성했다. 연구진은 이러한 전문 모델을 단순히 확장하려고 했지만, 다른 작업에서의 성능이 크게 떨어진다는 것을 발견했다. 그러나 컨볼루션 기반 모델에서는 각각의 작업을 결합하는 데 효과적이고 상호 유익한 것으로 나타났다.

 

따라서 다음과 같은 의문이 생긴다.

  • 왜 transformer 기반 모델에서 detection 및 segmentation 작업이 서로 도움이 되지 못하는가?
  • 전문화 모델을 대체하기 위한 통합 아키텍처를 개발할 수 있는가?

 

 

Mask2Former가 detection에서 좋은 성능을 내지 못하는가?

  • Conditional DETR, DAB-DETR에서 연구된 것처럼 더 나은 위치 prior를 활용할 수 없는 상태에서 DETR의 설계를 따름
  • Mask attention이 상자 예측에 유연하지 않음
  • Deformable DETR의 계층별 개선과 multi-scale feature를 사용하지 못하는 구조

 

 

왜 DETR/DINO가 segmentation에서 좋은 성능을 내지 못하는가?

  • 쿼리가 큰 feature를 위해 설계되지 않았기 때문에 세밀한 segmentation이 불가능
  • DETR은 각 디코더 계층에서 마스크 보조 손실을 사용할 수 없음
  • 계층별 개선으로 인해 마스크 위치 예측을 다음 계층으로 전달할 수 없음

 

 

The motivation of Mask DINO

일반적으로 detection은 segmentation보다 비교적 쉬운 작업이다. 

 

따라서 상자 예측은 더 의미 있는 영역에 집중하고 마스크 예측을 위한 더 나은 feature를 추출할 수 있다. 

 

또한 DETR 개선 모델들의 다양한 개선사항들이 segmentation에 도움이 될 수 있으며

(a = ground truth, b = Mask2Former의 0번째 디코더 계층의 출력, c = Mask DINO 0번째 출력)

 

경계 상자와 deformable attention의 기준점이 더 나은 segmentation 결과를 유도한다.

(경계 상자와 기준점에 따른 마스크 차이)

 

 

Mask DINO

Segmentation branch

DINO는 픽셀 수준의 정렬을 할 수 없다. 따라서 Mask2Former의 아이디어를 채택하여 위의 그림과 같이 백본 및 인코더에서 얻은 feature를 이용해 픽셀 임베딩 맵을 만든 후 디코더 출력과 내적하여 최종 출력을 얻는다.

 

Unified query selection for mask

Mask DINO의 인코더는 디코더와 똑같이 3가지 예측 헤드가 있으며 출력은 디코더로 제공되는데,  그중 분류 점수는 신뢰도로써 간주된다.

 

인코더 출력 feature를 이용해 쿼리를 초기화하는 아이디어는 Deformable DETR에서 처음 제안되었다. 하지만 DINO에서 모호한 content 정보를 주입한다는 이유로 위치 쿼리에만 적용했는데, Mask DINO에서 다시 content 쿼리(디코더 임베딩)에도 적용했다.

 

Mask-enhanced anchor box initialization

탐지에 비해 분할은 픽셀 단위로 세분화되어 더 어려운 작업이지만 초기 윤곽은 더 빨리 잡힌다.

따라서 디코더의 앵커 상자 초기화로 예측 마스크에서 파생한 상자를 사용한다.

 

Unified denoising for mask

DN-DETR에서 denoising training을 분할 작업으로 확장. 상자를 노이즈가 있는 마스크로 간주하고 노이즈 제거 작업으로 상자에 주어진 마스크를 예측하도록 모델을 훈련한다.

 

Hybrid matching

Mask R-CNN과 같이 상자와 마스크를 예측하는 병렬 헤드를 사용한다. 두 헤드가 서로 일치하지 않는 상자-마스크 쌍을 예측하는 것을 방지하기 위해 마스크 예측 손실을 추가하여 하나의 쿼리에 대해 보다 정확하고 일관된 매칭 결과를 장려한다.

 

Decoupled box prediction

Panoptic segmentation의 경우 "stuff" 범주에 대한 예측은 비효율적이다. "stuff" 범주는 "sky"와 같은 배경이며, 매우 불규칙하고 종종 전체 이미지를 덮는다. 따라서 "stuff" 카테고리에 대한 박스 손실과 박스 매칭을 제거하고 손실은 "thing" 카테고리의 평균으로 설정한다.

 

 

다른 모델들과의 method 비교

 

 

 

Experiments

 

Object detection and instance segmentation models with a ResNet-50 backbone on COCO val2017

 

Panoptic segmentation models with a ResNet-50 backbone on COCO val2017

 

Comparison of the SOTA models on segmentation tasks

 

Ablation은 너무 많고 여기까지 보는 사람은 없겠지?