SAM — Segment Anything Model
SAM(Segment Anything Model)은 Meta AI가 개발한 범용 세그멘테이션 파운데이션 모델입니다. 점, 박스, 텍스트 등 다양한 프롬프트로 어떤 이미지에서든 객체를 세그멘테이션할 수 있습니다.핵심 아이디어
기존 세그멘테이션 모델은 특정 클래스에 대해서만 학습됩니다. SAM은 11억 개의 마스크와 1,100만 장의 이미지로 학습되어, 학습하지 않은 새로운 객체도 프롬프트만으로 세그멘테이션할 수 있습니다. 이는 NLP의 GPT처럼 프롬프트 기반 범용 모델의 비전 버전입니다.동작 방식
| 구성 요소 | 역할 | 특징 |
|---|---|---|
| Image Encoder | 이미지 특징 추출 | ViT-H (632M 파라미터) |
| Prompt Encoder | 프롬프트 인코딩 | 점, 박스, 마스크, 텍스트 |
| Mask Decoder | 마스크 생성 | 경량 Transformer Decoder |
구현
기본 사용법
포인트 프롬프트
바운딩 박스 프롬프트
전체 이미지 자동 세그멘테이션
SAM2: 비디오 세그멘테이션
SAM2는 SAM을 비디오로 확장한 모델입니다. 첫 프레임에서 프롬프트를 주면 이후 프레임에서 자동으로 객체를 추적하며 세그멘테이션합니다.| 비교 항목 | SAM | SAM2 |
|---|---|---|
| 입력 | 이미지 | 이미지 + 비디오 |
| 추적 | 불가 | 자동 추적 |
| 메모리 | 프레임 독립 | 시간적 메모리 |
| 속도 | 느림 (ViT-H) | 빠름 (Hiera 백본) |
관련 기술 비교
| 비교 항목 | SAM | UNet/DeepLab | YOLO-Seg |
|---|---|---|---|
| 학습 필요 | 불필요 (제로샷) | 필요 | 필요 |
| 클래스 레이블 | 없음 | 있음 | 있음 |
| 프롬프트 | 필요 | 불필요 | 불필요 |
| 범용성 | 매우 높음 | 도메인 특화 | 도메인 특화 |
| 추천 용도 | 라벨링 보조, 범용 세그멘테이션 | 특정 태스크 학습 | 실시간 인스턴스 |
SAM을 학습 데이터 라벨링에 활용할 수 있나요?
SAM을 학습 데이터 라벨링에 활용할 수 있나요?
네, 가장 유용한 활용 사례 중 하나입니다. SAM으로 초기 마스크를 자동 생성한 뒤, 사람이 수정하면 라벨링 시간을 크게 단축할 수 있습니다. Label Studio도 SAM 연동을 지원합니다.
SAM은 클래스를 분류할 수 있나요?
SAM은 클래스를 분류할 수 있나요?
아닙니다. SAM은 “어디가 객체인지”만 알려주며, “무슨 객체인지”는 판단하지 않습니다. 클래스 분류가 필요하면 SAM의 마스크에 별도의 분류 모델을 결합하거나, Grounding DINO + SAM 파이프라인을 사용하세요.
참고 논문
| 논문 | 학회/연도 | 링크 |
|---|---|---|
| Segment Anything (SAM) | ICCV 2023 | arXiv:2304.02643 |
| SAM 2: Segment Anything in Images and Videos | arXiv 2024 | arXiv:2408.00714 |

