SAM과 YOLO의 차이: 분할과 탐지 관점에서 비교
Object Detection의 대표 모델 YOLO와 Segmentation 모델 SAM이 어떤 문제를 풀고, 언제 어떤 것을 선택해야 하는지 비교합니다.
YOLO는 이미지 속 물체의 위치를 사각형 박스(bounding box)로 빠르게 찾는 Object Detection 모델이고, SAM(Segment Anything Model)은 물체의 정확한 픽셀 경계를 찾아내는 Segmentation 모델입니다. 둘은 경쟁 관계가 아니라 서로 다른 문제를 풀도록 설계되었으며, 실무에서는 함께 쓰이는 경우도 많습니다.
YOLO: 빠른 Object Detection
YOLO(You Only Look Once)는 이미지를 한 번의 순전파(forward pass)로 처리해, 물체의 위치(바운딩 박스)와 클래스(무엇인지)를 동시에 예측하는 실시간 Object Detection 계열 모델입니다. Ultralytics 등에서 지속적으로 후속 버전을 공개하고 있으며, 실시간 처리 속도가 중요한 CCTV 분석, 자율주행 보조, 산업용 검사 등에 널리 사용됩니다.
YOLO의 출력은 “여기에 사람이 있다”는 사각형 영역이며, 사람의 정확한 윤곽까지는 알려주지 않습니다.
SAM: 범용 Segmentation
SAM(Segment Anything Model)은 Meta AI Research가 공개한 모델로, 클릭한 점이나 박스, 텍스트 프롬프트 등을 입력하면 해당 물체의 픽셀 단위 경계(mask) 를 예측합니다. 특정 클래스를 미리 학습하지 않아도 다양한 물체를 분할할 수 있는 범용성(zero-shot에 가까운 분할 능력)이 특징입니다.
SAM의 출력은 “이 물체의 정확한 윤곽선이 어디인가”이며, 그 물체가 어떤 클래스인지 분류하는 것은 기본 목표가 아닙니다.
비교표
| 구분 | YOLO | SAM |
|---|---|---|
| 문제 유형 | Object Detection | Segmentation |
| 출력 | 바운딩 박스 + 클래스 | 픽셀 단위 마스크 |
| 속도 | 실시간에 가까움 | 모델/설정에 따라 상대적으로 무거움 |
| 클래스 인지 | 학습된 클래스만 탐지 | 클래스 분류 없이 영역 자체를 분할 |
| 대표 활용 | 실시간 탐지, 카운팅, 트래킹 입력 | 정밀 마스킹, 데이터 라벨링, 편집 도구 |
함께 사용하는 경우
실무에서는 두 모델을 파이프라인으로 결합하기도 합니다. 예를 들어 YOLO로 먼저 물체 위치를 빠르게 찾고(박스), 그 박스를 SAM의 입력 프롬프트로 넘겨 정확한 마스크를 얻는 방식입니다. 이렇게 하면 SAM을 이미지 전체에 무차별적으로 실행하는 것보다 효율적으로 관심 영역만 정밀 분할할 수 있습니다.
한계와 주의할 점
- YOLO는 학습 시 포함되지 않은 클래스는 기본적으로 탐지하지 못합니다.
- SAM은 물체가 “무엇인지”는 알려주지 않으므로, 분류가 필요하면 별도 모델과 결합해야 합니다.
- 두 모델 모두 버전에 따라 속도·정확도·라이선스 조건이 달라질 수 있으므로, 실제 도입 전 공식 저장소의 최신 라이선스와 벤치마크를 확인해야 합니다.
결론
YOLO와 SAM은 각각 “어디에 무엇이 있는가(탐지)“와 “이 물체의 정확한 경계는 어디인가(분할)“라는 서로 다른 질문에 답하는 모델입니다. 둘 중 하나를 고르는 문제라기보다, 프로젝트에 필요한 것이 빠른 탐지인지, 정밀한 경계인지, 혹은 둘 다인지에 따라 선택하거나 조합하는 것이 합리적입니다.