Skip to main content

SAM 3: 개념 기반 객체 분할(Segment Anything with Concepts)

Ultralytics에서 지금 바로 사용 가능

SAM 3는 다음 버전부터 Ultralytics 패키지에 완전히 통합되었습니다. 버전 8.3.237 (PR #22897). 텍스트 기반 개념 분할, 이미지 예시 프롬프트, 비디오 추적을 포함한 모든 SAM 3 기능을 이용하려면 pip install -U ultralytics을(를) 설치하거나 업그레이드하십시오.

SAM 3 프롬프트 기반 개념 분할 개요

SAM 3 (Segment Anything Model 3)는 Meta에서 출시한 Promptable Concept Segmentation (PCS)를 위한 파운데이션 모델입니다. SAM 2를 기반으로 구축된 SAM 3는 텍스트 프롬프트, 이미지 예시, 또는 둘 다를 사용하여 지정된 시각적 개념의 모든 인스턴스를 감지, 분할 및 추적하는 근본적으로 새로운 기능을 도입했습니다. 프롬프트당 단일 객체를 분할하던 이전 SAM 버전과 달리, SAM 3는 이미지나 비디오 어디에든 나타나는 개념의 모든 발생 사례를 찾아 분할할 수 있으며, 최신 인스턴스 분할.



Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos

의 오픈 어휘(open-vocabulary) 목표와 일치합니다.ultralytics 패키지에 완전히 통합되어 텍스트 프롬프트, 이미지 예시 프롬프트 및 비디오 추적 기능을 통한 개념 분할을 기본적으로 지원합니다.

개요

SAM 3는 2배 성능 향상을 달성했으며, 동시에 대화형 시각적 분할에 대한 SAM 2의 기능을 유지하고 개선했습니다. 이 모델은 오픈 어휘 분할에 탁월하며, 사용자가 간단한 명사구(예: "노란색 스쿨버스", "줄무늬 고양이")를 사용하거나 대상 객체의 예시 이미지를 제공하여 개념을 지정할 수 있습니다. 이러한 기능은 효율적인 predicttrack 워크플로에 의존하는 프로덕션 준비 파이프라인을 보완합니다.

SAM 3 텍스트 프롬프트 분할 예시

Promptable Concept Segmentation (PCS)이란 무엇인가요?

PCS 작업은 개념 프롬프트(concept prompt)를 입력으로 받아 일치하는 모든 객체 인스턴스에 대해 고유 식별자가 포함된 분할 마스크를 반환합니다. 개념 프롬프트는 다음과 같습니다:

  • 텍스트: 제로샷 학습
  • 과 유사한 "빨간 사과" 또는 "모자를 쓴 사람"과 같은 간단한 명사구이미지 예시
  • : 빠른 일반화를 위해 대상 객체를 둘러싼 BBox(긍정 또는 부정)결합형

: 정밀한 제어를 위해 텍스트와 이미지 예시를 함께 사용이 작업은 오직 하나의 특정 객체 인스턴스만 분할하던 전통적인 시각적 프롬프트(포인트, 박스, 마스크) 방식과는 다르며, 이는 원조 .

SAM 제품군

에 의해 대중화되었습니다.핵심 성능 지표
지표SAM 3 달성 수치LVIS 제로샷 마스크 AP
47.0 (이전 최고 기록 38.5 대비, +22% 향상)SA-Co 벤치마크
2배 더 우수 기존 시스템 대비추론 속도 (H200 GPU)
30 ms100개 이상의 객체를 감지할 때 이미지당
비디오 성능~5개의 동시 객체에 대해 실시간에 가까운 속도MOSEv2 VOS 벤치마크
60.1 J&F (SAM 2.1 대비 +25.5%, 이전 SOTA 대비 +17%)대화형 개선
+18.6 CGF13개의 예시 프롬프트 사용 후 개선인간 성능 격차SA-Co/Gold 기준 추정 하한의

88% 달성프로덕션 환경에서의 모델 지표 및 트레이드오프에 대한 맥락은 .

모델 평가 통찰력

YOLO 성능 지표아키텍처SAM 3는 Perception Encoder(PE) 비전 백본을 공유하는 감지기(detector)추적기(tracker).

로 구성됩니다. 이러한 디커플링(decoupled) 설계는 작업 충돌을 방지하면서 이미지 수준의 감지와 비디오 수준의 추적을 모두 가능하게 하며, Ultralytics

  • Python 사용법: CLI 사용법과 호환되는 인터페이스를 제공합니다.

    • 핵심 구성 요소
    • 감지기(Detector)
    • DETR 기반 아키텍처
    • (이미지 수준 개념 감지용)명사구 프롬프트를 위한 텍스트 인코더이미지 기반 프롬프트를 위한 예시 인코더
    • 프롬프트를 기반으로 이미지 특징을 조정하기 위한 퓨전 인코더
  • 인식("무엇")과 위치 파악("어디")을 분리하는 새로운 존재 헤드(presence head)SAM 2

  • 프레임 전반에 걸쳐 객체 모양을 저장하기 위한 메모리 뱅크다중 객체 환경에서

칼만 필터(Kalman filter)

와 같은 기술의 도움을 받는 시간적 모호성 해소

  1. 존재 토큰(Presence Token): 인식과 위치 파악을 분리하여 감지를 개선하고, 이미지/프레임 내에 대상 개념이 존재하는지 여부를 예측하는 학습된 글로벌 토큰입니다.
  2. 통합 개념 및 시각적 프롬프트: 단일 모델에서 PCS(개념 프롬프트)와 PVS(SAM 2의 클릭/박스와 같은 시각적 프롬프트)를 모두 지원합니다.
  3. 대화형 예시 개선(Interactive Exemplar Refinement): 사용자가 긍정 또는 부정 이미지 예시를 추가하여 반복적으로 결과를 개선할 수 있으며, 모델은 개별 인스턴스를 수정하는 것을 넘어 유사한 객체로 일반화합니다.
  4. 시간적 모호성 해소(Temporal Disambiguation): masklet 탐지 점수와 주기적인 재프롬프팅을 사용하여 비디오에서의 가려짐, 혼잡한 장면, 추적 실패를 처리하며, instance segmentation and tracking 모범 사례에 부합합니다.

SA-Co 데이터셋

SAM 3는 Segment Anything with Concepts (SA-Co)로 학습되었습니다. 이는 Meta의 가장 크고 다양한 세그멘테이션 데이터셋으로, COCO와 같은 일반적인 벤치마크를 넘어섭니다..

학습 데이터

데이터셋 구성 요소설명(Description)규모
SA-Co/HQ4단계 데이터 엔진을 통해 사람이 주석을 단 고품질 이미지 데이터5.2M 이미지, 4M 고유 명사구
SA-Co/SYN사람의 개입 없이 AI가 레이블을 지정한 합성 데이터셋38M 명사구, 1.4B 마스크
SA-Co/EXT어려운 부정 예시(hard negatives)로 강화된 15개 외부 데이터셋소스에 따라 다름
SA-Co/VIDEO시간적 추적 기능이 포함된 비디오 주석52.5K 비디오, 24.8K 고유 명사구

벤치마크 데이터

배치 사이즈(SA-Co 평가 벤치마크214K 고유 구문126K 이미지 및 비디오에 걸쳐 포함하고 있으며, 기존 벤치마크보다 50× 이상의 개념을 제공합니다. 다음을 포함합니다:

  • SA-Co/Gold: 7개 도메인, 인간 성능 범위를 측정하기 위해 삼중 주석 처리됨
  • SA-Co/Silver: 10개 도메인, 단일 인간 주석
  • SA-Co/BronzeSA-Co/Bio: 개념 세그멘테이션을 위해 적응된 9개 기존 데이터셋
  • SA-Co/VEval: 3개 도메인(SA-V, YT-Temporal-1B, SmartGlasses)을 포함한 비디오 벤치마크

데이터 엔진 혁신

SAM 3의 확장 가능한 인간 및 모델 결합(human- and model-in-the-loop) 데이터 엔진은 다음을 통해 2× 주석 처리량을 달성합니다:

  1. AI 주석가(AI Annotators): Llama 기반 모델이 어려운 부정 예시를 포함한 다양한 명사구를 제안합니다.
  2. AI 검증자(AI Verifiers): 파인튜닝된 multimodal LLMs가 인간 수준에 가까운 성능으로 마스크 품질과 완전성을 검증합니다.
  3. 능동적 마이닝(Active Mining): AI가 어려움을 겪는 복잡한 실패 사례에 인간의 노력을 집중합니다.
  4. 온톨로지 기반(Ontology-Driven): 개념 범위를 위해 Wikidata에 근거한 대규모 온톨로지를 활용합니다.

설치

SAM 3는 Ultralytics 버전 8.3.237 버전 이상에서 사용할 수 있습니다. 다음으로 설치하거나 업그레이드하십시오:

pip install -U ultralytics
SAM 3 모델 가중치 필수

다른 Ultralytics 모델과 달리 SAM 3 가중치(sam3.pt)는 자동으로 다운로드되지 않습니다. 먼저 Hugging Face의 SAM 3 모델 페이지에서 모델 가중치에 대한 액세스를 요청해야 하며, 승인 후 해당 페이지에서 sam3.pt를 다운로드해야 합니다. 다운로드한 sam3.pt 파일을 작업 디렉토리에 배치하거나 모델을 로드할 때 전체 경로를 지정하십시오.

`TypeError: 'SimpleTokenizer' object is not callable`

예측 중에 위 오류가 발생하면 잘못된 clip 패키지가 설치된 것입니다. 다음을 실행하여 올바른 clip 패키지를 설치하십시오:

pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.git

SAM 3 사용 방법: 개념 세그멘테이션의 다양성

SAM 3는 서로 다른 예측 인터페이스를 통해 프롬프트 기반 개념 세그멘테이션(PCS) 및 프롬프트 기반 시각적 세그멘테이션(PVS) 작업을 모두 지원합니다:

지원되는 작업 및 모델

작업 유형프롬프트 유형출력
개념 세그멘테이션 (PCS)텍스트(명사구), 이미지 예시개념과 일치하는 모든 인스턴스
시각적 세그멘테이션 (PVS)포인트, 박스, 마스크단일 객체 인스턴스 (SAM 2 스타일)
60.1 J&F예시 또는 클릭을 반복적으로 추가/제거향상된 정확도로 정교화된 세그멘테이션

개념 세그멘테이션 예시

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

텍스트 기반 개념 세그멘테이션

텍스트 설명을 사용하여 개념의 모든 인스턴스를 찾아 세그멘테이션합니다. 텍스트 프롬프트는 SAM3SemanticPredictor 인터페이스가 필요합니다.

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=True,
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")

# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"])

# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"])

# Query with a single concept
results = predictor(text=["a person"])

이미지 예시로 세그멘테이션

이미지 예시 기반 세분화 (Segmentation)

바운딩 박스(BBox)를 시각적 프롬프트로 사용하여 유사한 모든 인스턴스를 찾습니다. 이는 또한 SAM3SemanticPredictor 개념 기반 매칭을 위해 필요합니다.

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True, save=True)
predictor = SAM3SemanticPredictor(overrides=overrides)

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

# Provide bounding box examples to segment similar objects
results = predictor(bboxes=[[480.0, 290.0, 590.0, 650.0]])

# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]])

효율성을 위한 특징(Feature) 기반 추론

다중 쿼리를 위한 이미지 특징 재사용

이미지 특징을 한 번 추출한 후 여러 세분화 쿼리에 재사용하여 효율성을 개선합니다.

import cv2

from ultralytics.models.sam import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors

# Initialize predictors
overrides = dict(conf=0.50, task="segment", mode="predict", model="sam3.pt", verbose=False)
predictor = SAM3SemanticPredictor(overrides=overrides)
predictor2 = SAM3SemanticPredictor(overrides=overrides)

# Extract features from the first predictor
source = "path/to/image.jpg"
predictor.set_image(source)
src_shape = cv2.imread(source).shape[:2]

# Setup second predictor and reuse features
predictor2.setup_model()

# Perform inference using shared features with text prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, text=["person"])

# Perform inference using shared features with bounding box prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, bboxes=[[439, 437, 524, 709]])

# Visualize results
if masks is not None:
    masks, boxes = masks.cpu().numpy(), boxes.cpu().numpy()
    im = cv2.imread(source)
    annotator = Annotator(im, pil=False)
    annotator.masks(masks, [colors(x, True) for x in range(len(masks))])

    cv2.imshow("result", annotator.result())
    cv2.waitKey(0)

비디오 개념 세분화

바운딩 박스를 사용한 비디오 내 개념 추적

시각적 프롬프트를 사용한 비디오 트래킹

바운딩 박스 프롬프트를 사용하여 비디오 프레임 전반에 걸쳐 객체 인스턴스를 감지하고 추적합니다.

from ultralytics.models.sam import SAM3VideoPredictor

# Create video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3VideoPredictor(overrides=overrides)

# Track objects using bounding box prompts
results = predictor(source="path/to/video.mp4", bboxes=[[706.5, 442.5, 905.25, 555], [598, 635, 725, 750]], stream=True)

# Process and display results
for r in results:
    r.show()  # Display frame with segmentation masks

텍스트 프롬프트로 개념 추적

시맨틱 쿼리를 사용한 비디오 트래킹

비디오 프레임 전체에서 텍스트로 지정된 개념의 모든 인스턴스를 추적합니다.

from ultralytics.models.sam import SAM3VideoSemanticPredictor

# Initialize semantic video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=640, model="sam3.pt", half=True, save=True)
predictor = SAM3VideoSemanticPredictor(overrides=overrides)

# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True)

# Process results
for r in results:
    r.show()  # Display frame with tracked objects

# Alternative: Track with bounding box prompts
results = predictor(
    source="path/to/video.mp4",
    bboxes=[[864, 383, 975, 620], [705, 229, 782, 402]],
    labels=[1, 1],  # Positive labels
    stream=True,
)

시각적 프롬프트 (SAM 2 호환성)

SAM 3는 단일 객체 세분화를 위한 SAM 2의 시각적 프롬프팅과 완벽한 하위 호환성을 유지합니다:

SAM 2 스타일 시각적 프롬프트

기본 SAM 인터페이스는 SAM 2와 정확히 동일하게 작동하며, 시각적 프롬프트(포인트, 박스 또는 마스크)로 표시된 특정 영역만 세분화합니다.

from ultralytics import SAM

model = SAM("sam3.pt")

# Single point prompt - segments object at specific location
results = model.predict(source="path/to/image.jpg", points=[900, 370], labels=[1])
results[0].show()

# Multiple points - segments single object with multiple point hints
results = model.predict(source="path/to/image.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])

# Box prompt - segments object within bounding box
results = model.predict(source="path/to/image.jpg", bboxes=[100, 150, 300, 400])
results[0].show()
시각적 프롬프트 대 개념 세분화

시각적 프롬프트(포인트/박스/마스크)와 함께 SAM("sam3.pt")을 사용하면 SAM 2와 마찬가지로 해당 위치의 특정 객체만 세분화합니다. 개념의 모든 인스턴스를 세분화하려면 위와 같이 SAM3SemanticPredictor을 텍스트 또는 예시 프롬프트와 함께 사용하십시오.

성능 벤치마크

이미지 세분화

SAM 3는 와 같은 일반적인 벤치마크를 넘어섭니다.세분화를 위한 COCO:

Benchmark에 의해 대중화되었습니다.SAM 3와 같은 실제 데이터셋을 포함한 여러 벤치마크에서 최첨단 결과를 달성합니다.개선 사항
LVIS (zero-shot)Mask APSAM 3 달성 수치38.5+22.1%
SA-Co/GoldCGF165.034.3 (OWLv2)+89.5%
COCO (zero-shot)Box AP53.552.2 (T-Rex2)+2.5%
ADE-847 (semantic seg)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458.5 (APE-D)+1.5%
Cityscapes (semantic seg)mIoU65.144.2 (APE-D)+47.3%

빠른 실험을 위한 데이터셋 옵션은 다음에서 확인하십시오: Ultralytics 데이터셋.

비디오 세분화 성능

SAM 3는 다음을 포함한 비디오 벤치마크에서 SAM 2 및 이전 최첨단 모델 대비 상당한 성능 향상을 보여줍니다: DAVIS 2017YouTube-VOS:

Benchmark에 의해 대중화되었습니다.SAM 3SAM 2.1 L개선 사항
MOSEv2J&F60.147.9+25.5%
DAVIS 2017J&F92.090.7+1.4%
LVOSv2J&F88.279.6+10.8%
SA-VJ&F84.678.4+7.9%
YTVOS19J&F89.689.3+0.3%

Few-Shot 적응성

SAM 3는 최소한의 예시만으로 새로운 도메인에 적응하는 데 탁월하며, 이는 다음 워크플로우에 유용합니다: 데이터 중심 AI 워크플로우:

Benchmark0-shot AP10-shot AP이전 최고 성능 (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.7 (gDino-T)

상호작용 기반 개선 효과

SAM 3의 예시(exemplar)를 활용한 개념 기반 프롬프팅은 시각적 프롬프팅보다 훨씬 빠르게 수렴합니다:

추가된 프롬프트CGF1 점수텍스트 전용 대비 향상PVS 기준 모델 대비 향상
텍스트 전용46.4기준기준
+1 예시57.6+11.2+6.7
+2 예시62.2+15.8+9.7
+3 예시65.0+18.6+11.2
+4 예시65.7+19.3+11.5 (정체)

객체 계수 정확도

SAM 3는 모든 인스턴스를 세그멘테이션하여 정확한 계수를 제공하며, 이는 객체 계수:

Benchmark에서 흔히 요구되는 사항입니다.정확도MAE
최고 MLLM 대비CountBench95.6%0.11
92.4% (Gemini 2.5)PixMo-Count87.3%0.22

88.8% (Molmo-72B)

SAM 3 대 SAM 2 대 YOLO 비교SAM 2여기에서는 SAM 3의 기능을 YOLO26

모델과 비교합니다:SAM 3SAM 2기능
YOLO26n-seg개념 세그멘테이션✅ 텍스트/예시를 통한 모든 인스턴스✅ 텍스트/예시를 통한 모든 인스턴스
❌ 지원 안 함시각적 세그멘테이션✅ 단일 인스턴스 (SAM 2 호환)✅ 단일 인스턴스
✅ 모든 인스턴스제로샷 기능✅ 개방형 어휘✅ 기하학적 프롬프트
60.1 J&F❌ 폐쇄형 세트✅ 예시 + 클릭✅ 텍스트/예시를 통한 모든 인스턴스
✅ 클릭 전용비디오 트래킹✅ 아이디어가 포함된 다중 객체✅ 아이디어가 포함된 다중 객체
✅ 다중 객체SAM 3 달성 수치LVIS Mask AP (제로샷)LVIS Mask AP (제로샷)
N/A60.147.9LVIS Mask AP (제로샷)
MOSEv2 J&F속도 (GPU, ms/im)2921857
8.4모델 크기3.45 GB162 MB (base)

6.4 MBtorch==2.9.1ultralytics==8.4.19.

NVIDIA RTX PRO 6000에서 벤치마킹된 속도, :

가 가능하여 GPU, CPU 및 엣지 장치에 배포할 수 있습니다.

SAM 대 YOLO 비교

SAM 3, SAM 2, SAM, MobileSAM 및 FastSAM을 Ultralytics YOLO 세그멘테이션 모델(YOLOv8, YOLO11, YOLO26)과 크기, 파라미터 및 GPU 추론 속도 측면에서 비교합니다:모델
크기
(MB)
파라미터
(M)
속도 (GPU)
(ms/im)Meta SAM-b37593.7
1306Meta SAM2-b1622921
80.8Meta SAM2-t78.138.9
668Meta SAM33450속도 (GPU, ms/im)
MobileSAM40.710.1605
FastSAM-s (YOLOv8 백본 사용)23.711.855.9
Ultralytics YOLOv8n-seg6.7 (515배 작음)3.4 (139.1배 적음)17.4 (167배 빠름)
Ultralytics YOLO11n-seg5.9 (585배 작음)2.9 (163.1배 적음)12.6 (231배 빠름)
Ultralytics 기능6.4 (539배 작음)2.7 (175.2배 적음)857 (347배 빠름)

이 비교는 SAM 변형 모델과 YOLO 세그멘테이션 모델 간의 모델 크기 및 속도 차이를 명확히 보여줍니다. SAM은 독보적인 자동 세그멘테이션 기능을 제공하지만, YOLO 모델, 특히 YOLOv8n-seg, YOLO11n-seg 및 YOLO26n-seg는 훨씬 작고 빠르며 계산 효율성이 뛰어납니다.

테스트는 96GB VRAM을 갖춘 NVIDIA RTX PRO 6000에서 수행되었으며, torch==2.9.1ultralytics==8.4.19을 사용했습니다. 이 테스트를 재현하려면 다음을 참조하십시오:

예시
from ultralytics import ASSETS, SAM, YOLO, FastSAM

# Profile SAM3, SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt", "sam3.pt"]:
    model = SAM(file)
    model.info()
    model(ASSETS)

# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)

# Profile YOLO models
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
    model = YOLO(file_name)
    model.info()
    model(ASSETS)

평가 지표

SAM 3는 PCS 작업을 위해 설계된 새로운 지표를 도입하였으며, 기존의 F1 score, 정밀도ClearMLrecall.

Classification-Gated F1 (CGF1)

로컬라이제이션과 분류를 결합한 주요 지표입니다:

CGF1 = 100 × pmF1 × IL_MCC

구성 요소:

  • pmF1 (Positive Macro F1): 긍정적 샘플에 대한 로컬라이제이션 품질 측정
  • IL_MCC (Image-Level Matthews Correlation Coefficient): 이진 분류 정확도 측정 ("개념이 존재하는가?")

왜 이러한 지표를 사용하는가?

기존의 AP 지표는 보정(calibration)을 고려하지 않아 실무에서 모델을 사용하기 어렵게 만듭니다. SAM 3의 지표는 0.5 신뢰도 이상의 예측만 평가함으로써 우수한 보정을 강제하고 대화형 predicttrack 루프에서의 실제 사용 패턴을 모방합니다.

주요 어블레이션 연구 및 통찰

Presence Head의 영향

Presence head는 인식과 로컬라이제이션을 분리하여 다음과 같은 유의미한 향상을 제공합니다:

구성CGF1IL_MCCpmF1
Presence 없음57.60.7774.7
Presence 있음63.30.8277.1

Presence head는 +5.7 CGF1 향상 (+9.9%)을 제공하며, 특히 인식 능력(IL_MCC +6.5%)을 개선합니다.

Hard Negative의 효과

이미지당 Hard NegativeCGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

Hard negative는 오픈 보캐블러리 인식에 중요하며, IL_MCC를 54.5% (0.44 → 0.68) 향상시킵니다.

학습 데이터 스케일링

데이터 소스CGF1IL_MCCpmF1
외부 데이터만 사용30.90.4666.3
외부 + 합성 데이터39.70.5770.6
외부 + 고품질(HQ) 데이터51.80.7173.2
모두 포함54.30.7473.5

고품질의 사람이 수행한 어노테이션은 합성 데이터나 외부 데이터만 사용하는 것보다 큰 성능 향상을 제공합니다. 데이터 품질 관리에 대한 배경 지식은 다음을 참조하십시오: 데이터 수집 및 어노테이션.

응용 분야

SAM 3의 개념 세그멘테이션 기능은 새로운 활용 사례를 가능하게 합니다:

  • 콘텐츠 모더레이션: 미디어 라이브러리 전체에서 특정 콘텐츠 유형의 모든 인스턴스를 찾습니다.
  • 전자상거래: 카탈로그 이미지에서 특정 유형의 모든 제품을 세그멘테이션하며, 다음을 지원합니다: 자동 어노테이션
  • 의료 영상: 특정 조직 유형이나 이상 현상의 모든 발생 사례를 식별합니다.
  • 자율 시스템: 카테고리별로 교통 표지판, 보행자 또는 차량의 모든 인스턴스를 추적합니다.
  • 비디오 분석: 특정 복장을 착용하거나 특정 동작을 수행하는 모든 사람을 계수하고 추적합니다.
  • 데이터셋 어노테이션: 희귀 객체 카테고리의 모든 인스턴스를 신속하게 어노테이션합니다.
  • 과학 연구: 특정 기준을 충족하는 모든 표본을 정량화하고 분석합니다.

SAM 3 에이전트: 확장된 언어 추론

SAM 3는 다중 모달 대규모 언어 모델(MLLM)과 결합하여 다음과 같은 오픈 어휘 시스템과 유사한 추론이 필요한 복잡한 쿼리를 처리할 수 있습니다. OWLv2T-Rex.

추론 작업 성능

Benchmark에 의해 대중화되었습니다.SAM 3 에이전트 (Gemini 2.5 Pro)와 같은 실제 데이터셋을 포함한 여러 벤치마크에서 최첨단 결과를 달성합니다.
ReasonSeg (검증)gIoU76.065.0 (SoTA)
ReasonSeg (테스트)gIoU73.861.3 (SoTA)
OmniLabel (검증)AP46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

복잡한 쿼리 예시

SAM 3 에이전트는 추론이 필요한 쿼리를 처리할 수 있습니다:

  • "앉아 있지만 손에 선물 상자를 들고 있지 않은 사람들"
  • "목걸이를 착용하지 않은 카메라와 가장 가까운 개"
  • "사람의 손보다 큰 빨간색 물체"

MLLM은 SAM 3에 간단한 명사구 쿼리를 제안하고, 반환된 마스크를 분석하며, 만족스러운 결과가 나올 때까지 반복합니다.

제한 사항

SAM 3는 큰 발전을 의미하지만, 다음과 같은 특정 제한 사항이 있습니다:

  • 구문 복잡성: 간단한 명사구에 가장 적합하며, 긴 참조 표현이나 복잡한 추론은 MLLM 통합이 필요할 수 있습니다.
  • 모호성 처리: 일부 개념은 본질적으로 모호합니다 (예: "작은 창문", "아늑한 방").
  • 계산 요구 사항: YOLO와 같은 특수 감지 모델보다 더 크고 느립니다.YOLO
  • 어휘 범위: 원자적 시각 개념에 중점을 두고 있으며, MLLM 지원 없이는 구성적 추론이 제한적입니다.
  • 희귀 개념: 학습 데이터에 잘 표현되지 않은 매우 희귀하거나 세밀한 개념에서는 성능이 저하될 수 있습니다.

인용

인용구
@inproceedings{sam3_2025,
  title     = {SAM 3: Segment Anything with Concepts},
  author    = {Anonymous authors},
  booktitle = {Submitted to ICLR 2026},
  year      = {2025},
  url       = {https://openreview.net/forum?id=r35clVtGzw},
  note      = {Paper ID: 4183, under double-blind review}
}

FAQ

SAM 3는 언제 출시되었습니까?

SAM 3는 Meta에 의해 2025년 11월 20일에 출시되었으며, 2025년 11월 20일부터 Ultralytics에 완전히 통합되었습니다. 버전 8.3.237 (PR #22897) 에 대한 전체 지원이 제공됩니다.predict mode추적 모드.

SAM 3가 Ultralytics에 통합되어 있습니까?

네! SAM 3는 개념 세그멘테이션, SAM 2 스타일의 시각적 프롬프트, 다중 객체 비디오 추적을 포함하여 Ultralytics Python 패키지에 완전히 통합되어 있습니다. SAM 3는 또한 다음의 '스마트 어노테이션' 기능을 지원합니다. 스마트 어노테이션 기능 (위치: Ultralytics Platform), 여기에서 클릭 몇 번으로 이미지를 어노테이션할 수 있습니다.

프롬프트 가능 개념 세그멘테이션(PCS)이란 무엇입니까?

PCS는 SAM 3에서 도입된 새로운 작업으로, 이미지나 비디오에서 시각적 개념의 모든 인스턴스을 세그멘테이션합니다. 특정 객체 인스턴스를 대상으로 하는 기존 세그멘테이션과 달리, PCS는 카테고리의 모든 발생 사례를 찾습니다. 예시:

  • 텍스트 프롬프트: "노란색 스쿨버스" → 장면 내의 모든 노란색 스쿨버스를 세그멘테이션합니다.
  • 이미지 예시: 개 한 마리를 감싸는 박스 → 이미지 내의 모든 개를 세그멘테이션합니다.
  • : 빠른 일반화를 위해 대상 객체를 둘러싼 BBox(긍정 또는 부정): "줄무늬 고양이" + 예시 박스 → 예시와 일치하는 모든 줄무늬 고양이를 세그멘테이션합니다.

관련 배경 정보는 다음을 참조하십시오: object detection인스턴스 분할.

SAM 3와 SAM 2의 차이점은 무엇입니까?

기능SAM 2SAM 3
작업프롬프트당 단일 객체개념의 모든 인스턴스
프롬프트 유형포인트, 박스, 마스크+ 텍스트 구문, 이미지 예시
감지 기능외부 감지기 필요내장형 오픈 어휘 감지기
인식기하학 기반만 가능텍스트 및 시각적 인식
모델 평가 통찰력추적기만 지원감지기 + 존재 헤드가 포함된 추적기
Zero-Shot 성능해당 없음 (시각적 프롬프트 필요)LVIS에서 47.0 AP, SA-Co에서 2배 향상된 성능
60.1 J&F클릭만 가능클릭 + 예시 일반화

SAM 3는 SAM 2 시각적 프롬프트와의 하위 호환성을 유지하면서 개념 기반 기능을 추가했습니다.

SAM 3 학습에 어떤 데이터셋이 사용되었습니까?

SAM 3는 다음 데이터셋으로 학습되었습니다: Segment Anything with Concepts (SA-Co) 데이터셋:

학습 데이터:

  • 520만 개의 이미지400만 개의 고유 명사구 (SA-Co/HQ) - 고품질 인간 어노테이션
  • 5만 2,500개의 비디오2만 4,800개의 고유 명사구 (SA-Co/VIDEO)
  • 14억 개의 합성 마스크3,800만 개의 명사구 (SA-Co/SYN)
  • 15개의 외부 데이터셋 하드 네거티브(hard negatives)로 보강됨 (SA-Co/EXT)

벤치마크 데이터:

  • 21만 4,000개의 고유 개념12만 6,000개의 이미지/비디오
  • 50× 이상의 개념 기존 벤치마크 대비 (예: LVIS는 약 4,000개의 개념 보유)
  • 인간 성능 범위를 측정하기 위한 SA-Co/Gold의 삼중 어노테이션

이러한 방대한 규모와 다양성 덕분에 SAM 3는 오픈 어휘 개념 전반에서 뛰어난 제로샷 일반화 성능을 발휘합니다.

세그멘테이션 관점에서 SAM 3와 YOLO26은 어떻게 비교됩니까?

SAM 3와 YOLO26은 서로 다른 사용 사례를 지원합니다:

SAM 3의 장점:

  • 오픈 어휘(Open-vocabulary): 학습 없이 텍스트 프롬프트를 통해 모든 개념을 세그멘테이션합니다.
  • 제로샷(Zero-shot): 새로운 카테고리에 즉시 작동합니다.
  • 상호작용형(Interactive): 예시 기반 정교화(refinement)가 유사한 객체로 일반화됩니다.
  • 개념 기반(Concept-based): 특정 카테고리의 모든 인스턴스를 자동으로 찾습니다.
  • 에서 흔히 요구되는 사항입니다.: LVIS 제로샷 인스턴스 세그멘테이션에서 47.0 AP 달성

YOLO26의 장점:

  • 속도(Speed): NMS가 필요 없는 엔드투엔드 설계로 수십 배 빠른 추론 속도
  • 효율성(Efficiency): 539배 더 작은 모델 (6.4MB vs 3.45GB)
  • 리소스 친화적: 엣지 디바이스 및 모바일에서 구동
  • 실시간(Real-time): 프로덕션 배포에 최적화

권장 사항:

  • 긴 비디오나 대규모 데이터셋을 처리할 때는 SAM 3은 텍스트나 예시로 설명된 개념의 모든 인스턴스를 찾아야 하는 유연한 오픈 어휘 세그멘테이션 작업에 적합합니다.
  • 긴 비디오나 대규모 데이터셋을 처리할 때는 여기에서는 SAM 3의 기능을 은 카테고리가 사전에 알려진 고속 프로덕션 배포에 적합합니다.
  • 긴 비디오나 대규모 데이터셋을 처리할 때는 SAM 2은 기하학적 프롬프트를 사용한 상호작용형 단일 객체 세그멘테이션에 적합합니다.

SAM 3는 복잡한 언어 쿼리를 처리할 수 있습니까?

SAM 3는 단순한 명사구(예: "빨간 사과", "모자를 쓴 사람")를 위해 설계되었습니다. 추론이 필요한 복잡한 쿼리의 경우, SAM 3를 MLLM과 결합하여 다음과 같이 사용하십시오: SAM 3 Agent:

단순 쿼리 (기본 SAM 3):

  • "노란색 스쿨버스"
  • "줄무늬 고양이"
  • "빨간 모자를 쓴 사람"

복잡한 쿼리 (MLLM을 사용하는 SAM 3 Agent):

  • "앉아 있지만 선물 상자를 들고 있지 않은 사람들"
  • "목걸이를 하지 않은 카메라에서 가장 가까운 개"
  • "사람의 손보다 큰 빨간색 물체"

SAM 3 Agent는 76.0 gIoU를 ReasonSeg 검증에서 달성했습니다 (이전 최고 기록인 65.0 대비 16.9% 성능 향상). 이는 SAM 3의 세그멘테이션 능력과 MLLM의 추론 능력을 결합한 결과입니다.

SAM 3는 인간의 성능과 비교하여 얼마나 정확합니까?

삼중 인간 어노테이션이 포함된 SA-Co/Gold 벤치마크 결과:

  • 인간 하한값(Lower bound): 74.2 CGF1 (가장 보수적인 어노테이터)
  • SAM 3 성능: 65.0 CGF1
  • 달성률: 인간 성능 격차 (추정 인간 하한값 기준)
  • 인간 상한값(Upper bound): 81.4 CGF1 (가장 관대한 어노테이터)

SAM 3는 오픈 어휘 개념 세그멘테이션에서 인간 수준의 정확도에 근접하는 강력한 성능을 보여줍니다. 성능 격차는 주로 모호하거나 주관적인 개념(예: "작은 창문", "아늑한 방")에서 발생합니다.

댓글