Skip to content

필사 모드: Segment Anything Model 완전 정복: SAM 1 → SAM 2 → SAM 3 논문 분석과 실전 가이드

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

1. 개요: Segment Anything Model의 진화

**Segment Anything Model(SAM)**은 Meta AI Research가 발표한 이미지·비디오 세그멘테이션 분야의 Foundation Model 시리즈다. NLP 분야에서 GPT가 "프롬프트" 패러다임을 확립한 것처럼, SAM은 Computer Vision 세그멘테이션에 **Promptable Segmentation**이라는 새로운 패러다임을 도입했다.

| 버전 | 발표 | 핵심 능력 | 논문 |

| --------- | ------------------- | ------------------------------------- | -------------------------------------------------------------------------------- |

| **SAM 1** | 2023.04 (ICCV 2023) | 이미지 프롬프터블 세그멘테이션 | [Segment Anything](https://arxiv.org/abs/2304.02643) |

| **SAM 2** | 2024.08 | 이미지 + 비디오 실시간 세그멘테이션 | [SAM 2: Segment Anything in Images and Videos](https://arxiv.org/abs/2408.00714) |

| **SAM 3** | 2025.11 (ICLR 2026) | 개념 인식(Concept-Aware) 세그멘테이션 | [SAM 3: Segment Anything with Concepts](https://arxiv.org/abs/2511.16719) |

세 모델의 핵심 진화 방향을 한 문장으로 요약하면 다음과 같다.

> **SAM 1**: "어디(Where)를 세그멘테이션할까?" → **SAM 2**: "비디오에서도 어디를?" → **SAM 3**: "무엇(What)을 세그멘테이션할까?"

2. SAM 1: Segment Anything (2023)

2.1 논문 정보

- **제목**: Segment Anything

- **저자**: Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao 외 (Meta AI Research)

- **발표**: 2023년 4월 (arXiv), ICCV 2023 채택

- **논문**: [arxiv.org/abs/2304.02643](https://arxiv.org/abs/2304.02643)

- **GitHub**: [github.com/facebookresearch/segment-anything](https://github.com/facebookresearch/segment-anything)

- **라이선스**: Apache 2.0

2.2 핵심 기여 3가지

SAM 1은 세 가지를 동시에 제안했다.

1. **새로운 태스크 — Promptable Segmentation**: 포인트, 박스, 마스크, 텍스트 등 임의의 프롬프트가 주어지면 유효한 세그멘테이션 마스크를 반환한다

2. **새로운 모델 — SAM**: 프롬프트 기반 세그멘테이션을 수행하는 Foundation Model

3. **새로운 데이터셋 — SA-1B**: 1,100만 장 이미지에서 **11억 개** 마스크를 포함하는 역대 최대 세그멘테이션 데이터셋

2.3 아키텍처 상세

SAM의 아키텍처는 세 가지 컴포넌트로 분리된다. 핵심 설계 원칙은 **무거운 이미지 인코더는 한 번만 실행**하고, 가벼운 프롬프트 인코더와 마스크 디코더를 실시간으로 반복 호출하는 것이다.

┌─────────────────────────────────────────────────────────┐

│ SAM Architecture │

│ │

│ ┌──────────────┐ ┌────────────────┐ │

│ │ Image Encoder │ │ Prompt Encoder │ │

│ │ (ViT-H/L/B) │ │ (Point/Box/ │ │

│ │ MAE 사전학습 │ │ Mask/Text) │ │

│ └──────┬───────┘ └───────┬────────┘ │

│ │ │ │

│ └─────────┬─────────┘ │

│ ▼ │

│ ┌────────────────┐ │

│ │ Mask Decoder │ │

│ │ (Transformer │ │

│ │ 2-layer) │──→ 3개 마스크 + IoU 점수 │

│ └────────────────┘ │

└─────────────────────────────────────────────────────────┘

Image Encoder (이미지 인코더)

| 변형 | 파라미터 | 체크포인트 크기 |

| ---------------- | -------- | --------------- |

| ViT-B | 91M | ~375 MB |

| ViT-L | 308M | ~1.25 GB |

| **ViT-H (기본)** | **636M** | **~2.56 GB** |

- MAE(Masked Autoencoder)로 사전학습된 Vision Transformer

- 입력 해상도: 1024×1024

- 출력: 64×64 이미지 임베딩 (256차원)

- 이미지당 **한 번만 실행** → 이후 프롬프트별로 재사용

Prompt Encoder (프롬프트 인코더)

**Sparse 프롬프트** (포인트, 박스, 텍스트):

- 포인트/박스 → Positional Encoding + 학습된 타입 임베딩 (전경 포인트 vs 배경 포인트)

- 텍스트 → CLIP 텍스트 인코더로 처리

**Dense 프롬프트** (마스크):

- Convolution 레이어로 임베딩 후 이미지 임베딩과 Element-wise 합산

Mask Decoder (마스크 디코더)

- 수정된 Transformer Decoder (2 레이어)

- 임베딩 차원: 256, MLP 내부 차원: 2048

- **Ambiguity-Aware 출력**: 하나의 프롬프트에 대해 **3개의 후보 마스크**를 동시에 예측

- Whole(전체), Part(부분), Sub-part(하위 부분) 수준

- 각 마스크에 IoU 신뢰도 점수 부여

- GPU에서 프롬프트당 **~50ms** 추론 → 실시간 상호작용 가능

2.4 SA-1B 데이터셋

| 항목 | 수치 |

| -------------- | ---------------------------------- |

| 이미지 수 | 1,100만 장 |

| 마스크 수 | **11억 개** (이미지당 평균 ~100개) |

| 자동 생성 비율 | 99.1% |

| 원본 해상도 | ~3300×4950 |

| 데이터셋 크기 | ~5TB (이미지) + ~20GB (어노테이션) |

Data Engine — 3단계 구축 과정

Phase 1: Assisted-Manual Phase 2: Semi-Automatic Phase 3: Fully Automatic

───────────────────── ────────────────────── ──────────────────────

• SAM + 사람 어노테이터 • SAM이 자동 마스크 제안 • 32×32 그리드 포인트 자동 생성

• 브라우저 기반 도구 • 사람이 누락된 객체 추가 • NMS + 신뢰도 필터링

• 12만 이미지 / 430만 마스크 • 18만 이미지 / 590만 마스크 • 11억 마스크의 대부분

품질 검증: 500장 이미지(~50,000 마스크) 인간 감사 결과 **94%**가 IoU > 0.90 달성

2.5 핵심 혁신

**Zero-Shot Transfer**: Fine-tuning 없이 새로운 도메인에 즉시 적용

- 엣지 검출 (BSDS500 ODS: 0.768)

- Object Proposal 생성 (LVIS AR@1000: 59.3)

- 의료영상, 위성사진, 수중사진, 현미경 이미지 등

**벤치마크 성능**:

- 23개 데이터셋 Zero-Shot 평가에서 **16개**에서 기존 SOTA(RITM) 초과

- Oracle 선택 시 **23개 전부** RITM 초과

- 인종/성별 등 인구통계 그룹 간 성능 편차 없음 (공정성 검증)

2.6 설치 및 실행

설치

pip install git+https://github.com/facebookresearch/segment-anything.git

선택 의존성

pip install opencv-python pycocotools matplotlib onnxruntime onnx

**체크포인트 다운로드:**

| 모델 | 파일 |

| ------------ | ---------------------- |

| ViT-H (기본) | `sam_vit_h_4b8939.pth` |

| ViT-L | `sam_vit_l_0b3195.pth` |

| ViT-B | `sam_vit_b_01ec64.pth` |

**프롬프트 기반 세그멘테이션:**

from segment_anything import SamPredictor, sam_model_registry

모델 로드

sam = sam_model_registry["vit_h"](checkpoint="sam_vit_h_4b8939.pth")

sam.to(device="cuda")

예측기 생성

predictor = SamPredictor(sam)

이미지 설정 (이미지 임베딩 1회 계산)

predictor.set_image(image) # numpy array (H, W, 3) RGB

포인트 프롬프트로 예측

masks, scores, logits = predictor.predict(

point_coords=np.array([[500, 375]]), # (N, 2) 좌표

point_labels=np.array([1]), # 1=전경, 0=배경

multimask_output=True, # 3개 후보 마스크 반환

)

**자동 마스크 생성 (Segment Everything):**

from segment_anything import SamAutomaticMaskGenerator, sam_model_registry

sam = sam_model_registry["vit_h"](checkpoint="sam_vit_h_4b8939.pth")

sam.to(device="cuda")

mask_generator = SamAutomaticMaskGenerator(sam)

masks = mask_generator.generate(image)

각 마스크: segmentation, area, bbox, predicted_iou, stability_score

3. SAM 2: Segment Anything in Images and Videos (2024)

3.1 논문 정보

- **제목**: SAM 2: Segment Anything in Images and Videos

- **저자**: Nikhila Ravi, Valentin Gabeur, Yuan-Ting Hu 외 15명 (Meta AI Research)

- **발표**: 2024년 8월 (arXiv), 2024년 10월 개정

- **논문**: [arxiv.org/abs/2408.00714](https://arxiv.org/abs/2408.00714)

- **GitHub**: [github.com/facebookresearch/sam2](https://github.com/facebookresearch/sam2)

- **프로젝트 페이지**: [ai.meta.com/sam2](https://ai.meta.com/sam2/)

- **라이선스**: Apache 2.0

3.2 SAM 1에서 무엇이 바뀌었나

SAM 2의 핵심 질문: **"이미지에서만 되는 세그멘테이션을 비디오로 확장할 수 있을까?"**

| 비교 항목 | SAM 1 | SAM 2 |

| -------------- | ------------------- | ------------------------------------- |

| 입력 | 단일 이미지 | 이미지 + 비디오 |

| 이미지 인코더 | ViT (MAE 사전학습) | **Hiera** (계층적, MAE 사전학습) |

| 시간 모델링 | 없음 | **Memory Attention 메커니즘** |

| 추론 속도 | 프롬프트당 ~50ms | 이미지에서 **6배 빠름** |

| Occlusion 처리 | 불가 | **Occlusion Head** |

| 상호작용 | 이미지에서 프롬프트 | 비디오의 **임의 프레임**에서 프롬프트 |

3.3 아키텍처 상세

┌────────────────────────────────────────────────────────────────────┐

│ SAM 2 Streaming Architecture │

│ │

│ 프레임 t-2 프레임 t-1 프레임 t (현재) │

│ │ │ │ │

│ ▼ ▼ ▼ │

│ ┌──────┐ ┌──────┐ ┌──────────────┐ │

│ │Hiera │ │Hiera │ │ Hiera Image │ │

│ │Enc. │ │Enc. │ │ Encoder │ │

│ └──┬───┘ └──┬───┘ └──────┬───────┘ │

│ │ │ │ │

│ ▼ ▼ ▼ │

│ ┌──────────────────────────────────────────┐ │

│ │ Memory Bank │ │

│ │ ┌──────────────┐ ┌───────────────────┐ │ │

│ │ │ FIFO Queue │ │ Prompted Frames │ │ │

│ │ │ (N 최근 프레임)│ │ (M 프롬프트 프레임)│ │ │

│ │ └──────────────┘ └───────────────────┘ │ │

│ │ ┌──────────────────────────────────────┐│ │

│ │ │ Object Pointers (256-dim) ││ │

│ │ └──────────────────────────────────────┘│ │

│ └──────────────────┬───────────────────────┘ │

│ ▼ │

│ ┌──────────────────────────────┐ ┌───────────────┐ │

│ │ Memory Attention Module │←──│Prompt Encoder │ │

│ │ (L Transformer Blocks: │ │(Point/Box/ │ │

│ │ Self-Attn + Cross-Attn) │ │ Mask) │ │

│ └──────────────┬───────────────┘ └───────────────┘ │

│ ▼ │

│ ┌──────────────────────────┐ │

│ │ Mask Decoder │──→ 마스크 + IoU + Occlusion Score │

│ │ (+ Skip Connections) │ │

│ └──────────────────────────┘ │

└────────────────────────────────────────────────────────────────────┘

Hiera 이미지 인코더

SAM 1의 ViT를 **Hiera(계층적 ViT)**로 교체했다.

- Stage 3+4 (stride 16, 32) → FPN으로 융합 → 이미지 임베딩 (Memory Attention 입력)

- Stage 1+2 (stride 4, 8) → 마스크 디코더의 업샘플링 레이어에 Skip Connection

- Windowed Absolute Positional Embedding 사용

Memory 메커니즘 (핵심 혁신)

**Memory Encoder**: 각 프레임 처리 후, 프레임 특징과 예측 마스크를 Memory Bank에 저장 (64차원으로 투영)

**Memory Bank** 구조:

- **FIFO Queue**: 최근 N개 비프롬프트 프레임 → 시간적 맥락 유지

- **Prompted Frames**: 최대 M개 프롬프트 프레임 → 사용자 가이던스 보존

- **Object Pointers**: 256차원 벡터 → 추적 객체의 고수준 의미 정보

**Memory Attention Module**: L개의 Transformer 블록

- Self-Attention: 현재 프레임 특징 내부

- Cross-Attention: Memory Bank의 과거 프레임 + Object Pointer와 상호작용

Occlusion Prediction Head

비디오에서 객체가 가려지거나 화면 밖으로 나가는 상황 처리:

- 프레임별 **가시성 점수** 출력

- 가려진 객체 → 노이즈 예측 억제

- 재등장 시 → Memory Bank 통해 **즉시 재식별**

3.4 SA-V 데이터셋

| 항목 | 수치 |

| ----------------------- | --------------------------------- |

| 비디오 수 | 50,900개 |

| 총 시간 | ~196시간 |

| 총 프레임 | ~420만 |

| Spatio-temporal Masklet | 642,600개 |

| 총 마스크 수 | **3,550만 개** |

| 해상도 | 240p ~ 4K (평균 1,401×1,037) |

| 평균 길이 | ~14초 |

| 장면 분포 | 실내 54%, 실외 46% |

| 지리적 다양성 | 47개국 |

| 기존 대비 규모 | 비디오 4.5배, 어노테이션 **53배** |

**Data Engine 3단계:**

| 단계 | 방법 | 속도 | 생산량 |

| ------- | ---------------- | --------------------- | ------------- |

| Phase 1 | SAM per Frame | 37.8초/프레임 | 16K masklet |

| Phase 2 | SAM + SAM 2 Mask | 7.4초/프레임 (5.1배↑) | 63.5K masklet |

| Phase 3 | Full SAM 2 | 가장 빠름 | 나머지 전부 |

3.5 모델 변형 및 성능

**SAM 2.1** (2024년 9월 출시, 최신 권장 버전):

| 모델 | 파라미터 | FPS (A100) | SA-V Test (J&F) | MOSE Val (J&F) |

| ---------------------- | -------- | ---------- | --------------- | -------------- |

| sam2.1_hiera_tiny | 38.9M | **91.2** | 76.5 | 71.8 |

| sam2.1_hiera_small | 46.0M | 84.8 | 76.6 | 73.5 |

| sam2.1_hiera_base_plus | 80.8M | 64.1 | 78.2 | 73.7 |

| sam2.1_hiera_large | 224.4M | 39.5 | **79.5** | **74.6** |

**주요 벤치마크:**

| 벤치마크 | SAM 2 (J&F) | 기존 SOTA 대비 |

| -------------- | ----------- | -------------- |

| MOSE val | 77.9% | **+6.2%** |

| DAVIS 2017 val | 90.7% | **+2.6%** |

- 이미지 세그멘테이션: SAM 1 대비 **6배 빠르면서** 정확도도 상승

- 상호작용 효율: 동일 품질 달성에 **3배 적은 사용자 개입**

3.6 설치 및 실행

설치

git clone https://github.com/facebookresearch/sam2.git && cd sam2

pip install -e .

체크포인트 다운로드

cd checkpoints && ./download_ckpts.sh && cd ..

**이미지 세그멘테이션:**

from sam2.build_sam import build_sam2

from sam2.sam2_image_predictor import SAM2ImagePredictor

checkpoint = "./checkpoints/sam2.1_hiera_large.pt"

model_cfg = "configs/sam2.1/sam2.1_hiera_l.yaml"

predictor = SAM2ImagePredictor(build_sam2(model_cfg, checkpoint))

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):

predictor.set_image(image)

masks, _, _ = predictor.predict(

point_coords=np.array([[500, 375]]),

point_labels=np.array([1]),

)

**비디오 세그멘테이션:**

from sam2.build_sam import build_sam2_video_predictor

checkpoint = "./checkpoints/sam2.1_hiera_large.pt"

model_cfg = "configs/sam2.1/sam2.1_hiera_l.yaml"

predictor = build_sam2_video_predictor(model_cfg, checkpoint)

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):

state = predictor.init_state(video_path)

특정 프레임에 프롬프트 추가

frame_idx, object_ids, masks = predictor.add_new_points_or_box(

state, frame_idx=0, obj_id=1,

points=np.array([[500, 375]]),

labels=np.array([1]),

)

비디오 전체 전파

for frame_idx, object_ids, masks in predictor.propagate_in_video(state):

각 프레임의 마스크 처리

process_masks(frame_idx, masks)

**Hugging Face 통합:**

from sam2.sam2_image_predictor import SAM2ImagePredictor

predictor = SAM2ImagePredictor.from_pretrained("facebook/sam2-hiera-large")

from sam2.sam2_video_predictor import SAM2VideoPredictor

predictor = SAM2VideoPredictor.from_pretrained("facebook/sam2-hiera-large")

4. SAM 3: Segment Anything with Concepts (2025)

4.1 논문 정보

- **제목**: SAM 3: Segment Anything with Concepts

- **저자**: Nicolas Carion, Laura Gustafson, Yuan-Ting Hu 외 35명 (Meta AI Research)

- **발표**: 2025년 11월 20일 (arXiv), **ICLR 2026 채택**

- **논문**: [arxiv.org/abs/2511.16719](https://arxiv.org/abs/2511.16719)

- **GitHub**: [github.com/facebookresearch/sam3](https://github.com/facebookresearch/sam3)

- **프로젝트 페이지**: [ai.meta.com/sam3](https://ai.meta.com/sam3/)

- **라이선스**: Apache 2.0

4.2 패러다임 전환: Where → What

SAM 1과 SAM 2는 **"어디를"** 세그멘테이션할지 알려주는 기하학적 프롬프트(포인트, 박스)에 의존했다. SAM 3는 근본적으로 다른 질문을 한다: **"무엇을"** 세그멘테이션할까?

SAM 1: 포인트/박스 → "이 위치의 객체를 분리해줘"

SAM 2: 포인트/박스 + 비디오 추적 → "이 객체를 비디오에서 따라가줘"

SAM 3: 텍스트/이미지 예시 → "이 개념에 해당하는 모든 것을 찾아줘"

**Promptable Concept Segmentation (PCS)** — SAM 3가 제안한 새로운 태스크:

- **텍스트 프롬프트**: 자연어 명사구 (예: "yellow school bus")

- **이미지 예시(Exemplar)**: 시각적 예시 이미지

- **결합 프롬프트**: 텍스트 + Exemplar 동시 사용

- **기존 프롬프트**: 포인트, 박스, 마스크 (SAM 2 하위 호환)

4.3 아키텍처 상세

**총 파라미터: 848M (~3.4 GB)**

┌───────────────────────────────────────────────────────────────────────┐

│ SAM 3 Architecture │

│ │

│ ┌────────────┐ ┌────────────┐ ┌──────────────────┐ │

│ │ Text │ │ Exemplar │ │ Visual Prompts │ │

│ │ Encoder │ │ Encoder │ │ (Point/Box/Mask) │ │

│ │ "school │ │ [이미지] │ │ │ │

│ │ bus" │ │ │ │ │ │

│ └─────┬──────┘ └─────┬──────┘ └────────┬─────────┘ │

│ └────────────┬───┘ │ │

│ ▼ │ │

│ ┌──────────────────────────────┐ │ │

│ │ Meta Perception Encoder │ │ │

│ │ (Vision-Language 공동 공간) │ │ │

│ └──────────────┬───────────────┘ │ │

│ │ │ │

│ ┌────────┴────────┐ │ │

│ ▼ ▼ │ │

│ ┌───────────┐ ┌─────────────────┐ │ │

│ │ Presence │ │ Fusion Encoder │ │ │

│ │ Head │ │ (조건부 특징) │ │ │

│ │ "있다/없다"│ └────────┬────────┘ │ │

│ └───────────┘ │ │ │

│ ▼ │ │

│ ┌──────────────────┐ │ │

│ │ DETR Detector │←────────┘ │

│ │ (Transformer │ │

│ │ 기반 검출) │ │

│ └────────┬─────────┘ │

│ │ │

│ ▼ │

│ ┌──────────────────────────────────────┐ │

│ │ SAM 2-inspired Tracker │ │

│ │ (Memory Bank + 시간적 일관성) │ │

│ └──────────────────┬───────────────────┘ │

│ ▼ │

│ 마스크 + 박스 + 점수 │

└───────────────────────────────────────────────────────────────────────┘

핵심 혁신: Presence Head

**Presence Head**는 SAM 3의 가장 중요한 아키텍처 혁신이다. **인식(Recognition)**과 **위치파악(Localization)**을 분리한다.

기존 방식: 검출기가 "찾기"와 "있는지 판단" 동시 수행 → 최적화 충돌

SAM 3: Presence Head가 "있는지" 먼저 판단 → 검출기는 "찾기"에만 집중

**효과:**

| 구성 | CGF1 |

|------|------|

| Presence Head 없음 | 57.6 |

| **Presence Head 있음** | **63.3 (+5.7, +9.9%)** |

Decoupled Detector-Tracker 설계

SAM 2의 모놀리식 구조와 달리, SAM 3는 Detection과 Tracking을 **독립 모듈**로 분리:

- 공유: 백본 (Perception Encoder)

- 분리: 디코더 헤드 (검출 vs 추적)

- 장점: 태스크 간 간섭 감소, 독립적 스케일링 가능

학습 파이프라인 (4단계)

| 단계 | 내용 |

| ---- | ----------------------------------- |

| 1 | Perception Encoder 사전학습 |

| 2 | Detector 사전학습 |

| 3 | SA-Co 데이터로 Detector Fine-tuning |

| 4 | 백본 고정(frozen) 후 Tracker 학습 |

4.4 SA-Co 데이터셋

SAM 3는 **SA-Co (Segment Anything with Concepts)**라는 역대 최대·최다양 세그멘테이션 데이터셋으로 학습했다.

학습 데이터

| 서브셋 | 내용 |

| --------------- | ------------------------------------------------------ |

| **SA-Co/HQ** | 520만 고품질 이미지, 400만 고유 명사구, 5,200만 마스크 |

| **SA-Co/SYN** | 3,800만 합성 문구, **14억 마스크** (대규모 사전학습) |

| **SA-Co/VIDEO** | 52,500 비디오, 24,800 고유 개념, 467,000+ masklet |

**총 온톨로지: 2,200만 엔티티** (17개 상위 카테고리, 72개 하위 카테고리)

평가 벤치마크

| 벤치마크 | 설명 |

| ------------ | --------------------------------------- |

| SA-Co/Gold | 7개 다중 검토 이미지 서브셋 (최고 품질) |

| SA-Co/Silver | 10개 도메인 특화 이미지 서브셋 |

| SA-Co/VEval | 3개 비디오 평가 서브셋 |

- **214,000 고유 문구**, **126,000 이미지/비디오** → 기존 COCO/LVIS 대비 **50배 이상 다양한 개념**

추가 공개 데이터셋

- **SA-FARI**: 10,000+ 야생동물 카메라 트랩 비디오 (100+ 종 어노테이션)

- **FathomNet**: 해양 이미지 수중 세그멘테이션 벤치마크

4.5 성능 벤치마크

이미지 세그멘테이션 (Zero-Shot)

| 벤치마크 | 메트릭 | SAM 3 | 기존 최고 | 향상 |

| -------------- | --------- | -------- | ------------- | ----------------- |

| **LVIS** | Mask AP | **47.0** | 38.5 (T-Rex2) | +22.1% |

| **COCO** | Box AP | **53.5** | 52.2 | +2.5% |

| **SA-Co/Gold** | CGF1 | **65.0** | 34.3 | **+89.5% (~2배)** |

| ODinW | vs T-Rex2 | - | - | **+20.1 AP** |

비디오 세그멘테이션

| 벤치마크 | SAM 3 (J&F) | SAM 2.1 Large | 향상 |

| -------------- | ----------- | ------------- | ---------- |

| **MOSEv2** | **60.1** | 47.9 | **+25.5%** |

| **DAVIS 2017** | **92.0** | 90.7 | +1.4% |

| **LVOSv2** | **88.2** | 79.6 | **+10.8%** |

Exemplar 활용 효과

| 프롬프트 구성 | CGF1 | 텍스트 대비 향상 |

| ----------------------- | -------- | ---------------- |

| 텍스트만 | 46.4 | - |

| 텍스트 + 1 Exemplar | 57.6 | +11.2 |

| **텍스트 + 3 Exemplar** | **65.0** | **+18.6** |

속도 및 효율

- 추론 속도: H200 GPU에서 이미지당 **~30ms** (100+ 객체 검출 포함)

- 모델 크기: 848M 파라미터 (~3.4 GB)

- **16GB GPU에서 실행 가능**

- 인간 성능 대비: SA-Co/Gold에서 인간 하한의 **88%** 달성

4.6 설치 및 실행

공식 저장소

환경 생성

conda create -n sam3 python=3.12

conda activate sam3

PyTorch 설치

pip install torch==2.7.0 torchvision torchaudio \

--index-url https://download.pytorch.org/whl/cu126

SAM 3 설치

git clone https://github.com/facebookresearch/sam3.git

cd sam3

pip install -e .

선택: 노트북 또는 개발용

pip install -e ".[notebooks]"

pip install -e ".[train,dev]"

**이미지 세그멘테이션 (텍스트 프롬프트):**

from PIL import Image

from sam3.model_builder import build_sam3_image_model

from sam3.model.sam3_image_processor import Sam3Processor

model = build_sam3_image_model()

processor = Sam3Processor(model)

image = Image.open("path/to/image.jpg")

텍스트 프롬프트로 개념 세그멘테이션

inference_state = processor.set_image(image)

output = processor.set_text_prompt(

state=inference_state,

prompt="yellow school bus"

)

masks, boxes, scores = output["masks"], output["boxes"], output["scores"]

**비디오 추적:**

from sam3.model_builder import build_sam3_video_predictor

video_predictor = build_sam3_video_predictor()

response = video_predictor.handle_request(

request=dict(

type="start_session",

resource_path="path/to/video.mp4"

)

)

Ultralytics 통합

pip install -U ultralytics

from ultralytics.models.sam import SAM3SemanticPredictor

overrides = dict(

conf=0.25, task="segment", mode="predict",

model="sam3.pt", half=True

)

predictor = SAM3SemanticPredictor(overrides=overrides)

predictor.set_image("path/to/image.jpg")

여러 개념 동시 세그멘테이션

results = predictor(text=["person", "bus", "glasses"])

5. 세 모델 비교 종합

5.1 아키텍처 비교

| 항목 | SAM 1 | SAM 2 | SAM 3 |

| ------------- | ---------------------------- | ------------------------ | ------------------------------------------ |

| 이미지 인코더 | ViT (MAE) | Hiera (MAE) | Meta Perception Encoder |

| 파라미터 | 636M (ViT-H) | 224.4M (Hiera-L) | 848M |

| 프롬프트 | 포인트, 박스, 마스크, 텍스트 | 포인트, 박스, 마스크 | **텍스트, Exemplar**, 포인트, 박스, 마스크 |

| 시간 모델링 | 없음 | Memory Attention | Memory + Tracker |

| 검출기 | 없음 | 없음 | **DETR 기반** |

| Occlusion | 미지원 | Occlusion Head | Occlusion + Presence Head |

| 출력 | 마스크 + IoU | 마스크 + IoU + Occlusion | 마스크 + 박스 + 점수 + 개념 |

5.2 데이터셋 비교

| 항목 | SA-1B (SAM 1) | SA-V (SAM 2) | SA-Co (SAM 3) |

| --------- | --------------------- | ------------ | -------------------- |

| 이미지 | 1,100만 | - | 520만 (HQ) |

| 비디오 | - | 50,900 | 52,500 |

| 마스크 | 11억 | 3,550만 | **14억+ (SYN 포함)** |

| 개념/라벨 | 없음 (Class-Agnostic) | 없음 | **2,200만 엔티티** |

| 고유 문구 | - | - | 400만 |

5.3 성능 진화

| 벤치마크 | SAM 1 | SAM 2/2.1 | SAM 3 |

| ---------------- | -------- | --------------- | -------------------------------- |

| DAVIS 2017 (J&F) | N/A | 90.7 | **92.0** |

| MOSE val (J&F) | N/A | 74.6 | **60.1** (MOSEv2, 다른 벤치마크) |

| 이미지 속도 대비 | 기준 | **6배 빠름** | ~30ms/이미지 |

| Zero-Shot 능력 | 기하학적 | 기하학적 + 시간 | **개념 수준** |

6. 실전 활용 시나리오

6.1 SAM 1이 적합한 경우

- 단일 이미지에서 **빠른 세그멘테이션**이 필요할 때

- 인터랙티브 어노테이션 도구 구축

- **기존 파이프라인에 간단히 통합**할 때 (가장 성숙한 생태계)

6.2 SAM 2가 적합한 경우

- **비디오 객체 추적**이 필요할 때

- 실시간 비디오 스트리밍 분석

- 가려짐(Occlusion) 처리가 중요한 시나리오

- 이미지에서도 SAM 1보다 빠른 속도 필요 시

6.3 SAM 3가 적합한 경우

- **자연어로 검색**하며 세그멘테이션할 때 ("모든 자동차를 찾아줘")

- Open-Vocabulary 객체 검출 + 세그멘테이션

- 시각적 예시 기반 **Few-Shot 세그멘테이션**

- 대규모 이미지/비디오 자동 라벨링

6.4 실제 배포 사례 (SAM 3)

- **Instagram Edits 앱**: 비디오 속 특정 인물/객체에 동적 이펙트 적용

- **Facebook Marketplace "View in Room"**: AR 가구 배치 (SAM 3 + SAM 3D)

- **야생동물 보전**: SA-FARI 데이터셋 기반 카메라 트랩 모니터링

7. 공부 로드맵

SAM 시리즈를 깊이 이해하고 활용하기 위한 단계별 학습 가이드.

7.1 사전 지식

| 순서 | 주제 | 추천 자료 |

| ---- | ---------------------------- | ----------------------------------------------------------------------------------------------------------- |

| 1 | **Vision Transformer (ViT)** | [An Image is Worth 16x16 Words](https://arxiv.org/abs/2010.11929) |

| 2 | **MAE (Masked Autoencoder)** | [Masked Autoencoders Are Scalable Vision Learners](https://arxiv.org/abs/2111.06377) |

| 3 | **DETR** | [End-to-End Object Detection with Transformers](https://arxiv.org/abs/2005.12872) |

| 4 | **CLIP** | [Learning Transferable Visual Models](https://arxiv.org/abs/2103.00020) |

| 5 | **Hiera** | [Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles](https://arxiv.org/abs/2306.00989) |

7.2 핵심 논문 읽기 순서

1. SAM 1 논문 (2023) → 기초 개념 확립

2. SAM 2 논문 (2024) → 비디오 확장 이해

3. SAM 3 논문 (2025) → 개념 인식 이해

4. 각 GitHub 레포의 노트북 실습

7.3 실습 추천

| 단계 | 실습 | 난이도 |

| ---- | ------------------------------------- | ------ |

| 1 | SAM 1 자동 마스크 생성 (Colab 노트북) | 쉬움 |

| 2 | SAM 2 비디오 추적 실습 | 중간 |

| 3 | SAM 3 텍스트 프롬프트 세그멘테이션 | 중간 |

| 4 | SAM + Grounding DINO 파이프라인 구축 | 어려움 |

| 5 | 커스텀 데이터셋 Fine-tuning | 어려움 |

| 6 | ONNX/TensorRT 변환 및 Edge 배포 | 고급 |

7.4 관련 후속 연구

| 모델 | 특징 | 논문 |

| ---------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------- |

| **EfficientSAM** | 경량화 SAM (SAMI 증류) | [arxiv.org/abs/2312.00863](https://arxiv.org/abs/2312.00863) |

| **FastSAM** | CNN 기반 실시간 SAM | [arxiv.org/abs/2306.12156](https://arxiv.org/abs/2306.12156) |

| **MobileSAM** | 모바일 최적화 SAM | [arxiv.org/abs/2306.14289](https://arxiv.org/abs/2306.14289) |

| **Grounded SAM** | Grounding DINO + SAM | [github.com/IDEA-Research/Grounded-Segment-Anything](https://github.com/IDEA-Research/Grounded-Segment-Anything) |

| **SAM-HQ** | 고품질 마스크 SAM | [arxiv.org/abs/2306.01567](https://arxiv.org/abs/2306.01567) |

| **SAM 3D** | 3D 객체/인체 복원 (Meta) | [ai.meta.com/sam3](https://ai.meta.com/sam3/) |

8. References

핵심 논문

1. Kirillov, A., Mintun, E., Ravi, N., et al. (2023). **"Segment Anything"**. ICCV 2023. [arxiv.org/abs/2304.02643](https://arxiv.org/abs/2304.02643)

2. Ravi, N., Gabeur, V., Hu, Y.-T., et al. (2024). **"SAM 2: Segment Anything in Images and Videos"**. [arxiv.org/abs/2408.00714](https://arxiv.org/abs/2408.00714)

3. Carion, N., Gustafson, L., Hu, Y.-T., et al. (2025). **"SAM 3: Segment Anything with Concepts"**. ICLR 2026. [arxiv.org/abs/2511.16719](https://arxiv.org/abs/2511.16719)

사전 지식 논문

4. Dosovitskiy, A., et al. (2021). **"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale"**. ICLR 2021. [arxiv.org/abs/2010.11929](https://arxiv.org/abs/2010.11929)

5. He, K., et al. (2022). **"Masked Autoencoders Are Scalable Vision Learners"**. CVPR 2022. [arxiv.org/abs/2111.06377](https://arxiv.org/abs/2111.06377)

6. Carion, N., et al. (2020). **"End-to-End Object Detection with Transformers (DETR)"**. ECCV 2020. [arxiv.org/abs/2005.12872](https://arxiv.org/abs/2005.12872)

7. Radford, A., et al. (2021). **"Learning Transferable Visual Models From Natural Language Supervision (CLIP)"**. ICML 2021. [arxiv.org/abs/2103.00020](https://arxiv.org/abs/2103.00020)

8. Ryali, C., et al. (2023). **"Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles"**. ICML 2023. [arxiv.org/abs/2306.00989](https://arxiv.org/abs/2306.00989)

GitHub 저장소

9. [github.com/facebookresearch/segment-anything](https://github.com/facebookresearch/segment-anything) — SAM 1

10. [github.com/facebookresearch/sam2](https://github.com/facebookresearch/sam2) — SAM 2

11. [github.com/facebookresearch/sam3](https://github.com/facebookresearch/sam3) — SAM 3

해설 및 튜토리얼

12. Ultralytics SAM Documentation — [docs.ultralytics.com/models/sam](https://docs.ultralytics.com/models/sam/)

13. Ultralytics SAM 2 Documentation — [docs.ultralytics.com/models/sam-2](https://docs.ultralytics.com/models/sam-2/)

14. Ultralytics SAM 3 Documentation — [docs.ultralytics.com/models/sam-3](https://docs.ultralytics.com/models/sam-3/)

15. Encord Blog: Segment Anything Model Explained — [encord.com/blog/segment-anything-model-explained](https://encord.com/blog/segment-anything-model-explained/)

16. Roboflow: What is SAM 3 — [blog.roboflow.com/what-is-sam3](https://blog.roboflow.com/what-is-sam3/)

17. Meta AI Blog: Introducing SAM 3 — [ai.meta.com/blog/segment-anything-model-3](https://ai.meta.com/blog/segment-anything-model-3/)

프로젝트 페이지 및 데이터셋

18. Meta AI SAM 2 Project — [ai.meta.com/sam2](https://ai.meta.com/sam2/)

19. Meta AI SAM 3 Project — [ai.meta.com/sam3](https://ai.meta.com/sam3/)

20. SA-1B Dataset — [ai.meta.com/datasets/segment-anything](https://ai.meta.com/datasets/segment-anything/)

21. SA-V Dataset — [ai.meta.com/datasets/segment-anything-video](https://ai.meta.com/datasets/segment-anything-video/)

현재 단락 (1/469)

**Segment Anything Model(SAM)**은 Meta AI Research가 발표한 이미지·비디오 세그멘테이션 분야의 Foundation Model 시리즈다. NLP...

작성 글자: 0원문 글자: 20,384작성 단락: 0/469