← 모델 목록
수업 실습 2026-10-06 · promptable-segmentation
SAM 계열 (CNN 기반 경량 Segment Anything)

FastSAM-s

FastSAM-s 객체 분할 · 텍스트 검색 (수업 실습)
모델
클래스 구분 없이 이미지 속 객체 영역을 모두 빠르게 분할하는 경량 Segment Anything 모델 (small, C2f 기반 CNN)
사용 목적
클래스 없이 객체를 모두 뽑고, 텍스트(CLIP 유사도)로 원하는 객체만 좁히는 법을 익히려고 사용
코드
mnmms/data-analysis
가중치
FastSAM-s.pt 22.7MB · 로컬 보관
models/FastSAM-s.pt (노트북 폴더 기준)
학습 시간없음
추론 CPU / GPU측정 안 함

데이터

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

학습

  • 학습 없음 · 사전학습 가중치 (자동 다운로드)
  • CPU (Intel Core Ultra 9 185H)

결과

  • conf 0.7: 객체 29개
  • 텍스트 "a photo of person" · conf 0.5: 1개
  • 단발 추론 106.1ms / 텍스트 151.9ms (후처리 1.6초)
  • 정량 지표 없음

배운 점

  • conf 값에 따라 객체 수가 크게 바뀜
  • 텍스트 검색은 CLIP 후처리가 오래 걸림
개요용도 의도한 용도: 정해진 클래스 없이 이미지 속 객체를 모두 분할하고, 텍스트( texts= , CLIP 유사도)로 원하는 …

용도

  • 의도한 용도: 정해진 클래스 없이 이미지 속 객체를 모두 분할하고, 텍스트(texts=, CLIP 유사도)로 원하는 객체만 고르는 흐름 익히기
  • 대상 사용자: 해당 없음 (학습용)
  • 의도하지 않은 용도: 정확도 근거로서의 모델 선정. 정답 마스크로 평가하지 않았음

모델 정보

항목 값
베이스 모델 FastSAM-s.pt (Ultralytics assets v8.4.0 릴리스에서 자동 다운로드)
크기 · 변형 small (파일 22.7MB). 파라미터 수 [미확인]
리비전 Ultralytics assets v8.4.0, Ultralytics 8.4.171
아키텍처 C2f 기반 SegmentationModel, 클래스 1개(object)
학습 방식 학습하지 않음. 사전학습 가중치로 추론만
프롬프트 · 에이전트 구성 텍스트 검색: model(img, texts="a photo of person", conf=0.5) (CLIP 텍스트 유사도, git+https://github.com/ultralytics/CLIP.git 필요)
데이터추론에 쓴 입력만 있고, 학습·평가 데이터셋은 없습니다. 확보 방식 해당 없음 (개인 사진으로 추론만) 출처 로컬 images…

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

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

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

항목 값
하이퍼파라미터 해당 없음 (추론 설정: 전체 분할 conf=0.7, 텍스트 검색 conf=0.5)
에폭 / 스텝 해당 없음
학습 시간 해당 없음
하드웨어 추론에 사용: CPU (Intel Core Ultra 9 185H, torch 2.14.1+cpu)
프레임워크 Ultralytics 8.4.171, Python 3.11.15, PyTorch 2.14.1, CLIP (Ultralytics fork)
시드 · 재현 방법 노트북 위에서부터 실행 (셀 14~23). 텍스트 검색 전 CLIP 설치 필요
결과정량 지표 없음. 정답 마스크로 평가하지 않고 예측 결과를 눈으로만 확인했습니다. 정량 지표 (mAP 등) 측정 안 함 해당 …

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

지표 값 테스트셋 비교 대상 (baseline 등)
정량 지표 (mAP 등) 측정 안 함 해당 없음 해당 없음
분할 개수 (참고) 전체 29개 (conf=0.7) / 텍스트 검색 1개 (conf=0.5) test_image.jpg 1장 해당 없음

예측 결과 이미지는 저장하지 않았습니다(save 옵션 없이 실행).

추론 성능 (CPU / GPU)

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

장비 장비 이름 배치 크기 지연 시간 (참고: 단발 추론 시간) 처리량 (샘플/초) 메모리 사용
CPU Intel Core Ultra 9 185H 1 전체 분할 106.1ms (384×640, 후처리 14.2ms) · 텍스트 검색 151.9ms (후처리 1602.6ms) 측정 안 함 측정 안 함
GPU - - 측정 안 함 측정 안 함 측정 안 함
  • 측정 방법: Ultralytics가 출력하는 Speed: 줄을 옮김. 워밍업·반복 없음. 측정 코드 없음
한계 · 배운 점한계 알려진 실패 유형: [미확인] (이미지 1장만 확인) 편향 / 공정성 이슈: [미확인] 성능이 떨어지는 입력 조건: co…

한계

  • 알려진 실패 유형: [미확인] (이미지 1장만 확인)
  • 편향 / 공정성 이슈: [미확인]
  • 성능이 떨어지는 입력 조건: conf 값에 따라 객체 개수가 크게 달라짐 (conf=0.7에서 29개). 텍스트 검색은 CLIP 후처리 때문에 1.6초가 더 걸림

배운 점

  • FastSAM은 클래스 없이(object 하나) 객체를 모두 뽑고, texts=로 CLIP 유사도가 높은 객체만 남길 수 있다
  • 텍스트 검색은 추론보다 후처리(CLIP)가 훨씬 오래 걸린다 (151.9ms vs 1602.6ms)
  • 다음에 해 볼 것: 같은 이미지·같은 장비에서 YOLO26n-seg, SAM3와 속도와 마스크 품질을 정량 비교
사용 방법코드 셀 2개
In [1]불러오기·전체 분할
from ultralytics import FastSAM

model = FastSAM("models/FastSAM-s.pt")
results = model("images/test_image.jpg", conf=0.7)  # 신뢰도 0.7 이상만
masks = results[0].masks
print(len(masks))
Out[1] 출력 보기
image 1/1 ...\images\test_image.jpg: 384x640 29 objects, 106.1ms
29
In [2]텍스트로 객체 찾기
# uv pip install git+https://github.com/ultralytics/CLIP.git
results = model("images/test_image.jpg", texts="a photo of person", conf=0.5)
Out[2] 출력 보기
image 1/1 ...\images\test_image.jpg: 384x640 1 object, 151.9ms
Speed: 3.1ms preprocess, 151.9ms inference, 1602.6ms postprocess per image at shape (1, 3, 384, 640)

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

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