Swin Transformer(Shifted Window Transformer)는 비전 트랜스포머(ViT)의 단점을 개선하여, 이미지 분류, 객체 검출, 분할(Segmentation) 등 다양한 비전 작업에 최적화된 모델이다. Microsoft Research에서 2021년에 발표했으며, 기존 CNN보다도 강력한 성능을 보인다.
1. Swin Transformer의 핵심 개념
1) Shifted Window 기반의 지역적(Self-Attention) 연산
- 기존 ViT(Vision Transformer)는 Self-Attention을 적용하지만, 이는 연산량이 매우 많음.
- Swin Transformer는 이미지를 작은 창(Window) 단위로 나누고, 각 창에서 Self-Attention을 수행하여 연산량을 감소시킴.
- 이후 창을 조금씩 이동(Shift)하여 정보가 고립되지 않도록 함.
장점:
-글로벌 연산보다 연산량 감소
-CNN처럼 지역적 패턴을 학습할 수 있음
-창을 이동(Shift)하면서 정보가 고립되지 않도록 개선
2) Hierarchical Feature Map (계층적 특징 맵)
- CNN처럼 이미지를 단계적으로 다운샘플링(4배 축소)하며 특징 맵을 생성.
- 이를 통해 다양한 크기의 객체를 효과적으로 학습할 수 있음.
- 비교
모델특징 맵 구조
ViT | 모든 패치를 동일한 크기로 유지 |
Swin | CNN처럼 계층적 구조(4x Downsample) |
장점: 객체 크기에 더 유연하게 대응 가능
3) 연산 효율성 (Linear Complexity)
- 기존 ViT는 Self-Attention의 연산량이 O(N²) (즉, 픽셀 수가 많을수록 연산량 급증).
- Swin Transformer는 창(Window) 단위로 Self-Attention을 수행하여 O(N) 수준으로 연산량을 줄임.
장점:
- 높은 해상도의 이미지에서도 빠르게 처리 가능
2. Swin Transformer의 구조
1) Patch Partition (패치 분할)
- 이미지를 4×4 크기의 패치로 나눔
- 각 패치는 채널 수가 3 → 96으로 변환됨
2) Linear Embedding
- 패치의 픽셀 값을 고차원 벡터(임베딩)로 변환
3) Swin Transformer Blocks
- 윈도우(Window) 단위의 Self-Attention 적용
- Shifted Window Mechanism을 통해 창을 이동하며 학습
4) Patch Merging
- 계층적 특징 맵을 만들기 위해 패치들을 병합(Downsampling)
- 채널 수 증가 (C → 2C → 4C 등)
3. Swin Transformer의 활용 분야
- 객체 검출(Object Detection)
- Faster R-CNN, YOLO 등의 백본(Backbone)으로 사용 가능
- 기존 ResNet 기반 모델보다 성능 향상
- 이미지 분할(Segmentation)
- Swin-UNet, Mask R-CNN 등에서 사용됨
- Self-Attention을 활용하여 경계 부분을 더 정교하게 분할
- 이미지 분류(Image Classification)
- ImageNet 등 대규모 데이터셋에서 SOTA(State of the Art) 성능
- 비디오 이해(Video Understanding)
- 비디오 데이터에도 효과적으로 적용 가능
4. Swin Transformer vs. 기존 모델 비교
모델연산량특징
CNN (ResNet) | 낮음 | 지역적인 특성 학습 |
ViT | 높음 (O(N²)) | 글로벌 Self-Attention 적용 |
Swin Transformer | 중간 (O(N)) | 지역적 + 글로벌 정보 조합 |
Swin Transformer는 CNN과 ViT의 장점을 결합한 모델로, 효율적인 연산과 뛰어난 성능을 제공한다. 특히, 객체 검출과 분할 같은 다양한 비전 작업에 적합하며, 현재 최신 연구에서도 활발히 사용되고 있다.
요약
- 연산량을 줄이면서도 강력한 성능
- CNN처럼 계층적 특징 맵 사용 → 다양한 크기의 객체 처리 가능
- 윈도우 단위의 Self-Attention 적용 → 글로벌 정보까지 학습 가능
- 다양한 비전 작업(객체 검출, 분할, 분류 등)에서 SOTA 성능 유지
'컴퓨터공학 > 다중 객체 인식' 카테고리의 다른 글
다중 객체 인식(Multiple Object Detection) (0) | 2025.02.01 |
---|