본문 바로가기
Study/논문 리뷰

Segment Anything

by 강렬한 스포트라이트 2025. 6. 9.

1. 개요

2023년 4월, Meta AI에서 공개한 Segment Anything Model (SAM)은 다양한 이미지를 prompt 기반으로 분할할 수 있는 범용 이미지 segmentation 모델입니다.
SAM은 점, 박스, 텍스트 등 다양한 프롬프트를 받아 어떤 객체든 분할할 수 있으며, 사전학습만으로도 새로운 태스크에 적용할 수 있는 zero-shot segmentation을 실현했습니다.


2. SAM이란?

SAM은 다음 3가지 요소로 구성됩니다.

  • Prompt: 어떤 객체를 분할할지 지정하는 입력. (예: 점, 박스, 마스크, 텍스트 등)
  • Model: 이미지 + 프롬프트 → 분할 마스크 예측
  • Data: 11M 이미지, 1.1B 마스크로 구성된 SA-1B 데이터셋

이러한 구조 덕분에 fine-tuning 없이도 다양한 segmentation task를 처리할 수 있습니다.

 


3. Prompt란?

SAM은 NLP의 prompt engineering 개념을 Vision에 도입했습니다.

  • 예: "한국의 대통령은 누구야?" → 답변을 유도하는 프롬프트
  • Vision에서는 Point, Box, Mask, Text가 프롬프트가 됩니다.

특히 텍스트 프롬프트는 CLIP 기반 인코딩을 통해 처리되며, 점/박스는 좌표에 positional encoding을 더해 처리됩니다.

예시: 사람이 셔츠를 입고 있고, 셔츠 위를 클릭했다면
→ 대상이 '사람 전체'인지 '셔츠'인지 모호합니다.
→ SAM은 이러한 ambiguous prompt도 잘 처리할 수 있게 학습되었습니다.


4. 모델 구조

SAM은 다음과 같은 구조로 구성됩니다.

 

 

  • Image Encoder: MAE로 사전학습된 ViT-H/16 사용
  • Prompt Encoder:
    • Sparse prompt: point, box, text
    • Dense prompt: mask (CNN으로 처리)
  • Mask Decoder: Transformer 기반 구조. prompt-to-image와 image-to-prompt 방향 모두 attention 적용

한 프롬프트에 대해 3개의 마스크 (whole, part, subpart)를 생성하며, 학습 시에는 가장 적절한 마스크 하나만 선택해 학습합니다.

한 이미지에 대한 embedding은 미리 계산 가능하므로 실시간 인터랙션도 지원합니다. (50ms 내 예측)


5. SA-1B 데이터셋 & Data Engine

SA-1B는 SAM 학습을 위해 Meta가 구축한 초대규모 마스크 데이터셋입니다.

데이터 생성 과정 (Data Engine)은 3단계로 구성되어 있습니다.

  1. Assisted-manual: 사람이 SAM 툴을 사용해 라벨링 → 마스크 생성
  2. Semi-automatic: 사람이 만든 것과 SAM의 예측을 섞어 사용
  3. Fully-automatic: 32×32 grid point를 prompt로 사용해 SAM이 마스크 자동 생성

→ 이후 confidence score, NMS, probability map 등으로 마스크 품질 정제
→ 평균 100개 마스크/이미지로, 기존 데이터셋 대비 10배 이상 밀도 높은 구조


6. Zero-shot Transfer 실험 결과

SAM은 사전학습만으로 다양한 태스크에 높은 성능을 보였습니다.

1. 단일 포인트 분할

  • 점 하나로 객체 segmentation 수행
  • 23개 데이터셋 중 16개에서 기존 SOTA (RITM)보다 우수

2. Edge Detection

  • SAM 마스크 확률맵 + Sobel filter 사용
  • 전혀 학습되지 않았음에도 불구하고 준수한 성능

3. Object Proposal

  • SAM 마스크를 객체 제안 영역으로 사용
  • 일반 객체는 ViTDet이 더 나으나 rare object에서는 SAM이 더 우수

4. Instance Segmentation

  • box prompt로 segmentation 진행
  • 정량적 평가는 유사, 정성적 평가는 SAM이 우세

5. Text-to-Mask

  • CLIP text encoder로 텍스트 프롬프트 처리
  • “a wheel” 같은 단어로도 마스크 생성 가능
    → 텍스트만으로는 오차가 있지만 텍스트 + 점 조합 시 정확도 급상승

7. Responsible AI (공정성 평가)

Meta는 SAM의 공정성을 평가하기 위해 다양한 속성별 성능을 비교했습니다.

  • 성별 (남/여), 연령, 인종 그룹별로 성능 차이가 거의 없음
  • Table 2 실험 결과: 모든 속성에서 일관된 IoU 값 보임
  • 결론: SAM은 공정하고 편향이 적은 segmentation 모델

8. 실습 & 코드

현재 inference 코드에서는 box, point prompt만 사용 가능
text와 mask prompt는 별도의 encoder가 필요하므로 지원 준비 중입니다.


9. 함께 보면 좋은 논문

논문설명

 

ViT (2020) SAM의 backbone 구조
MAE (2021) 이미지 인코더의 사전학습 방식
CLIP (2021) 텍스트 프롬프트의 인코딩 방식
Visual Prompt Tuning (2022) Vision 분야에서 prompt 개념 도입
RITM (2022) SAM 성능 비교 대상 모델 중 하나
 

10. 마무리

SAM은 단순한 segmentation 모델을 넘어, 다양한 태스크에 유연하게 적용할 수 있는 Vision 분야의 foundation model입니다.

  • 사람이 만드는 데이터셋의 한계를 극복하고,
  • prompt라는 간단한 인터페이스로 다양한 객체를 분할하며,
  • 공정성까지 고려한 설계가 인상적입니다.

앞으로 영상 분석, UI 도구, 데이터 라벨링 자동화 등 다양한 곳에 폭넓게 활용될 가능성이 높습니다.
Meta의 SAM은 Vision 분야에서 큰 전환점을 만든 모델로 기억될 것입니다.


* 참고 링크

 

반응형
SMALL