YOLO Vision 2026:

SAM 2: Segment Anything Model 2#

SAM 발전

SAM 2는 기존 SAM을 바탕으로 비디오 세그멘테이션 기능을 제공합니다. 텍스트 및 이미지 예시 프롬프트를 사용하는 프롬프트 기반 컨셉 세그멘테이션(Promptable Concept Segmentation)에 대해서는 SAM 3를 참조하세요.

Inference with Segment Anything 2 In Colab

메타(Meta)의 Segment Anything Model (SAM)의 후속작인 SAM 2는 이미지와 비디오 모두에서 포괄적인 객체 세그멘테이션을 수행하도록 설계된 최첨단 도구입니다. 실시간 처리와 제로샷 일반화(zero-shot generalization)를 지원하는 통합 프롬프트형 모델 아키텍처를 통해 복잡한 시각 데이터를 탁월하게 처리합니다.

Ultralytics Platform에서의 SAM 2

SAM 2.1 모델은 Ultralytics Platformsmart annotation feature를 구동하여 빠른 데이터셋 라벨링을 위한 클릭 기반 세그멘테이션을 지원합니다. 자세한 내용은 annotation guide를 참조하십시오.

SAM 2 Example Results

주요 특징#



Watch: How to Run Inference with Meta's SAM2 using Ultralytics | Step-by-Step Guide 🎉

통합 모델 아키텍처#

SAM 2는 단일 모델에서 이미지와 비디오 세분화 기능을 결합합니다. 이러한 통합을 통해 배포가 단순화되고 다양한 미디어 유형에서 일관된 성능을 유지할 수 있습니다. 유연한 프롬프트 기반 인터페이스를 활용하여 사용자가 포인트, 바운딩 박스, 마스크 등 다양한 프롬프트 유형을 통해 관심 객체를 지정할 수 있습니다.

실시간 성능#

이 모델은 초당 약 44프레임을 처리하며 실시간 추론 속도를 달성합니다. 따라서 SAM 2는 비디오 편집 및 증강 현실과 같이 즉각적인 피드백이 필요한 애플리케이션에 적합합니다.

제로샷 일반화#

SAM 2는 이전에 접한 적 없는 객체도 세분화할 수 있으며, 강력한 제로샷 일반화 성능을 보여줍니다. 이는 미리 정의된 카테고리가 모든 가능한 객체를 다루지 못할 수 있는 다양하고 진화하는 시각적 도메인에서 특히 유용합니다.

대화형 개선#

사용자는 추가 프롬프트를 제공하여 세분화 결과를 반복적으로 개선할 수 있으므로 출력에 대한 정밀한 제어가 가능합니다. 이러한 상호작용성은 비디오 주석이나 의료 영상과 같은 애플리케이션에서 결과를 미세 조정하는 데 필수적입니다.

시각적 과제에 대한 고급 처리#

SAM 2에는 객체 가림(occlusion) 및 재등장과 같은 일반적인 비디오 세분화 문제를 관리하기 위한 메커니즘이 포함되어 있습니다. 정교한 메모리 메커니즘을 사용하여 프레임 간 객체를 추적하므로 객체가 일시적으로 가려지거나 장면에 진입 및 이탈할 때도 연속성을 보장합니다.

SAM 2의 아키텍처와 기능에 대한 자세한 이해를 위해 SAM 2 연구 논문을 살펴보세요.

성능 및 기술 세부 정보#

SAM 2는 다양한 지표에서 이전 모델을 능가하며 해당 분야의 새로운 벤치마크를 세웠습니다.

지표SAM 2이전 SOTA
대화형 비디오 세분화최고-
필요한 인간 상호작용3배 적음기준값
이미지 세그멘테이션 정확도향상됨SAM
추론 속도6배 빠름SAM

모델 아키텍처#

핵심 구성 요소#

  • 이미지 및 비디오 인코더: transformer 기반 아키텍처를 활용하여 이미지와 비디오 프레임 모두에서 고수준 피처를 추출합니다. 이 컴포넌트는 각 타임스텝의 시각적 콘텐츠를 이해하는 역할을 담당합니다.
  • 프롬프트 인코더: 사용자가 제공한 프롬프트(포인트, 박스, 마스크)를 처리하여 세분화 작업을 안내합니다. 이를 통해 SAM 2는 사용자 입력에 적응하고 장면 내의 특정 객체를 타겟팅할 수 있습니다.
  • 메모리 메커니즘: 메모리 인코더, 메모리 뱅크 및 메모리 어텐션 모듈을 포함합니다. 이러한 컴포넌트들은 과거 프레임의 정보를 함께 저장하고 활용하여 모델이 시간이 지나도 일관된 객체 추적을 유지할 수 있도록 지원합니다.
  • 마스크 디코더: 인코딩된 이미지 특징과 프롬프트를 기반으로 최종 세분화 마스크를 생성합니다. 비디오에서는 프레임 간 정확한 추적을 보장하기 위해 메모리 컨텍스트도 사용합니다.

SAM 2 Architecture Diagram

메모리 메커니즘 및 가림 처리#

메모리 메커니즘을 통해 SAM 2는 비디오 데이터의 시간적 종속성과 가림 현상을 처리할 수 있습니다. 객체가 이동하고 상호 작용함에 따라 SAM 2는 메모리 뱅크에 해당 특징을 기록합니다. 객체가 가려지면 모델은 이 메모리를 기반으로 재등장할 때의 위치와 외형을 예측할 수 있습니다. 가림 헤드(occlusion head)는 객체가 보이지 않는 시나리오를 특별히 처리하여 객체가 가려질 확률을 예측합니다.

다중 마스크 모호성 해결#

모호성이 있는 상황(예: 겹치는 객체)에서 SAM 2는 여러 마스크 예측을 생성할 수 있습니다. 이 기능은 단일 마스크로는 장면의 미묘한 차이를 충분히 설명할 수 없는 복잡한 장면을 정확히 표현하는 데 매우 중요합니다.

SA-V 데이터셋#

SAM 2 학습을 위해 개발된 SA-V 데이터셋은 사용 가능한 가장 크고 다양한 비디오 세분화 데이터셋 중 하나입니다. 다음을 포함합니다:

  • 51,000개 이상의 비디오: 47개국에 걸쳐 촬영되어 광범위한 실제 시나리오를 제공합니다.
  • 600,000개 이상의 마스크 주석: 전체 객체와 부품을 다루는 "마스크let(masklets)"이라고 하는 상세한 시공간 마스크 주석입니다.
  • 데이터셋 규모: 이전 최대 데이터셋보다 4.5배 더 많은 비디오와 53배 더 많은 주석을 제공하여 전례 없는 다양성과 복잡성을 제공합니다.

벤치마크#

비디오 객체 세분화#

SAM 2는 주요 비디오 세분화 벤치마크에서 우수한 성능을 입증했습니다:

데이터셋J&FJF
DAVIS 201782.579.885.2
YouTube-VOS81.278.983.5

대화형 세분화#

대화형 세분화 작업에서 SAM 2는 상당한 효율성과 정확도를 보여줍니다:

데이터셋NoC@90AUC
DAVIS Interactive1.540.872

설치#

SAM 2를 설치하려면 다음 명령어를 사용하십시오. 모든 SAM 2 모델은 처음 사용할 때 자동으로 다운로드됩니다.

pip install ultralytics

SAM 2 사용법: 이미지 및 비디오 세분화의 다목적성#

다음 표에서는 사용 가능한 SAM 2 모델, 사전 학습된 가중치, 지원되는 작업, 그리고 Inference, Validation, Training, Export와 같은 다양한 작동 모드와의 호환성을 자세히 설명합니다.

모델 유형사전 학습된 가중치지원되는 작업학습검증추론내보내기(Export)
SAM 2 tinysam2_t.pt인스턴스 세그멘테이션
SAM 2 smallsam2_s.pt인스턴스 세그멘테이션
SAM 2 basesam2_b.pt인스턴스 세그멘테이션
SAM 2 largesam2_l.pt인스턴스 세그멘테이션
SAM 2.1 tinysam2.1_t.pt인스턴스 세그멘테이션
SAM 2.1 smallsam2.1_s.pt인스턴스 세그멘테이션
SAM 2.1 basesam2.1_b.pt인스턴스 세그멘테이션
SAM 2.1 largesam2.1_l.pt인스턴스 세그멘테이션

SAM 2 예측 예시#

SAM 2는 실시간 비디오 편집, 의료 영상, 자율주행 시스템을 포함한 광범위한 작업에서 활용될 수 있습니다. 정적 및 동적 시각 데이터 모두를 세분화하는 능력 덕분에 연구자와 개발자에게 다목적 도구가 됩니다.

프롬프트를 이용한 세분화#

프롬프트를 이용한 세분화

프롬프트를 사용하여 이미지나 비디오의 특정 객체를 세분화하십시오.

from ultralytics import SAM

# Load a model
model = SAM("sam2.1_b.pt")

# Display model information (optional)
model.info()

# Run inference with bboxes prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])

# Run inference with single point
results = model(points=[900, 370], labels=[1])

# Run inference with multiple points
results = model(points=[[400, 370], [900, 370]], labels=[1, 1])

# Run inference with multiple points prompt per object
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 1]])

# Run inference with negative points prompt
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 0]])

모든 것 세분화#

모든 것 세분화

특정 프롬프트 없이 전체 이미지 또는 비디오 콘텐츠를 세분화하십시오.

from ultralytics import SAM

# Load a model
model = SAM("sam2.1_b.pt")

# Display model information (optional)
model.info()

# Run inference
model("path/to/video.mp4")

비디오 세분화 및 객체 추적#

비디오 세분화

특정 프롬프트로 전체 비디오 콘텐츠를 세분화하고 객체를 추적하십시오.

from ultralytics.models.sam import SAM2VideoPredictor

# Create SAM2VideoPredictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "imgsz": 1024, "model": "sam2_b.pt"}
predictor = SAM2VideoPredictor(overrides=overrides)

# Run inference with single point
results = predictor(source="test.mp4", points=[920, 470], labels=[1])

# Run inference with multiple points
results = predictor(source="test.mp4", points=[[920, 470], [909, 138]], labels=[1, 1])

# Run inference with multiple points prompt per object
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 1]])

# Run inference with negative points prompt
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 0]])
  • 이 예시는 프롬프트(bboxes/points/masks)가 제공되지 않은 경우 SAM 2를 사용하여 이미지 또는 비디오의 전체 콘텐츠를 세분화하는 방법을 보여줍니다.

동적 대화형 세분화 및 추적#

SAM2DynamicInteractivePredictor는 여러 프레임과의 동적 상호작용 및 지속적인 학습 기능을 지원하는 SAM2의 고급 학습 불필요 확장 기능입니다. 이 예측기는 일련의 이미지에서 향상된 추적 성능을 위해 실시간 프롬프트 업데이트와 메모리 관리를 지원합니다. 기존 SAM2에 비해 SAM2DynamicInteractivePredictor는 추가 학습 없이 사전 학습된 SAM2 모델을 최대한 활용할 수 있도록 추론 흐름을 재구성합니다.

SAM 2 Example Results

주요 특징#

세 가지 중요한 개선 사항을 제공합니다:

  1. 동적 대화형: 비디오 처리 중 언제든지 후속 프레임에서 병합/추적되지 않은 새로운 인스턴스를 위한 새로운 프롬프트 추가
  2. 지속적 학습: 시간이 지남에 따라 모델 성능을 향상시키기 위해 기존 인스턴스에 새로운 프롬프트 추가
  3. 독립적 다중 이미지 지원: 메모리 공유 및 교차 이미지 객체 추적을 통해 여러 독립적 이미지 처리(비디오 시퀀스일 필요 없음)

핵심 기능#

  • 프롬프트 유연성: 바운딩 박스, 포인트, 마스크를 프롬프트로 허용
  • 메모리 뱅크 관리: 프레임 간 객체 상태를 저장하기 위해 동적 메모리 뱅크 유지
  • 다중 객체 추적: 개별 객체 ID로 여러 객체를 동시에 추적 지원
  • 실시간 업데이트: 이전 프레임을 다시 처리하지 않고 추론 중에 새로운 프롬프트를 추가할 수 있습니다.
  • 독립형 이미지 처리: 이미지 간 객체 일관성을 위해 공유 메모리 컨텍스트를 사용하여 독립형 이미지를 처리합니다.
동적 객체 추가
from ultralytics.models.sam import SAM2DynamicInteractivePredictor

# Create SAM2DynamicInteractivePredictor
overrides = {"conf": 0.01, "task": "segment", "mode": "predict", "imgsz": 1024, "model": "sam2_t.pt", "save": False}
predictor = SAM2DynamicInteractivePredictor(overrides=overrides, max_obj_num=10)

# Define a category by box prompt
predictor(source="image1.jpg", bboxes=[[100, 100, 200, 200]], obj_ids=[0], update_memory=True)

# Detect this particular object in a new image
results = predictor(source="image2.jpg")

# Add new category with a new object ID
results = predictor(
    source="image4.jpg",
    bboxes=[[300, 300, 400, 400]],  # New object
    obj_ids=[1],  # New object ID
    update_memory=True,  # Add to memory
)
# Perform inference
results = predictor(source="image5.jpg")

# Add refinement prompts to the same category to boost performance
# This helps when object appearance changes significantly
results = predictor(
    source="image6.jpg",
    points=[[150, 150]],  # Refinement point
    labels=[1],  # Positive point
    obj_ids=[1],  # Same object ID
    update_memory=True,  # Update memory with new information
)
# Perform inference on new image
results = predictor(source="image7.jpg")
참고

SAM2DynamicInteractivePredictor은 SAM2 모델과 함께 작동하도록 설계되었으며, SAM2가 지원하는 모든 박스/포인트/마스크 프롬프트를 통해 네이티브로 카테고리를 추가하고 보정하는 기능을 지원합니다. 비디오 주석 작업이나 대화형 편집 작업과 같이 객체가 나타나거나 시간이 지남에 따라 변경되는 시나리오에서 특히 유용합니다.

인수#

이름기본값데이터 유형설명
max_obj_num3int설정된 최대 카테고리 수
update_memoryFalsebool새로운 프롬프트로 메모리를 업데이트할지 여부
obj_idsNoneList[int]프롬프트에 해당하는 객체 ID 목록

사용 사례#

SAM2DynamicInteractivePredictor은 다음 용도에 이상적입니다.

  • 시퀀스 중에 새 객체가 나타나는 비디오 주석 워크플로
  • 실시간 객체 추가 및 보정이 필요한 대화형 비디오 편집
  • 동적 객체 추적 요구사항이 있는 감시 응용 프로그램
  • 시계열에 따른 해부학적 구조 추적을 위한 의료 영상
  • 적응형 객체 감지 및 추적이 필요한 자율 시스템
  • 독립형 이미지 간의 일관된 객체 세분화를 위한 다중 이미지 데이터셋
  • 다양한 장면에서 객체를 추적해야 하는 이미지 컬렉션 분석
  • 다양한 이미지 컨텍스트의 메모리를 활용하는 도메인 간 세분화
  • 최소한의 수동 개입으로 효율적인 데이터셋 생성을 위한 반자동 주석

SAM과 YOLO 비교#

여기서는 가장 작은 SAM2-t variant를 포함한 메타(Meta)의 SAM 2 모델을 YOLO26n-seg를 포함한 Ultralytics 세그멘테이션 모델과 비교합니다.

모델크기
(MB)
매개변수
(M)
속도 (CPU)
(ms/im)
Meta SAM-b37593.741703
Meta SAM2-b16280.828867
Meta SAM2-t78.138.923430
MobileSAM40.710.123802
YOLOv8 backbone이 적용된 FastSAM-s23.911.858.0
Ultralytics YOLOv8n-seg7.1 (11.0배 작음)3.4 (11.4배 적음)24.8 (945배 빠름)
Ultralytics YOLO11n-seg6.2 (12.6배 작음)2.9 (13.4배 적음)24.3 (964배 빠름)
Ultralytics YOLO26n-seg6.7 (11.7배 작음)2.7 (14.4배 적음)25.2 (930배 빠름)

이 비교는 SAM 변형 모델과 YOLO 세그멘테이션 모델 간의 모델 크기와 속도에 대한 상당한 차이를 보여줍니다. SAM이 고유한 자동 세그멘테이션 기능을 제공하는 반면, YOLO 모델(특히 YOLOv8n-seg, YOLO11n-seg 및 YOLO26n-seg)은 훨씬 작고 빠르며 계산 효율성이 뛰어납니다.

SAM 속도는 PyTorch로 측정되었으며, YOLO 속도는 ONNX Runtime으로 측정되었습니다. 테스트는 torch==2.10.0, ultralytics==8.4.31, onnxruntime==1.24.4를 사용하여 16GB RAM이 탑재된 2025년형 Apple M4 Air에서 실행되었습니다. 이 테스트를 재현하려면:

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

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

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

# Profile YOLO models (ONNX)
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
    model = YOLO(file_name)
    model.info()
    onnx_path = model.export(format="onnx", dynamic=True)
    model = YOLO(onnx_path)
    model(ASSETS)

자동 주석: 효율적인 데이터셋 생성#

자동 주석은 SAM 2의 강력한 기능으로, 사용자가 사전 학습된 모델을 활용하여 빠르고 정확하게 세분화 데이터셋을 생성할 수 있도록 지원합니다. 이 기능은 광범위한 수동 작업 없이 대규모의 고품질 데이터셋을 생성하는 데 특히 유용합니다.

SAM 2로 자동 주석을 생성하는 방법#



Watch: Auto Annotation with Meta's Segment Anything 2 Model using Ultralytics | Data Labeling

SAM 2를 사용하여 데이터셋에 자동 주석을 추가하려면 다음 예제를 따르십시오:

자동 주석 예제
from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolo26x.pt", sam_model="sam2_b.pt")
인수유형기본값설명
datastr필수주석 또는 세그멘테이션을 위한 대상 이미지가 포함된 디렉토리 경로.
det_modelstr'yolo26x.pt'초기 객체 탐지를 위한 YOLO 탐지 모델 경로입니다.
sam_modelstr'sam_b.pt'세그멘테이션을 위한 SAM 모델 경로입니다 (SAM, SAM 2, MobileSAM 및 SAM 3 가중치 지원).
devicestr''연산 장치입니다 (예: 'cuda:0', 'cpu', 또는 자동 장치 탐지를 위한 '').
conffloat0.25약한 탐지를 필터링하기 위한 YOLO 탐지 신뢰도 임계값입니다.
ioufloat0.45겹치는 박스를 필터링하기 위한 NMS(Non-Maximum Suppression) IoU 임계값입니다.
imgszint640이미지 크기 조정을 위한 입력 크기입니다(32의 배수여야 합니다).
max_detint300메모리 효율을 위해 이미지당 허용되는 최대 탐지 수입니다.
classeslist[int]None검출할 클래스 인덱스 목록 (예: 사람 및 자전거의 경우 [0, 1]).
output_dirstrNone주석 저장 디렉토리 (기본값: <data>_auto_annotate_labels 형제 디렉토리).

이 함수는 고품질 세분화 데이터셋의 빠른 생성을 지원하므로, 프로젝트를 가속화하고자 하는 연구원과 개발자에게 이상적입니다.

한계점#

강점에도 불구하고 SAM 2에는 다음과 같은 몇 가지 제한 사항이 있습니다:

  • 추적 안정성: SAM 2는 장기 시퀀스 또는 상당한 시점 변경 시 객체 추적을 놓칠 수 있습니다.
  • 객체 혼동: 모델은 특히 복잡한 장면에서 유사해 보이는 객체를 때때로 혼동할 수 있습니다.
  • 다중 객체 효율성: 객체 간 통신이 부족하여 여러 객체를 동시에 처리할 때 세분화 효율성이 떨어집니다.
  • 세부 정확도: 특히 빠르게 움직이는 객체의 경우 세부적인 디테일을 놓칠 수 있습니다. 추가적인 프롬프트를 통해 이 문제를 부분적으로 해결할 수 있지만, 시간적 부드러움(temporal smoothness)은 보장되지 않습니다.

인용 및 감사의 글#

SAM 2가 연구 또는 개발 작업의 핵심 부분인 경우 다음 레퍼런스를 사용하여 인용해 주십시오:

인용
@article{ravi2024sam2,
  title={SAM 2: Segment Anything in Images and Videos},
  author={Ravi, Nikhila and Gabeur, Valentin and Hu, Yuan-Ting and Hu, Ronghang and Ryali, Chaitanya and Ma, Tengyu and Khedr, Haitham and R{\"a}dle, Roman and Rolland, Chloe and Gustafson, Laura and Mintun, Eric and Pan, Junting and Alwala, Kalyan Vasudev and Carion, Nicolas and Wu, Chao-Yuan and Girshick, Ross and Doll{\'a}r, Piotr and Feichtenhofer, Christoph},
  journal={arXiv preprint},
  year={2024}
}

이 혁신적인 모델과 데이터셋으로 AI 커뮤니티에 기여한 Meta AI에 깊은 감사를 드립니다.

FAQ#

SAM 2란 무엇이며, 기존 Segment Anything Model(SAM)에 비해 어떻게 개선되었습니까?#

메타(Meta)의 Segment Anything Model (SAM)의 후속작인 SAM 2는 이미지와 비디오 모두에서 포괄적인 객체 세그멘테이션을 수행하도록 설계된 최첨단 도구입니다. 실시간 처리와 제로샷 일반화를 지원하는 통합 프롬프트형 모델 아키텍처를 통해 복잡한 시각 데이터를 탁월하게 처리합니다. SAM 2는 기존 SAM에 비해 다음과 같은 여러 가지 개선 사항을 제공합니다.

  • 통합 모델 아키텍처: 단일 모델에서 이미지 및 비디오 세분화 기능을 결합합니다.
  • 실시간 성능: 초당 약 44프레임을 처리하므로 즉각적인 피드백이 필요한 애플리케이션에 적합합니다.
  • 제로 샷 일반화: 이전에 본 적 없는 객체를 세분화할 수 있으며, 다양한 시각적 도메인에서 유용합니다.
  • 대화형 보정: 사용자가 추가 프롬프트를 제공하여 세분화 결과를 반복적으로 보정할 수 있습니다.
  • 시각적 과제의 고급 처리: 객체 가림 및 재출현과 같은 일반적인 비디오 세분화 과제를 관리합니다.

SAM 2의 아키텍처와 기능에 대한 자세한 내용은 SAM 2 연구 논문을 살펴보세요.

실시간 비디오 세분화에 SAM 2를 어떻게 사용할 수 있습니까?#

SAM 2는 프롬프트 가능 인터페이스와 실시간 추론 기능을 활용하여 실시간 비디오 세분화에 사용할 수 있습니다. 다음은 기본 예제입니다:

프롬프트를 이용한 세분화

프롬프트를 사용하여 이미지나 비디오의 특정 객체를 세분화하십시오.

from ultralytics import SAM

# Load a model
model = SAM("sam2_b.pt")

# Display model information (optional)
model.info()

# Segment with bounding box prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])

# Segment with point prompt
results = model("path/to/image.jpg", points=[150, 150], labels=[1])

더욱 포괄적인 사용법에 대해서는 SAM 2 사용 방법 섹션을참조하세요.

SAM 2를 훈련하는 데 사용되는 데이터셋은 무엇이며, 성능을 어떻게 향상시킵니까?#

SAM 2는 사용 가능한 가장 크고 가장 다양한 비디오 세분화 데이터셋 중 하나인 SA-V 데이터셋으로 훈련되었습니다. SA-V 데이터셋에는 다음이 포함됩니다:

  • 51,000개 이상의 비디오: 47개국에 걸쳐 촬영되어 광범위한 실제 시나리오를 제공합니다.
  • 600,000개 이상의 마스크 주석: 전체 객체와 부품을 다루는 "마스크let(masklets)"이라고 하는 상세한 시공간 마스크 주석입니다.
  • 데이터셋 규모: 기존 최대 데이터셋보다 4.5배 더 많은 비디오와 53배 더 많은 주석을 제공하여 전례 없는 다양성과 복잡성을 제공합니다.

이 방대한 데이터셋을 통해 SAM 2는 주요 비디오 세그멘테이션 벤치마크에서 우수한 성능을 달성하고 제로샷 일반화 기능을 향상시킵니다. 자세한 내용은 SA-V Dataset 섹션을 참조하세요.

SAM 2는 비디오 세분화에서 가림 및 객체 재출현을 어떻게 처리합니까?#

SAM 2에는 비디오 데이터의 시간적 종속성과 가림을 관리하는 정교한 메모리 메커니즘이 포함되어 있습니다. 메모리 메커니즘은 다음과 같이 구성됩니다:

  • 메모리 인코더 및 메모리 뱅크: 과거 프레임의 특징을 저장합니다.
  • 메모리 어텐션 모듈: 저장된 정보를 활용하여 시간에 따른 일관된 객체 추적을 유지합니다.
  • 가림 헤드: 객체가 보이지 않는 시나리오를 구체적으로 처리하여 객체가 가려질 확률을 예측합니다.

이 메커니즘은 객체가 일시적으로 가려지거나 화면에서 사라졌다가 다시 나타나는 경우에도 연속성을 보장합니다. 자세한 내용은 Memory Mechanism and Occlusion Handling 섹션을 참조하세요.

SAM 2는 YOLO26과 같은 다른 세분화 모델과 비교하여 어떠합니까?#

메타의 SAM2-t 및 SAM2-b와 같은 SAM 2 모델은 강력한 제로샷 세그멘테이션 기능을 제공하지만, YOLO 모델에 비해 크기가 훨씬 크고 속도가 느립니다. 예를 들어 YOLO26n-seg는 CPU 환경에서 SAM2-b에 비해 약 24배 더 작고 1145배 이상 빠릅니다. SAM 2는 다목적, 프롬프트 기반, 제로샷 세그멘테이션 시나리오에서 탁월한 성능을 발휘하는 반면, YOLO26은 NMS가 필요 없는 엔드투엔드 추론을 통해 속도, 효율성 및 실시간 애플리케이션에 최적화되어 있어 리소스가 제한된 환경에 배포하기에 더 적합합니다.

댓글