Search

Segmenter, Swin-UNETR 논문 비교

카테고리
VCMI논문리뷰
Index
ML/DL
Segmenter
Swin-UNETR
Semantic Segmentation
SwinTransformer
ViT
UNET
날짜
2024/08/05

Segmenter 논문리뷰

1. Introduction

[1] CNN 기반 Semantic Segmentation의 한계점

CNN 기반 Semantic Segmentation 모델들의 특징
Encoder를 사용해서 저해상도의 image feature를 추출하고, Decoder로 추출된 image feature를 upsampling하여 각 픽셀에 대한 class score를 포함한 segmentation map을 생성.
CNN 기반 Semantic Segmentation의 한계점
1.
CNN기반 모델들에서는 Convolutional filter를 사용하기 때문에 전체이미지에 대한 global information을 파악하기 어려움.
Convolution filter는 고정된 크기의 커널을 사용해서 local information을 추출하기 때문에 국소적인 영역에서의 feature 추출에는 유리하지만 global context를 인식하는데는 한계가 있음.
→ 필터 사이즈가 고정되어있기 때문에 만약 작은 필터를 사용하게 된다면 작은 객체는 잘 분할할 수 있지만, 큰 객체는 전체적인 형상을 파악하기 어려울 수 있고, 큰 필터는 반대로 작은 객체를 놓칠 수 있음.
→ Semantic Segmentation에서 이미지 패치가 전체 이미지내에서 어디에 위치해 있는지 등과 같은 global information을 파악해야지만 local한 패치를 정확하게 분할할 수 있는 경우도 발생하기 때문에 CNN 기반 semantic segmentation에는 한계가 존재.
2.
Convolution filter는 인접한 픽셀간의 local한 관계는 잘 파악하지만, 멀리 떨어진 픽셀간의 장거리 의존성(Long-term Dependency)를 파악하는데 한계가 있음.
CNN 기반 Semantic Segmentation의 한계점을 극복하기 위한 제안방법들
DeepLab
: Dilated convolution(확장 합성곱)과 spatial pyramid pooling을 사용해서 feature aggregation(Feature 결합)을 진행하는 모델
→ convolution filter의 receptive field를 확장할수 있고, multi-scale feature를 파악할 수 있음.
NLP 기반의 Segmentation 방법들
전역적 문맥을 파악하기 위해 channel, spatial attention, point-wise attention을 도입함
→ 하지만, 이러한 방법들 모두 근본적으로 CNN 기반 백본모델을 사용하기 때문에 local한 특성과 패턴을 학습하는데 초점이 맞춰져 있다는 한계가 있음. (convolutional backbones are still biased toward local interaction.)

[2] Transformer 기반의 semantic segmentation의 장점

Transformer 기반의 semantic segmentation의 특징
transformer 구조를 사용하면 semantic segmantation 문제를 sequence-to-sequence 문제로 치환해서 해결할 수 있고, 이를 통해 모델의 모든 stage에서 전역적 정보를 파악할 수 있음.
→ NLP에서 transformer는 자연어(문장,글 등)을 word sequence 형태로 변환해서 self-attention연산을 수행하고 이를 통해 각 단어가 전체 corpus에서 어떤 위치에 있는지, 어떤 의미를 가지는 등의 전역적 문맥을 고려함.
→ 이처럼, vision 문제에서도 전체 이미지를 작은 사이즈의 패치로 나누고, 이 패치들을 sequence 형태로 만들어 transformer의 입력으로 주게되면, 전체 이미지 내에서 작은 패치들이 갖는 global context를 파악할 수 있음. (ViT)
Transformer 기반은 Semantic Segmentation 모델 사례
ViT
DeiT → token기반 distillation 기법 사용
SETR → ViT 백본을 사용하고, CNN 디코더를 사용하는 모델
Transformer 기반의 semantic segmentation은 self-attention연산을 수행하는 과정에서 quadratic cost가 발생하는 단점이 있음. (이미지 데이터에 대한 attention 연산은 연산량이 더 많이 발생함)

3. Our Approach : Segmenter

[3] Segmenter Encoder와 Decoder 구조 이해

Segmenter는 Encoder로 ViT 모델을 사용, Decoder로는 Mask Transformer를 사용(DeiT)하는 구조.
1.
Encoder - ViT
Encoder 구조
2.
Decoder - Mask Transformer
Decoder 구조
Mask Transformer를 디코더로 사용했을 때의 장점
CNN 기반 모델이 아닌 순수 Transformer 아키텍쳐를 디코더로 사용했을 때 전역적 문맥을 훨씬 효과적으로 학습할 수 있음.
Mask Transformers는 패치 임베딩과 클래스 임베딩을 동시에 처리하고, Decoder에서도 Self-Attention 연산을 수행함.
→ 이 과정에서 클래스 정보와 전역적 문맥을 고려한 feature map을 생성할 수 있음.
대표적인 CNN 기반 모델의 UNet의 Decoding 과정과 비교
UNet은 Encoder에서 다운 샘플링된 feature map을 점진적으로 업샘플링하면서 원본 해상도로 복원
Skip Connection을 통해서 각 upsampling 단계를 통해 얕은 층의 feature map과 깊은 층의 feature map을 합치는 방식으로 다양한 해상도의 특징을 파악함.
얕은 층을 통해서 local information과 세밀한 특징을 추출
깊은 층을 통해서 global information과 추상적인 특징을 추출
→ 이 두 층을 skip connection으로 결합해서 local information과 global information을 모두 고려하게 됨 (local-global trade off 해결하고자 함)
그래도 Segmenter 논문 저자는 UNet과 같은 CNN 기반 모델들은 백본모델이 FCN이고, convolution filter를 사용하기 때문에 모든 이미지 패치에 대해서 self-attention을 수행하는 Transformer 기반의 디코더가 global information 파악면에서는 더 좋은 구조라고 하는 것.

4. Experimental Results

[4] Implementation Details

Transformer models
Encoder 백본 모델로 ViT Tiny, Small, Base, Large 모델을 사용
→ 레이어 수와, 토큰 사이즈에 따라 ViT 모델 사이즈(파라미터 수)가 달라짐.
MSA 블록의 헤드 크기는 64로 고정 (Heads 값은 토큰 사이즈를 헤드크기(64)로 나눈 값)
MSA 다음 MLP 블록의 hidden layer size는 토큰 사이즈의 4배로 지정
ViT와의 비교를 위해 DeiT를 대조군으로 사용
입력 패치 크기를 8×8, 16×16, 32×32로 나누어 패치 사이즈에 따른 여러 해상도에 대한 성능 평가 진행
Segmenter 사전학습은 ImageNet 데이터 셋에서 진행됨
ViT 백본, DeiT는 ImageNet-21k에서 사전학습된 모델을 사용함
Data Augmentation, Stochastic Depth, Dropout 정규화 기법을 사용해서 ImageNet에서 top-1 정확도를 향상시킴
Optimization
loss function : pixel-wise cross entropy loss
optimizer : SGD (base learning rate γ0γ_0사용, weight decay 0으로 설정)
learning rate scheduler : polynomial learning rate decay 도입
FineTuning Task에서 데이터셋 별 Hyperparameter
ADE20K : γ0 γ_010310^{-3} 으로 설정, iter 160K
Pascal Context: γ0 γ_010310^{-3} 으로 설정, iter 80K
Cityscapes: γ0 γ_010210^{-2} 으로 설정, iter 80k
Inference
슬라이딩 윈도우 기법을 사용해 여러 해상도, 사이즈의 이미지에 대한 모델 추론 결과 제공
multi-scale inference(다중 스케일 추론)를 위해 0.5, 0.75, 1.0, 1.25, 1.5, 1.75의 비율로 다시 스케일한 이미지들을 사용해서 다양한 크기의 객체나 특징을 잘 감지하도록함

Swin-UNETR

Swin-UNETR 에서 encoder에 Swin Transformer를 적용함으로써 장점을 무엇이라고 기재하는지 논문 내용 파악.

1. Introduction

FCNN 기반 Network의 한계점
Segmenter논문에서 언급된것과 동일하게 Convolution filter의 limited kernel size로 인한 long-range dependency와 global context 학습이 잘 안되는 문제를 제시
→ 다양한 크기와 모양의 brain tumor에 대한 정확한 segmentation이 힘듦
→ 추후 다양한 연구들에서 convolution kernel 사이즈를 조정하는 방식을 적용해서 해당 문제를 극복해보려고 했지만, receptive field가 local region으로 한정되는 문제 자체를 해결할 수 는 없음. (Ex DeepLab; Dilated Convolution 등)
Transformer 기반 Semantic Segmentation 모델들의 등장
ViT 기반의 Segmentation 모델들은 long-range information과 global context 학습에 더 효과적임
ex : 의료영상분석 분야의 UNETR - ViT를 encoder의 백본모델, 디코더는 UNet을 사용함
Swin-UNETR
계층적 Vision Trasformer 구조와 Shifted Window MSA를 사용하는 Swin-Transformer를 인코더로 사용하고, 디코더로 UNET을 사용함 (Skip Connection으로 연결)
주요 Task는 multi-modal 3D brain tumor segmentation (2021 BraTS)
Swin Transformer를 인코더로 적용한 이유(장점)
1.
Swin-Transformer의 계층적 구조를 통해 다양한 해상도에 대한 long-range dependencies 학습
ViT는 네트워크의 모든 레이어에서 고정된 해상도로 이미지 패치를 처리하기 때문에 단일 수준의 Feature Map이 형성됨
Swin Transformer는 계층적 구조를 통해서 다양한 해상도의 feature map을 형성하기 때문에 multi-scale의 global information과 장기 의존성을 학습하는데 효과적임.
2.
Shifted Window Multi-head Self Attention을 통해 global context를 효과적으로 학습가능
ViT는 모든 이미지 패치에 대해서 글로벌하게 셀프어텐션 연산을 수행하기 때문에 전체 이미지에 대한 전역적 문맥을 잘 파악할 수 있는데 CNN 기반 모델들과 비교했을 때 지역적 정보를 덜 고려하게 되어서 inductive bias가 상대적으로 낮음
Swin Transformers는 트랜스포머 블록에서 Window MSA, Shifted Window MSA를 사용해서 인코더에서 지역적 정보와 전역적 정보를 모두 효과적으로 학습할 수 있도록 함.