YOLO vs SAM 비교

YOLOSAM 3
한 줄 요약실시간 탐지 전문정밀 세그멘테이션 전문
관계경쟁이 아닌 보완 관계경쟁이 아닌 보완 관계

문서 탐색


기능 비교

항목YOLOSAM 3
주요 기능Object Detection (바운딩 박스)Segmentation (픽셀 마스크)
출력바운딩 박스 + 클래스 + confidence세그멘테이션 마스크
프롬프트없음 (학습된 클래스 자동 탐지)텍스트/이미지 예시/포인트/박스
Open-vocabulary불가 (커스텀 학습 필요)가능 (텍스트로 새 클래스 즉시)
Zero-shot불가가능

성능 비교

항목YOLO11nYOLO11xSAM 3
추론 속도~1.5ms (TensorRT)~11ms~30ms (H200)
모델 크기5.4MB109MB~3.4GB
mAP@50 (COCO)~55%~72%-
Mask AP (LVIS)--47.0
GPU 메모리< 2GB< 8GB16GB+

라이선스 비교

항목YOLO (Ultralytics)SAM 3 (Meta)
라이선스AGPL-3.0Apache 2.0
상업적 사용Enterprise 라이선스 구매 필요자유롭게 사용 가능
소스 공개 의무AGPL: 프로젝트 전체 소스 공개 필수없음
비용무료(오픈소스 공개 시) / 유료(상업용)무료
철도 프로젝트 영향상용화 시 Enterprise 전환 필요제약 없음

시나리오별 선택 가이드

시나리오추천이유
실시간 드론 탐지YOLO속도 10배+ 빠름, 엣지 배포 가능
자동 라벨링 (수동 라벨링 대체)SAM 3텍스트 프롬프트로 즉시 사용, 학습 불필요
프로토타이핑/PoCSAM 3Zero-shot으로 바로 결과 확인
프로덕션 배포 (Jetson 등)YOLO경량 모델, 엣지 디바이스 최적화
정밀 마스크 필요 (결함 영역)SAM 3픽셀 단위 세그멘테이션
상업적 제품 출시SAM 3 우선 검토Apache 2.0 라이선스 자유로움
대량 이미지 빠른 처리YOLO배치 처리 속도 압도적

하이브리드 파이프라인 (핵심!)

두 모델은 경쟁 관계가 아니라 함께 쓸 때 가장 강력합니다.

파이프라인 1: SAM → YOLO (자동 라벨링)

  • SAM 3 텍스트 프롬프트로 드론 사진 자동 세그멘테이션
  • 마스크 → YOLO 바운딩 박스 라벨로 변환
  • 생성된 라벨로 YOLO 커스텀 학습
  • 결과: 수동 라벨링 시간 대폭 절감

코드 개요:

# Step 1: SAM으로 자동 라벨링
predictor.set_image("drone_photo.jpg")
results = predictor(text=["rail", "sleeper", "catenary"])
# Step 2: 마스크 → YOLO 라벨 변환
save_as_yolo_labels(results)
# Step 3: YOLO 학습
model = YOLO("yolo11n.pt")
model.train(data="railway.yaml", epochs=100)

파이프라인 2: YOLO → SAM (정밀 분석)

  • YOLO로 빠른 탐지 (바운딩 박스)
  • 탐지된 박스를 SAM 프롬프트로 전달 → 정밀 마스크 획득
  • 결함 영역의 픽셀 단위 분석 가능

코드 개요:

# Step 1: YOLO 탐지
yolo = YOLO("railway_model.pt")
detections = yolo("drone_photo.jpg")
# Step 2: SAM 정밀 세그멘테이션
predictor.set_image("drone_photo.jpg")
for box in detections[0].boxes.xyxy:
    mask = predictor(bboxes=[box.tolist()])

철도 프로젝트 추천 조합

단계도구목적
Phase 1: PoCSAM 3 단독데이터 없이 즉시 가능성 검증
Phase 2: 데이터 구축SAM 3 자동 라벨링수동 라벨링 비용 절감
Phase 3: 모델 학습YOLO 커스텀 학습실시간 탐지 모델 확보
Phase 4: 프로덕션YOLO (엣지) + SAM (서버)빠른 탐지 + 정밀 분석 병행

문서 탐색


참고 자료