콘텐츠로 건너뛰기

SAM 3: 컨셉으로 무엇이든 세분화하기

이제 Ultralytics에서 사용 가능

SAM 3는 다음 버전부터 Ultralytics 패키지에 완벽하게 통합되었습니다. 버전 8.3.237 (PR #22897). 다음 명령어로 설치 또는 업그레이드하세요: pip install -U ultralytics 텍스트 기반 개념 segmentation, 이미지 예시 프롬프트, 비디오 tracking을 포함한 모든 SAM 3 기능에 액세스하려면.

SAM 프롬프트 가능 개념 분할 개요

SAM 3 (Segment Anything Model 3)는 Meta에서 출시한 프롬프트 기반 개념 segment (PCS)를 위한 파운데이션 모델입니다. SAM 2를 기반으로 하는 SAM 3는 텍스트 프롬프트, 이미지 예시 또는 둘 다로 지정된 시각적 개념의 모든 인스턴스를 detect, segment 및 track하는 근본적으로 새로운 기능을 도입합니다. 프롬프트당 단일 객체를 segment하던 이전 SAM 버전과 달리, SAM 3는 이미지나 비디오의 어느 곳에나 나타나는 개념의 모든 발생을 찾아 segment할 수 있으며, 이는 최신 인스턴스 segment의 개방형 어휘 목표와 일치합니다.



참고: Ultralytics와 함께 Meta Segment Anything 3를 사용하는 방법 | 이미지 및 비디오의 텍스트 프롬프트 segment

SAM 3는 이제 다음 패키지에 완벽하게 통합되어 ultralytics 패키지에 완벽하게 통합되어, 텍스트 프롬프트 기반 개념 segmentation, 이미지 예시 프롬프트, 비디오 tracking 기능을 기본적으로 지원합니다.

개요

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

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

프롬프트 가능한 개념 세분화(PCS)란 무엇인가요?

PCS 작업은 개념 프롬프트를 입력으로 받아 일치하는 모든 개체 인스턴스에 대해 고유 ID를 가진 세그먼테이션 마스크를 반환합니다. 개념 프롬프트는 다음과 같습니다:

  • 텍스트: 제로 샷 학습과 유사한 "빨간 사과" 또는 "모자를 쓴 사람"과 같은 단순 명사 구문
  • 이미지 예시: 빠른 일반화를 위해 예제 객체(양수 또는 음수) 주위에 바운딩 박스 설정하기
  • 결합: 텍스트와 이미지 예시를 함께 사용하여 정밀한 제어 가능

이는 원래 SAM 제품군에 의해 대중화된 바와 같이, 단일 특정 객체 인스턴스만 segment하는 전통적인 시각적 프롬프트(점, 상자, 마스크)와 다릅니다.

주요 성과 지표

지표SAM 3 업적
LVIS Zero-Shot Mask AP47.0 (이전 최고 38.5 대비 +22% 향상)
SA-Co 벤치마크기존 시스템보다 2배 더 뛰어납니다.
추론 속도(H200 GPU)100개 이상의 detect된 객체가 있는 이미지당 30ms
비디오 성능최대 5개의 동시 개체에 대한 실시간에 가까운 지원
MOSEv2 VOS 벤치마크60.1 J&F (SAM 2.1 대비 +25.5%, 이전 SOTA 대비 +17%)
대화형 개선+18.6 CGF1 3개의 예시 프롬프트 후 개선
인적 성과 격차SA-Co/Gold 예상 하한선의 88% 달성

프로덕션에서의 모델 지표 및 트레이드오프에 대한 자세한 내용은 모델 평가 인사이트YOLO 성능 지표를 참조하세요.

아키텍처

SAM 3는 인식 인코더(PE) 비전 백본을 공유하는 디텍터와 트래커로 구성됩니다. 이 분리형 설계는 작업 충돌을 방지하는 동시에 이미지 수준 감지와 비디오 수준 추적을 모두 지원하며, Ultralytics Python 사용CLI 사용과 호환되는 인터페이스를 제공합니다.

핵심 구성 요소

  • 검출기: 이미지 수준 개념 감지를 위한 DETR 기반 아키텍처

    • 명사 구문 프롬프트용 텍스트 인코더
    • 이미지 기반 프롬프트용 예제 인코더
    • 프롬프트에서 이미지 특징을 조절하는 퓨전 인코더
    • 인식('무엇')과 로컬라이제이션('어디')을 분리하는 새로운 프레즌스 헤드
    • 인스턴스 세분화 마스크 생성을 위한 마스크 헤드
  • 트래커: SAM 2에서 상속된 메모리 기반 비디오 세분화

    • 프롬프트 인코더, 마스크 디코더, 메모리 인코더
    • 여러 프레임에 걸쳐 오브젝트 모양을 저장하는 메모리 뱅크
    • 다중 개체 설정에서 칼만 필터와 같은 기술을 통한 시간적 모호성 제거
  • 프레즌스 토큰: 대상 개념이 이미지/프레임에 존재하는지 여부를 예측하는 학습된 글로벌 토큰으로, 인식과 로컬라이제이션을 분리하여 감지 성능을 향상시킵니다.

SAM 모델 아키텍처 다이어그램

주요 혁신

  1. 분리된 인식 및 로컬라이제이션: 프레즌스 헤드는 전 세계적으로 개념 프레즌스를 예측하는 반면, 제안 쿼리는 로컬라이제이션에만 집중하여 서로 상충되는 목표를 피할 수 있습니다.
  2. 통합된 컨셉 및 시각적 프롬프트: 단일 모델에서 PCS(개념 프롬프트)와 PVS( SAM 2의 클릭/상자와 같은 시각적 프롬프트)를 모두 지원합니다.
  3. 대화형 예시 개선: 사용자는 긍정 또는 부정 이미지 예시를 추가하여 결과를 반복적으로 개선할 수 있으며, 개별 인스턴스만 수정하는 것이 아니라 유사한 객체로 모델을 일반화할 수 있습니다.
  4. 시간적 모호성: 인스턴스 세분화 및 추적 모범 사례에 따라 마스크 렛 감지 점수와 주기적인 재 프롬프트를 사용하여 비디오에서 오클루전, 혼잡한 장면 및 추적 실패를 처리합니다.

SA-Co 데이터 세트

SAM 3는 Meta의 현재까지 가장 크고 다양한 segment 데이터셋인 Segment Anything with Concepts (SA-Co)로 훈련되었으며, COCOLVIS와 같은 일반적인 벤치마크를 넘어 확장됩니다.

학습 데이터

데이터 세트 구성 요소설명규모
SA-Co/HQ4단계 데이터 엔진의 고품질 인간 주석 이미지 데이터520만 개의 이미지, 400만 개의 고유한 명사구
SA-Co/SYN사람의 개입 없이 AI가 라벨링한 합성 데이터 세트3,800만 개의 명사구, 14억 개의 마스크
SA-Co/EXT불마진 자료를 포함한 15개의 외부 데이터셋을 확대했습니다.출처에 따라 다름
SA-Co/비디오시간 추적 기능이 있는 동영상 주석52,500개의 비디오, 24,800개의 고유한 명사구

벤치마크 데이터

SA-Co 평가 벤치마크에는 126만 개의 이미지와 동영상에 214,000개의 고유 문구가 포함되어 있어 기존 벤치마크보다 50배 이상 많은 개념을 제공합니다. 여기에는 다음이 포함됩니다:

  • SA-Co/Gold: 7개의 도메인, 인간의 성능 한계를 측정하기 위한 3중 주석 달기
  • SA-Co/Silver: 10개 도메인, 단일 인간 어노테이션
  • SA-Co/BronzeSA-Co/Bio: 컨셉 세분화에 맞게 조정된 9개의 기존 데이터 세트
  • SA-Co/VEval: 3개 도메인(SA-V, YT-Temporal-1B, SmartGlasses)의 비디오 벤치마크

데이터 엔진 혁신

SAM 3의 확장 가능한 휴먼 및 모델 인 더 루프 데이터 엔진은 2배의 어노테이션 처리량을 달성합니다:

  1. AI Annotators: Llama 기반 모델은 어려운 부정적 사례를 포함하여 다양한 명사구를 제안합니다.
  2. AI Verifiers: 미세 조정된 멀티모달 LLM은 거의 인간 수준의 성능으로 마스크 품질과 완전성을 검증합니다.
  3. Active Mining: AI가 어려움을 겪는 까다로운 실패 사례에 대한 인간의 노력을 집중합니다.
  4. 온톨로지 중심: 위키데이터에 기반한 대규모 온톨로지를 개념 커버리지에 활용합니다.

설치

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는 다양한 예측기 인터페이스를 통해 Promptable Concept Segmentation (PCS) 및 Promptable Visual Segmentation (PVS) 작업을 모두 지원합니다.

지원되는 작업 및 모델

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

컨셉 세분화 예시

텍스트 프롬프트가 있는 세그먼트

텍스트 기반 컨셉 세분화

텍스트 설명을 사용하여 개념의 모든 인스턴스를 찾아 segment합니다. 텍스트 프롬프트는 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"])

이미지 예시를 사용한 세그먼트

이미지 예시 기반 세분화

바운딩 박스를 시각적 프롬프트로 사용하여 모든 유사한 인스턴스를 찾습니다. 이는 또한 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]])

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

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

이미지 특징을 한 번 추출하고 여러 segment 쿼리에 재사용하여 효율성을 향상시킵니다.

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)

비디오 컨셉 세분화

바운딩 박스를 사용하여 비디오 전반에 걸쳐 개념 track

시각적 프롬프트로 비디오 track

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

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

텍스트 프롬프트로 개념 track

의미론적 쿼리로 비디오 track

비디오 프레임 전반에 걸쳐 텍스트로 지정된 개념의 모든 인스턴스를 track합니다.

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는 단일 객체 segmentation을 위한 SAM 2의 시각적 프롬프팅과 완벽한 하위 호환성을 유지합니다.

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

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

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()

시각적 프롬프트 vs 개념 segmentation

사용: SAM("sam3.pt") 시각적 프롬프트(점/상자/마스크)를 사용하면 segment합니다 특정 객체만 해당 위치에서 SAM 2와 마찬가지로. segment하려면 개념의 모든 인스턴스, 다음을 사용합니다. SAM3SemanticPredictor 위에서 보듯이 텍스트 또는 예시 프롬프트를 사용하여.

성능 벤치마크

이미지 세분화

SAM 3는 LVISsegment를 위한 COCO와 같은 실제 데이터셋을 포함하여 여러 벤치마크에서 최첨단 결과를 달성합니다:

벤치마크지표SAM 3이전 최고개선 사항
LVIS(제로 샷)Mask AP47.038.5+22.1%
SA-Co/GoldCGF165.034.3 (OWLv2)+89.5%
COCO (제로샷)Box AP53.552.2 (T-Rex2)+2.5%
ADE-847(시맨틱 세그)mIoU14.79.2 (APE-D)+59.8%
파스칼 컨셉-59mIoU59.458.5 (APE-D)+1.5%
도시 풍경(시맨틱 세그)mIoU65.144.2 (APE-D)+47.3%

Ultralytics 데이터 집합에서 빠른 실험을 위한 데이터 집합 옵션을 살펴보세요.

비디오 세분화 성능

SAM 3는 DAVIS 2017YouTube-VOS와 같은 비디오 벤치마크에서 SAM 2 및 이전 최신 버전에 비해 상당한 개선이 이루어졌습니다:

벤치마크지표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%

소수 샷 적응

SAM 3는 데이터 중심 AI 워크플로우와 관련된 최소한의 예제로 새로운 영역에 적응하는 데 탁월합니다:

벤치마크0-shot AP10-shot AP이전 베스트(10장)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.7 (gDino-T)

대화형 개선 효과

SAM 3의 예시를 사용한 개념 기반 프롬프트는 시각적 프롬프트보다 훨씬 빠르게 수렴합니다:

프롬프트 추가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는 객체 카운팅의 일반적인 요구 사항인 모든 인스턴스를 세분화하여 정확한 카운팅을 제공합니다:

벤치마크정확성MAE최고의 MLLM
카운트벤치95.6%0.1192.4% (Gemini 2.5)
PixMo-Count87.3%0.2288.8% (Molmo-72B)

SAM 3 대 SAM 2 대 YOLO 비교

여기에서는 SAM 3의 기능을 SAM 2 및 YOLO11 모델과 비교합니다:

기능SAM 3SAM 2YOLO11n-seg
컨셉 세분화✅ 텍스트/예제의 모든 인스턴스❌ 지원되지 않음❌ 지원되지 않음
시각적 세분화✅ 단일 인스턴스SAM 2 호환)✅ 단일 인스턴스✅ 모든 인스턴스
제로 샷 기능✅ 열린 어휘✅ 기하학적 프롬프트❌ 폐쇄형 세트
대화형 개선✅ 예시 + 클릭✅ 클릭만❌ 지원되지 않음
비디오 추적✅ 신원이 있는 다중 개체✅ 다중 개체✅ 다중 개체
LVIS Mask AP (제로샷)47.0N/AN/A
MOSEv2 J&F60.147.9N/A
추론 속도(H200)30ms (100개 이상의 객체)~23ms(오브젝트당)2-3 ms (이미지)
모델 크기3.4162 MB (기본)5.9 MB

주요 요점:

  • SAM 3: 개방형 어휘 개념 세분화에 적합하며, 텍스트 또는 예시 프롬프트가 있는 개념의 모든 인스턴스를 찾습니다.
  • SAM 2: 기하학적 프롬프트가 있는 이미지 및 비디오의 대화형 단일 개체 분할에 가장 적합합니다.
  • YOLO11: 다음과 같은 효율적인 내보내기 파이프라인을 사용하여 리소스가 제한된 배포에서 실시간 고속 세분화에 가장 적합합니다. ONNXTensorRT

평가 지표

SAM 3는 F1 점수, 정확도, 리콜과 같은 익숙한 지표를 보완하여 PCS 작업을 위해 설계된 새로운 지표를 도입합니다.

분류 게이트 F1(CGF1)

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

CGF1 = 100 × pmF1 × IL_MCC

위치:

  • pmF1 (포지티브 매크로 F1): 포지티브 예제에 대한 로컬라이제이션 품질 측정
  • IL_MCC (이미지 수준 매튜스 상관 계수): 이진 분류 정확도("개념이 존재하는가?")를 측정합니다.

왜 이러한 지표를 사용해야 할까요?

기존 AP 지표는 캘리브레이션을 고려하지 않아 모델을 실제로 사용하기 어렵게 만듭니다. 0.5 이상의 신뢰도 예측만 평가함으로써, SAM 3의 지표는 우수한 캘리브레이션을 강제하고 상호작용적인 predicttrack 루프에서 실제 사용 패턴을 모방합니다.

주요 기능 및 인사이트

프레즌스 헤드의 영향

프레즌스 헤드는 인식과 로컬라이제이션을 분리하여 상당한 개선 효과를 제공합니다:

구성CGF1IL_MCCpmF1
존재감 없음57.60.7774.7
존재감63.30.8277.1

프레즌스 헤드는 주로 인식 능력(IL_MCC +6.5%)을 향상시키는 +5.7 CGF1 부스트 (+9.9%)를 제공합니다.

하드 네거티브의 효과

하드 네거티브/이미지CGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

하드 네거티브는 개방형 어휘 인식에 매우 중요하며, IL_MCC를 54.5% (0.44 → 0.68) 향상시킵니다.

학습 데이터 스케일링

데이터 소스CGF1IL_MCCpmF1
외부 전용30.90.4666.3
외부 + 합성39.70.5770.6
외부 + 본사51.80.7173.2
세 가지 모두54.30.7473.5

고품질의 사람 주석은 합성 데이터나 외부 데이터만 사용하는 것보다 큰 이점을 제공합니다. 데이터 품질 관행에 대한 배경 지식은 데이터 수집 및 주석을 참조하세요.

응용 분야

SAM 3의 개념 세분화 기능은 새로운 사용 사례를 가능하게 합니다:

  • 콘텐츠 관리: 미디어 라이브러리에서 특정 콘텐츠 유형의 모든 인스턴스 찾기
  • 전자상거래: 카탈로그 이미지에서 특정 유형의 모든 제품을 세분화하여 자동 주석을 지원합니다.
  • 의료 영상: 특정 조직 유형이나 이상 징후를 모두 식별합니다.
  • 자율 시스템: 교통 표지판, 보행자 또는 차량의 모든 인스턴스를 카테고리별로 추적합니다.
  • 비디오 분석: 특정 의류를 착용하거나 특정 행동을 수행하는 모든 사람을 세고 track합니다.
  • 데이터 세트 주석: 희귀 개체 범주의 모든 인스턴스에 신속하게 주석 달기
  • 과학 연구: 특정 기준에 부합하는 모든 표본을 정량화하고 분석합니다.

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

SAM 3는 다중 모드 대규모 언어 모델(MLLM)과 결합하여 추론이 필요한 복잡한 쿼리를 처리할 수 있으며, 이는 OWLv2T-Rex와 같은 개방형 어휘 시스템과 유사한 정신입니다.

추론 과제 수행

벤치마크지표SAM 3 에이전트(Gemini 2.5 Pro)이전 최고
ReasonSeg(유효성 검사)gIoU76.065.0 (SoTA)
ReasonSeg(테스트)gIoU73.861.3 (SoTA)
옴니라벨(유효성 검사)AP46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

복잡한 쿼리 예시

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

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

MLLM은 SAM 3에 간단한 명사구 쿼리를 제안하고, 반환된 마스크를 분석한 후 만족할 때까지 반복합니다.

제한 사항

SAM 3는 큰 발전을 이루었지만, 몇 가지 한계가 있습니다:

  • 구문 복잡도: 단순한 명사 구문에 가장 적합하며, 긴 참조 표현이나 복잡한 추론에는 MLLM 통합이 필요할 수 있습니다.
  • 모호성 처리: 일부 개념은 본질적으로 모호합니다 (예: "작은 창문", "아늑한 방").
  • 계산 요구 사항: 다음과 같은 전문 탐지 모델보다 더 크고 느림 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일에 출시되었으며, 버전 8.3.237 (PR #22897)부터 Ultralytics에 완벽하게 통합되었습니다. predict modetrack mode에 대한 완벽한 지원이 제공됩니다.

SAM 3는 Ultralytics에 통합되었나요?

네! SAM 3는 개념 분할, SAM 2 스타일 시각적 프롬프트, 다중 객체 비디오 track 기능을 포함하여 Ultralytics python 패키지에 완벽하게 통합되어 있습니다.

프롬프트 가능한 개념 세분화(PCS)란 무엇인가요?

PCS는 이미지나 동영상에서 시각적 개념의 모든 인스턴스를 세분화하는 새로운 작업으로 SAM 3에 도입되었습니다. 특정 오브젝트 인스턴스를 대상으로 하는 기존의 세분화와 달리, PCS는 카테고리의 모든 인스턴스를 찾아냅니다. 예를 들어

  • 텍스트 프롬프트: "노란색 스쿨버스" → 장면에 있는 모든 노란색 스쿨버스를 세그먼트화합니다.
  • 이미지 예시: 개 한 마리를 둘러싼 박스 → 이미지의 모든 개 분할
  • 결합: "줄무늬 고양이" + 예시 상자 → 예시와 일치하는 모든 줄무늬 고양이를 세그먼트화합니다.

객체 감지인스턴스 세분화에 대한 관련 배경을 참조하세요.

SAM 3는 SAM 2와 어떻게 다른가요?

기능SAM 2SAM 3
작업프롬프트당 단일 개체개념의 모든 인스턴스
프롬프트 유형포인트, 박스, 마스크+ 텍스트 문구, 이미지 예시
탐지 기능외부 감지기가 필요합니다.내장된 개방형 어휘 탐지기
인식지오메트리 기반만텍스트 및 시각적 인식
아키텍처트래커 전용프레즌스 헤드가 있는 디텍터 + 트래커
제로 샷 성능해당 없음(시각적 프롬프트 필요)LVIS에서 47.0 AP, SA-Co에서 2배 향상
대화형 개선클릭만클릭 수 + 예시 일반화

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

SAM 3 훈련에는 어떤 데이터 세트가 사용되나요?

SAM 3는 개념이 포함된 세그먼트(SA-Co) 데이터 세트를 기반으로 학습합니다:

학습 데이터:

  • 5.2M개의 이미지4M개의 고유한 명사구 (SA-Co/HQ) - 고품질의 사람이 직접 annotation
  • 52.5K개의 비디오24.8K개의 고유한 명사구 (SA-Co/VIDEO)
  • 3,800만 개의 명사구에 걸쳐 14억 개의 합성 마스크 (SA-Co/SYN)
  • 어려운 네거티브로 강화된 15개의 외부 데이터 세트 (SA-Co/EXT)

벤치마크 데이터:

  • 214K개의 고유한 개념, 126K개의 이미지/비디오에 걸쳐 있습니다.
  • 기존 벤치마크(예: LVIS는 약 4K개의 개념 보유)보다 50배 더 많은 개념
  • 인간 성능 한계 측정을 위한 SA-Co/Gold의 트리플 어노테이션

이러한 방대한 규모와 다양성 덕분에 SAM 3는 개방형 어휘 개념 전반에서 탁월한 제로 샷 일반화를 실현할 수 있습니다.

세분화 측면에서 SAM 3는 YOLO11 어떻게 비교되나요?

SAM 3와 YOLO11 서로 다른 사용 사례를 제공합니다:

SAM 3 장점:

  • 개방형 어휘: 교육 없이 텍스트 프롬프트를 통해 모든 개념을 세분화합니다.
  • 제로 샷: 새로운 카테고리에서 즉시 작동
  • 인터랙티브: 예제 기반 세분화는 유사한 객체로 일반화됩니다.
  • 개념 기반: 카테고리의 모든 인스턴스를 자동으로 찾습니다.
  • 정확도: LVIS 제로샷 인스턴스 segmentation에서 47.0 AP

YOLO11 장점:

  • 속도: 10~15배 빠른 추론(이미지당 2~3밀리초 대 30밀리초)
  • 효율성: 576배 더 작은 모델 (5.9MB 대 3.4GB)
  • 리소스 친화적입니다: 엣지 디바이스 및 모바일에서 실행
  • 실시간: 프로덕션 배포에 최적화

권장 사항:

  • 텍스트나 예시에서 설명하는 개념의 모든 사례를 찾아야 할 때 유연하고 개방적인 어휘 세분화를 위해 SAM 3을 사용하세요.
  • 사용 YOLO11 카테고리를 미리 알고 있는 고속 프로덕션 배포에 사용하십시오.
  • SAM 2를 사용하여 기하학적 프롬프트가 있는 대화형 단일 개체 세분화에 사용

SAM 3가 복잡한 언어 쿼리를 처리할 수 있나요?

SAM 3은 단순한 명사 구문(예: "빨간 사과", "모자를 쓴 사람")을 위해 설계되었습니다. 추론이 필요한 복잡한 쿼리의 경우 SAM 3을 MLLM과 결합하여 SAM 3 에이전트로 사용하세요:

간단한 쿼리(기본 SAM 3):

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

복잡한 쿼리(MLLM이 포함된SAM 3 에이전트):

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

SAM 3 에이전트는 SAM 3의 세분화와 MLLM 추론 기능을 결합하여 ReasonSeg 검증에서 76.0 gIoU (이전 최고치 65.0 대비 +16.9% 개선)를 달성했습니다.

SAM 3는 인간의 성능과 비교했을 때 얼마나 정확할까요?

3중 인간 주석이 포함된 SA-Co/Gold 벤치마크에서:

  • 인간 하한선: 74.2 CGF1(가장 보수적인 주석자)
  • SAM 3 성능: 65.0 CGF1
  • 달성: 추정된 인간 하한의 88%
  • 인간 상한: 81.4 CGF1(가장 자유로운 어노테이터)

SAM 3는 개방형 어휘 개념 세분화에서 인간 수준의 정확도에 근접하는 강력한 성능을 달성하며, 주로 모호하거나 주관적인 개념(예: "작은 창문", "아늑한 방")에서 격차가 큽니다.



5; 3 전에 생성됨 ✏️ 4 전에 업데이트됨
glenn-jocherY-T-GRizwanMunawarLaughing-qdingjie-aikayselmecnun

댓글