← 모델 목록
수업 실습 2026-10-06 · promptable-segmentation
SAM 계열 (분할 파운데이션 모델)

facebook/sam3

SAM3 텍스트 프롬프트 분할 (수업 실습)
모델
텍스트 프롬프트로 지정한 개념에 해당하는 객체를 모두 찾아 분할하는 Meta의 분할 파운데이션 모델 (SAM 3)
사용 목적
텍스트 프롬프트("a person")로 객체를 찾아 분할하는 파운데이션 모델을 GPU에서 실행해 보려고 사용
코드
mnmms/data-analysis
가중치
sam3.pt 3.45GB · 로컬 보관
models/sam3.pt (노트북 폴더 기준)
학습 시간없음
추론 CPU / GPU측정 안 함

데이터

  • 추론만 · 개인 사진 test_image.jpg 1장

학습

  • 학습 없음 · HF 게이트 모델 (접근 승인 + 토큰)
  • GPU RTX 4070 Laptop · FP16

결과

  • "a person": 6개 (신뢰도 0.9대)
  • 단발 추론 750.0ms (GPU, 644×644)
  • 정량 지표 없음

배운 점

  • 첫 실행 실패: Meta 접근 승인 필요
  • uv add 후 torch CPU 빌드로 바뀜 → CUDA 빌드 고정
개요용도 의도한 용도: 텍스트 프롬프트( text=["a person"] )로 개념에 해당하는 객체를 찾아 분할하는 파운데이션 모…

용도

  • 의도한 용도: 텍스트 프롬프트(text=["a person"])로 개념에 해당하는 객체를 찾아 분할하는 파운데이션 모델을 직접 받아 GPU에서 실행해 보기
  • 대상 사용자: 해당 없음 (학습용)
  • 의도하지 않은 용도: 정확도 근거로서의 모델 선정. 정답 마스크로 평가하지 않았음

모델 정보

항목 값
베이스 모델 Hugging Face facebook/sam3의 sam3.pt (게이트 모델. Meta 접근 승인 후 hf_hub_download로 수동 다운로드)
크기 · 변형 파일 3.45GB. 파라미터 수 [미확인]
리비전 facebook/sam3 revision은 지정하지 않음 ([미확인]). Ultralytics 8.4.171
아키텍처 SAM3SemanticPredictor로 텍스트 프롬프트 분할 (세부 구조는 [미확인])
학습 방식 학습하지 않음. 사전학습 가중치로 추론만
프롬프트 · 에이전트 구성 predictor(text=["a person"]), conf 0.25, quantize: 16 (FP16)
데이터추론에 쓴 입력만 있고, 학습·평가 데이터셋은 없습니다. 확보 방식 해당 없음 (개인 사진으로 추론만) 출처 로컬 images…

추론에 쓴 입력만 있고, 학습·평가 데이터셋은 없습니다.

항목 값
확보 방식 해당 없음 (개인 사진으로 추론만)
출처 로컬 images/test_image.jpg (1280×720)
직접 수집 내용 해당 없음
이용 조건 확인 test_image.jpg의 출처·저작권은 [미확인]
규모 예측 이미지 1장
분할 해당 없음
레이블·클래스 분포 텍스트 프롬프트 "a person"에 해당하는 객체 6개
전처리 입력 644×644로 자동 조정 (stride 14 배수)
개인정보·민감정보 처리 test_image.jpg에 사람이 있음 (어린이 사진). 레포에는 예측 그림 1장만 둠
학습학습을 하지 않았으므로 하이퍼파라미터·에폭·학습 시간은 해당 없음 입니다. 하이퍼파라미터 해당 없음 (추론 설정: conf=0…

학습을 하지 않았으므로 하이퍼파라미터·에폭·학습 시간은 해당 없음입니다.

항목 값
하이퍼파라미터 해당 없음 (추론 설정: conf=0.25, FP16, imgsz 640 → 644로 자동 보정)
에폭 / 스텝 해당 없음
학습 시간 해당 없음
하드웨어 추론에 사용: GPU (NVIDIA GeForce RTX 4070 Laptop 8188MiB, torch 2.14.1+cu126). 노트북 중간에 uv add로 torch가 CPU 빌드로 덮어써져 CUDA 빌드로 다시 맞춤
프레임워크 Ultralytics 8.4.171, Python 3.11.15, PyTorch 2.14.1 (CUDA 12.6), huggingface_hub, timm 1.0.30 (자동 설치)
시드 · 재현 방법 노트북 위에서부터 실행 (셀 25~40). Hugging Face에서 facebook/sam3 접근 승인과 직접 발급한 액세스 토큰(.env의 HUGGINGFACE_TOKEN)이 필요 (토큰 값은 기록하지 않음)
결과SAM3 "a person" 예측 (test_image.jpg, 신뢰도 0.9대 박스 표시) 정량 지표 없음…
SAM3 "a person" 예측 (test_image.jpg, 신뢰도 0.9대 박스 표시)
SAM3 "a person" 예측 (test_image.jpg, 신뢰도 0.9대 박스 표시)

정량 지표 없음. 정답 마스크로 평가하지 않고 예측 결과를 눈으로만 확인했습니다.

지표 값 테스트셋 비교 대상 (baseline 등)
정량 지표 (mAP 등) 측정 안 함 해당 없음 해당 없음
분할 개수 (참고) "a person" 6개 test_image.jpg 1장 해당 없음

추론 성능 (CPU / GPU)

같은 조건 측정 안 함. 노트북 출력에 있는 단발 호출(1회) 값만 있습니다. infer_ms에는 넣지 않았습니다.

장비 장비 이름 배치 크기 지연 시간 (참고: 단발 추론 시간) 처리량 (샘플/초) 메모리 사용
CPU - - 측정 안 함 측정 안 함 측정 안 함
GPU NVIDIA GeForce RTX 4070 Laptop 8GB 1 750.0ms (644×644, FP16, 전처리 5.8ms · 후처리 63.8ms) 측정 안 함 측정 안 함
  • 측정 방법: Ultralytics가 출력하는 Speed: 줄을 옮김. 워밍업·반복 없음. 측정 코드 없음
한계 · 배운 점한계 알려진 실패 유형: 첫 실행은 sam3.pt 가 없어 실패했고(Meta 접근 승인 필요), 다운로드 후에도 torch C…

한계

  • 알려진 실패 유형: 첫 실행은 sam3.pt가 없어 실패했고(Meta 접근 승인 필요), 다운로드 후에도 torch CPU 빌드로 덮어써져 GPU가 안 잡히는 문제가 있었음
  • 편향 / 공정성 이슈: [미확인]
  • 성능이 떨어지는 입력 조건: [미확인] (프롬프트 1개, 이미지 1장만 확인)

배운 점

  • SAM3는 클래스 목록 없이 텍스트 프롬프트로 개념에 해당하는 객체를 찾는다. 게이트 모델이라 접근 승인과 토큰이 먼저 필요하다
  • 딥러닝 라이브러리를 새로 설치하면 torch가 CPU 빌드로 바뀔 수 있어 pyproject.toml에 CUDA 빌드를 미리 고정해야 한다
  • 다음에 해 볼 것: 같은 이미지·같은 장비에서 YOLO26n-seg, FastSAM-s와 속도와 마스크 품질을 정량 비교
사용 방법코드 셀 2개
In [1]예측기 준비 (GPU · FP16)
from ultralytics.models.sam import SAM3SemanticPredictor

overrides = {"conf": 0.25, "task": "segment", "mode": "predict",
             "model": "models/sam3.pt", "quantize": 16, "save": True}
predictor = SAM3SemanticPredictor(overrides=overrides)
predictor.set_image("images/test_image.jpg")
Out[1] 출력 보기
Ultralytics 8.4.171  Python-3.11.15 torch-2.14.1+cu126 CUDA:0 (NVIDIA GeForce RTX 4070 Laptop GPU, 8188MiB)
WARNING imgsz=[640] must be multiple of max stride 14, updating to [644]
In [2]텍스트로 분할
results = predictor(text=["a person"])
Out[2] 출력 보기
image 1/1 ...\images\test_image.jpg: 644x644 6 a persons, 750.0ms
Speed: 5.8ms preprocess, 750.0ms inference, 63.8ms postprocess per image at shape (1, 3, 644, 644)

같은 과제·데이터셋 비교 promptable-segmentation · 추론만: 개인 사진 test_image.jpg · 2개

비교할 수치(지표·추론 시간·학습 시간)가 2개 이상의 모델에 없어 그래프는 그리지 않았습니다.