SAM 2

Meta 2024 · 논문

한 줄 요약 — Segment Anything을 비디오로 확장한 것으로, 스트리밍 메모리 어텐션 아키텍처를 통해 프레임 전체에서 객체를 일관되게 추적하고 세그먼테이션하며, 정지 이미지에서도 SAM보다 더 정확하고 6배 더 빠릅니다.

문제

SAM은 각 이미지를 독립적으로 세그먼테이션하므로, 비디오에 실행하면 프레임 간 객체 정체성을 잃습니다 — 그러나 로보틱스, AR, 비디오 편집은 모두 시간이 지나면서 모션, 변형, 가림, 조명 변화를 거치는 동일한 객체를 일관되게 세그먼테이션해야 하며, 종종 더 낮은 프레임별 품질(블러, 카메라 모션)에서도 그렇습니다. SAM 2는 **프롬프트 가능한 시각적 세그먼테이션(Promptable Visual Segmentation, PVS)**을 제시합니다: 비디오의 임의 프레임에 클릭/박스/마스크가 주어지면, 전체 비디오에 걸쳐 그 객체의 시공간 마스크(“masklet”)를 예측하며, 임의의 프레임에 추가 프롬프트를 주어 정제할 수 있습니다. 기존 VOS 모델은 이런 의미에서 프롬프트 가능하지 않았고, 비디오 마스크 어노테이션도 부족했습니다 — 따라서 모델과 데이터셋을 함께 만들어야 했습니다.

방법 및 아키텍처

SAM을 스트리밍 방식으로 일반화한 것 — 프레임이 하나씩 소비되며, 메모리가 비어 있을 때는 모델이 곧 이미지에 대한 SAM 자체입니다:

학습은 이미지와 비디오에 대해 공동으로 진행됩니다: 최대 2개의 프롬프트된 프레임을 가진 8프레임 시퀀스, 실측값과 모델 예측에서 샘플링된 교정 클릭(corrective click); 초기 프롬프트는 실측 마스크(p=0.5), 양성 클릭(p=0.25), 또는 박스(p=0.25) 중 하나입니다.

데이터 엔진(세 단계): 1단계, 프레임별 SAM 어노테이션을 6 FPS로 — 프레임당 37.8초, 16K masklet; 2단계, SAM 2 Mask가 첫 프레임 마스크를 전파 — 프레임당 7.4초(5.1배 속도 향상), 63.5K masklet; 3단계, 이따금의 교정 클릭을 곁들여 SAM 2 전체를 루프에 넣음 — 프레임당 4.5초(비슷한 품질에서 8.4배 속도 향상), 197K masklet, 별도의 검증 과정과 커버리지를 위한 자동 그리드 프롬프트 masklet 포함. 결과: SA-V — 50.9K개 비디오, 642.6K개 masklet, 3550만 개 마스크, 이전의 어떤 VOS 데이터셋보다 마스크가 53배(자동 생성분을 제외하면 15배) 더 많으며, CC-BY 4.0으로 공개.

실험 결과

SLAM에서의 의미

프레임 단위 마스크만으로는 SLAM에 충분하지 않습니다 — 시스템은 시맨틱 맵을 구축하고 동적 장면을 처리하기 위해 시간이 지나도 같은 객체를 보고 있음을 알아야 합니다. SAM 2의 스트리밍 메모리 설계는 SLAM 파이프라인의 순차적 특성과 잘 맞습니다: 시간적으로 일관된 masklet은 동적 객체 제거, 객체 수준 매핑, 데이터 연관을 위한 지속적인 인스턴스 정체성을 가능하게 하며, 가림 헤드는 맵 유지 관리가 다뤄야 하는 소실/재출현을 명시적으로 모델링합니다. 시공간 시맨틱 매핑 시스템(예: Khronos 계열)은 이 기능의 자연스러운 활용 대상입니다.

관련 문서