목차
Masked-attention Mask Transformer for Universal Image Segmentation
CVPR 2022
https://arxiv.org/abs/2112.01527
Masked-attention Mask Transformer for Universal Image Segmentation
Image segmentation is about grouping pixels with different semantics, e.g., category or instance membership, where each choice of semantics defines a task. While only the semantics of each task differ, current research focuses on designing specialized arch
arxiv.org
https://bowenc0221.github.io/mask2former
Mask2Former
Masked-attention Mask Transformer for Universal Image Segmentation CVPR 2022 Abstract Image segmentation is about grouping pixels with different semantics, e.g., category or instance membership, where each choice of semantics defines a task. While only the
bowenc0221.github.io
이미지 segmentation 작업(panoptic, instance, semantic)을 처리할 수 있는 새로운 아키텍처인 Masked-attention Mask Transformer (Mask2Former)를 제시합니다.
주요 구성 요소에는 예측된 마스크 영역 내에서 cross-attention을 제한하여 지역화된 특징을 추출하는 masked attention이 포함되어 있습니다.
1. Introduction
이 연구에서는 다양한 segmentation 작업에서 특화된 아키텍처를 능가하는 동시에 모든 작업에 대해 쉽게 훈련할 수 있는 보편적인 이미지 segmentation 아키텍처인 Masked-attention Mask Trans-former (Mask2Former)를 제안합니다.
백본 특징 추출기, 픽셀 디코더 및 Transformer 디코더로 구성된 간단한 메타 아키텍처를 기반으로 구축합니다.
논문은 더 나은 결과와 효율적인 훈련을 가능하게 하는 주요 개선 사항을 제안합니다.
첫째, 그룹화를 위해 특정 의미에 의존하는 객체 또는 영역일 수 있는 예측 세그먼트를 중심으로 하는 국부화된 기능에 주의를 제한하는 Transformer 디코더에서 마스킹 어텐션을 사용합니다.
이미지의 모든 위치에 주의를 기울이는 표준 Transformer 디코더에서 사용되는 cross-attention에 비해, masked attention은 더 빠른 수렴과 성능 향상으로 이어집니다.
둘째, 모델이 작은 객체/영역을 segmentation 하는 데 도움이 되는 multi-scale 고해상도 기능을 사용합니다.
셋째, self 및 cross-attention 순서 전환, 쿼리 기능 학습 가능하게 만들기, 드롭아웃 제거와 같은 최적화 개선 사항을 제안하며, 이 모든 것은 추가 계산 없이 성능을 향상시킵니다.
마지막으로, 무작위로 샘플링된 몇 개의 포인트에서 마스크 손실을 계산하여 성능에 영향을 미치지 않고 3배의 훈련 메모리를 절약합니다.
이러한 개선 사항은 모델 성능을 향상시킬 뿐만 아니라 훈련을 훨씬 쉽게 하여 컴퓨팅이 제한된 사용자가 보편적인 아키텍처에 더 쉽게 접근할 수 있도록 합니다.
4개의 인기 있는 데이터 세트(COCO, Cityscapes, ADE20K 및 Mapillary Vista)를 사용하여 3개의 이미지 segmentation 작업(panoptic, instance 및 semantic segmentation)에 대해 Mask2Former를 평가합니다.
Mask2Former는 정확하게 동일한 아키텍처를 사용하여 COCO panoptic segmentation 에 57.8PQ, COCO instance segmentation에 50.1AP, ADE20K semantic segmentation에 57.7mIoU의 state-of-the-art를 달성하였습니다.
2. Related Works
Specialized semantic segmentation architectures
semantic segmentation 아키텍처는 일반적으로 작업을 per-pixel classification 문제로 취급합니다. FCN-based architectures 은 모든 픽셀에 대해 독립적으로 카테고리 라벨을 예측합니다.
Specialized instance segmentation architectures
instance segmentation 아키텍처는 일반적으로 "mask classification"를 기반으로 합니다.
각각 단일 클래스 레이블과 연관된 이진 마스크 세트를 예측합니다.
대표적으로 Mask R-CNN에 이어 여러 방법들이 연구되어 왔습니다.
Panoptic segmentation
semantic과 instance segmentation을 통합한 작업입니다.
Universal architectures
이후 범용적인 아키텍처들이 등장했습니다.
DETR에서 end-to-end 예측 목표를 가진 마스크 분류 아키텍처가 모든 segmentation 작업에 충분히 일반적이라는 것을 보여줍니다.
MaskFormer는 DETR를 기반으로 한 마스크 분류가 panoptic segmentation에서 우수할 뿐만 아니라 semantic segmentation에서도 우수함을 보여줍니다.
K-Net은 instance segmentation까지 추가로 확장합니다.
하지만 특정 작업 또는 데이터 세트에 대한 성능이 전문 아키텍처보다 여전히 나쁘기 때문에 이러한 아키텍처는 전문 모델을 대체하지 못합니다.
Mask2Former는 모든 작업 및 데이터 세트에서 이전의 SOTA를 능가하는 아키텍처입니다.
3. Masked-attention Mask Transformer
3.1. Mask classification preliminaries
마스크 분류 아키텍처는 N개의 이진 마스크와 N개의 대응하는 범주 레이블을 예측하여 픽셀을 N개의 세그먼트로 그룹화합니다.
마스크 분류는 서로 다른 semantics(예: categories 또는 instances)을 서로 다른 세그먼트에 할당하여 segmentation 작업을 해결하는 데 충분히 일반적입니다.
그러나 각 세그먼트에 대한 좋은 표현을 찾는 것이 과제입니다.
예를 들어, Mask R-CNN은 경계 상자를 표현으로 사용하여 semantic segmentation에 적용을 제한합니다.
DETR에서 영감을 받아 이미지의 각 세그먼트는 C차원 특징 벡터("객체 쿼리")로 표현되고 훈련된 트랜스포머 디코더에 의해 처리될 수 있습니다.
MaskFormer에서 나온 간단한 메타 아키텍처는 세 가지 구성 요소로 구성됩니다.
- 이미지로부터 저해상도 특징을 추출하는 백본.
- 백본의 출력으로부터 저해상도 특징을 점진적으로 업샘플링하여 고해상도별 임베딩을 생성하는 픽셀 디코더.
- 그리고 마지막으로 객체 쿼리를 처리하기 위해 이미지 특징에 대해 동작하는 트랜스포머 디코더.
최종 바이너리 마스크 예측은 객체 쿼리를 사용하여 픽셀당 임베딩으로부터 디코딩됩니다.
3.2. Transformer decoder with masked attention
Mask2Former는 앞서 언급한 메타 아키텍처를 채택하며 제안된 트랜스포머 디코더가 표준 아키텍처를 대체합니다.
트랜스포머 디코더의 주요 구성 요소에는 masked attention이 포함되어 있는데, 이 동작은 full feature map에 참여하는 대신 각 쿼리에 대해 예측된 마스크의 전경 영역 내로 cross-attention를 제한하여 지역화된 기능을 추출합니다.
작은 개체를 처리하기 위해 고해상도 기능을 활용하는 효율적인 다중 스케일 전략을 제안합니다.
픽셀 디코더의 feature 피라미드에서 라운드 로빈 방식으로 연속 트랜스포머 디코더 레이어로 연속적인 기능 맵을 공급합니다.
마지막으로 추가 계산을 도입하지 않고 모델 성능을 향상시키는 최적화 개선 사항을 통합합니다.
3.2.1. Masked attention
최근의 연구들은 cross-attention이 지역화된 객체 영역에 대응하는 법을 배우는 데 많은 훈련 epoch가 걸리기 때문에 cross-attention 계층의 글로벌 컨텍스트 때문에 트랜스포머 기반 모델의 수렴이 느리다는 것을 시사합니다.
로컬 특징은 쿼리 기능을 업데이트하기에 충분하며 자체 주의를 통해 컨텍스트 정보를 수집할 수 있다고 가정합니다.
이를 위해 각 쿼리에 대해 예측된 마스크의 전경 영역 내에서만 수행되는 cross-attention의 변형인 masked attention을 제안합니다.
3.2.2. High-resolution features
고해상도 특징은 특히 작은 물체의 모델 성능을 향상시킵니다.
그러나 이는 계산이 많이 요구됩니다.
따라서 계산 증가를 제어하면서 고해상도 특징을 도입하는 효율적인 다중 스케일 전략을 제안합니다.
항상 고해상도 특징 맵을 사용하는 대신 저해상도와 고해상도 특징 모두로 구성된 특징 피라미드를 활용하고 다중 스케일 특징의 한 해상도를 한 번에 하나의 트랜스포머 디코더 레이어에 공급합니다.
구체적으로, 원본 이미지의 해상도 1/32, 1/16 및 1/8인 픽셀 디코더에 의해 생성된 특징 피라미드를 사용합니다.
각 해상도에 대해, sinusoidal 위치 임베딩 에 이어 학습 가능한 스케일 수준 임베딩을 모두 추가합니다.
해당 트랜스포머 디코더 레이어에 대해 최저 해상도부터 최고 해상도까지 사용합니다.
이 3층 트랜스포머 디코더를 L번 반복합니다.
따라서 최종 트랜스포머 디코더는 3L 레이어를 가지고 있습니다.
더 구체적으로, 처음 세 레이어는 해상도 H1 = H/32, H2 = H/16, H3 = H/8 및 W1 = W/32, W2 = W/16, W3 = W/8의 특징 맵을 수신하며, 여기서 H와 W는 원래 이미지 해상도입니다.
이 패턴은 다음의 모든 레이어에 대해 라운드 로빈 방식으로 반복됩니다.
3.2.3. Optimization improvements
표준 트랜스포머 디코더 계층은 쿼리 기능을 처리하기 위한 세 개의 모듈로 구성되어 있습니다: self-attention module, cross-attention, feed-forward network (FFN)
또한 쿼리 feature는 트랜스포머 디코더에 입력되기 전에 0으로 초기화되며 학습 가능한 위치 임베딩과 관련이 있습니다.
또 residual 연결과 attention 맵에 모두 드롭아웃이 적용됩니다.
트랜스포머 디코더 설계를 최적화하기 위해 다음 세 가지 개선 사항을 수행합니다.
첫째, 계산을 더 효과적으로 만들기 위해 self- and cross-attention (our new “masked attention”) 순서를 전환합니다.
첫 번째 self attention 계층에 대한 쿼리 기능은 이미지에 독립적이며 이미지로부터 신호를 받지 않으므로 self attention을 적용하면 정보가 풍부해질 수 없습니다.
둘째, 쿼리 feature도 학습 가능하게 만들고(학습 가능한 쿼리 위치 임베딩은 여전히 유지), 학습 가능한 쿼리 기능은 마스크를 예측하기 위해 트랜스포머 디코더에서 사용되기 전에 직접 감독됩니다.
이러한 학습 가능한 쿼리 기능이 region proposal 네트워크 처럼 작동하고 마스크 제안을 생성할 수 있다는 것을 발견했습니다.
마지막으로, 드롭아웃이 필요하지 않으며 일반적으로 성능이 저하된다는 것을 발견했습니다.
따라서 디코더에서 드롭아웃을 완전히 제거합니다.
3.3. Improving training efficiency
전체 마스크 대신 무작위로 샘플링된 K개의 포인트에서 계산된 마스크 손실로 segmentation 모델을 훈련할 수 있음을 보여주는 PointRend 및 Implicit PointRend에서 동기를 얻어 매칭 및 최종 손실 계산 모두에서 샘플링된 포인트로 마스크 손실을 계산합니다.
보다 구체적으로, 이중 매칭을 위한 비용 행렬을 구성하는 매칭 손실에서는 모든 예측 및 실측 마스크에 대해 동일한 K개 포인트 세트를 균일하게 샘플링합니다.
예측과 일치된 실측 정보 사이의 최종 손실에서, 중요도 샘플링을 사용하여 다양한 예측 쌍과 실측 정보 쌍에 대해 서로 다른 K개 포인트 세트를 샘플링합니다.
K = 12544, 즉 112 × 112 포인트를 설정합니다.
이 새로운 훈련 전략은 훈련 메모리를 이미지당 18GB에서 6GB로 효과적으로 3배 줄여 제한된 계산 자원을 가진 사용자가 Mask2Former에 더 쉽게 액세스할 수 있도록 합니다.
4. Experiment
4.1. Main results
4.2. Ablation studies
4.3. Limitations
단일 Mask2Former가 모든 segmentation 작업을 처리할 수 있지만, 여전히 다른 작업에 대해 훈련시켜야 하는 한계가 있습니다.
Panoptic으로 훈련된 Mask2Former가 instance 및 semantic segmentation 작업을 위해 훈련된 동일한 모델보다 성능이 좋지 않습니다.
Mask2Former가 최근의 segmentation 작업에서 많이 보여서 찾아봤습니다.
MaskFormer와 이어서 semantic 및 instance segmentation 작업을 통일된 방식으로 모두 해결하려는 시도를 하였고, 성능도 그만큼 좋았다는 점이 인상 깊었습니다.
segmentation 분야에서 하나의 분기점이 되지 않을까 생각됩니다.
Code
https://github.com/facebookresearch/Mask2Former
GitHub - facebookresearch/Mask2Former: Code release for "Masked-attention Mask Transformer for Universal Image Segmentation"
Code release for "Masked-attention Mask Transformer for Universal Image Segmentation" - GitHub - facebookresearch/Mask2Former: Code release for "Masked-attention Mask Transformer for...
github.com
'논문 읽기 > Segmentation' 카테고리의 다른 글
[논문 리뷰] MaskFormer: Per-Pixel Classification is Not All You Need for Semantic Segmentation (NeurIPS 2021) (1) | 2023.10.05 |
---|---|
[논문 리뷰] Cut and Learn for Unsupervised Object Detection and Instance Segmentation (CVPR 2023) (0) | 2023.09.13 |
[정리] Deep Learning-Based Image Segmentation Models (0) | 2023.09.11 |
[정리] Image Segmentation Metrics (0) | 2023.09.11 |
[정리] Image Segmentation Datasets (0) | 2023.09.11 |