← 모델 목록
수업 실습 2026-10-06 · instance-segmentation
YOLO 계열 (CNN 기반 인스턴스 세그멘테이션)

yolo26n-seg

YOLO26n-seg 인스턴스 세그멘테이션 (수업 실습)
모델
탐지 박스에 객체 윤곽 마스크까지 함께 예측하는 YOLO26 nano 세그멘테이션 모델 (COCO 80클래스)
사용 목적
학습 없이 사전학습 세그멘테이션 모델의 출력(boxes, masks)을 읽고, 마스크로 객체만 잘라내는 법을 익히려고 사용
코드
mnmms/data-analysis
가중치
yolo26n-seg.pt 6.4MB · 로컬 보관
models/yolo26n-seg.pt (노트북 폴더 기준)
학습 시간없음
추론 CPU / GPU측정 안 함

데이터

  • 추론만 · Ultralytics 샘플 bus.jpg 1장
  • 실습 이미지 yolo_image.jpg 1장 (결과 저장)

학습

  • 학습 없음 · 사전학습 가중치
  • CPU (Intel Core Ultra 9 185H)

결과

  • bus.jpg: person 4 + bus 1 (마스크 5개)
  • yolo_image.jpg: person 5 + bicycle 3 + umbrella 1
  • 단발 추론 86.3ms (CPU, 640×480)
  • 정량 지표 없음

배운 점

  • masks: 탐지에선 None → 세그멘테이션에선 Masks
  • 마스크 → 원본 크기 리사이즈 · BGR→RGB
개요용도 의도한 용도: 세그멘테이션 결과( result.boxes , result.masks )를 읽고, 마스크를 원본 크기로 리…

용도

  • 의도한 용도: 세그멘테이션 결과(result.boxes, result.masks)를 읽고, 마스크를 원본 크기로 리사이즈해 객체만 잘라내는 과정 익히기
  • 대상 사용자: 해당 없음 (학습용)
  • 의도하지 않은 용도: 정확도 근거로서의 모델 선정. 정답 마스크로 평가하지 않았음
  • 노트북 정리의 활용 예시(원문): 사진 편집, 제품 불량 탐지, 물건을 집는 Physical AI 로봇

모델 정보

항목 값
베이스 모델 yolo26n-seg.pt (Ultralytics 배포 가중치, COCO 80클래스). 노트북에서 models/yolo26n-seg.pt로 로드
크기 · 변형 nano. 파라미터 수 [미확인] (노트북 출력에 모델 요약 줄이 없음)
리비전 Ultralytics 8.4.171. 가중치 다운로드 리비전은 [미확인]
아키텍처 SegmentationModel (C3k2 기반 백본 + 마스크 헤드)
학습 방식 학습하지 않음. 사전학습 가중치로 추론만
프롬프트 · 에이전트 구성 해당 없음
데이터추론에 쓴 입력만 있고, 학습·평가 데이터셋은 없습니다. 확보 방식 해당 없음 (공개 샘플 이미지로 추론만) 출처 https:…

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

항목 값
확보 방식 해당 없음 (공개 샘플 이미지로 추론만)
출처 https://ultralytics.com/images/bus.jpg (Ultralytics 샘플 이미지), 실습 자료 images/yolo_image.jpg (1280×854)
직접 수집 내용 해당 없음
이용 조건 확인 Ultralytics 샘플 이미지 라이선스는 [미확인]. yolo_image.jpg는 수업 실습 자료로 받은 이미지이며 원 출처는 [미확인]
규모 예측 이미지 2장 (bus.jpg, yolo_image.jpg)
분할 해당 없음
레이블·클래스 분포 COCO 80클래스. bus.jpg는 person 4 + bus 1 (마스크 5개), yolo_image.jpg는 person 5 + bicycle 3 + umbrella 1
전처리 마스크(640×480)를 원본 크기(1080×810)로 NEAREST 리사이즈, BGR→RGB 변환([:, :, ::-1]), 박스 좌표로 crop
개인정보·민감정보 처리 yolo_image.jpg에 사람 얼굴이 보임 (수업 실습 자료 이미지). 레포에는 예측 그림 1장만 둠
학습학습을 하지 않았으므로 하이퍼파라미터·에폭·학습 시간은 해당 없음 입니다. 하이퍼파라미터 해당 없음 (추론 기본 설정) 에폭 …

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

항목 값
하이퍼파라미터 해당 없음 (추론 기본 설정)
에폭 / 스텝 해당 없음
학습 시간 해당 없음
하드웨어 추론에 사용: CPU (Intel Core Ultra 9 185H, torch 2.14.1+cpu)
프레임워크 Ultralytics 8.4.171, Python 3.11.15, PyTorch 2.14.1
시드 · 재현 방법 노트북 위에서부터 실행 (셀 1~11)

참고: 같은 runs/segment/train/에 coco8-seg.yaml로 yolo26n-seg.yaml을 학습한 기록(65 에폭, 2026-10-06 09:25~09:28)이 있으나 이 노트북에는 없어 카드 대상이 아닙니다.

결과YOLO26n-seg 예측 (yolo_image.jpg, person 5 · bicycle 3 · umbrella 1, 마스크…
YOLO26n-seg 예측 (yolo_image.jpg, person 5 · bicycle 3 · umbrella 1, 마스크와 박스 표시)
YOLO26n-seg 예측 (yolo_image.jpg, person 5 · bicycle 3 · umbrella 1, 마스크와 박스 표시)

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

지표 값 테스트셋 비교 대상 (baseline 등)
정량 지표 (mAP 등) 측정 안 함 해당 없음 해당 없음
탐지 개수 (참고) 5개 (person 4, bus 1) bus.jpg 1장 해당 없음
탐지 개수 (참고) 9개 (person 5, bicycle 3, umbrella 1) yolo_image.jpg 1장 해당 없음

bus.jpg 예측은 결과 이미지를 저장하지 않았습니다(save 옵션 없이 실행). 아래는 같은 사전학습 yolo26n-seg.pt로 images/yolo_image.jpg를 예측해 저장한 결과입니다(runs/segment/predict/yolo_image.jpg, 2026-10-06 09:29). 이 실행 셀은 노트북에 남아 있지 않고, 사전학습 모델로 실행한 것은 직접 확인했습니다. 신뢰도는 person 0.530.67, bicycle 0.790.90, umbrella 0.28이며 실행 시간은 [미확인]입니다(출력 없음).

추론 성능 (CPU / GPU)

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

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

한계

  • 알려진 실패 유형: [미확인] (이미지 1장만 확인)
  • 편향 / 공정성 이슈: [미확인]
  • 성능이 떨어지는 입력 조건: COCO 80클래스 밖의 물체는 찾지 못함. 마스크 텐서 크기가 입력 크기(640×480)로 나와 원본 크기로 되돌려야 함

배운 점

  • 탐지 모델의 masks가 None이던 것이 세그멘테이션에서는 Masks 객체가 되고, 마스크 크기·색 순서(BGR)가 원본과 달라 리사이즈·색 변환 후 박스로 잘라야 한다
  • YOLO는 정해진 80클래스 안에서만 찾는다. 클래스 밖의 물체는 FastSAM·SAM3 같은 SAM 계열로 다룬다
  • 다음에 해 볼 것: 같은 이미지·같은 장비에서 FastSAM-s, SAM3와 속도와 마스크 품질을 정량 비교
사용 방법코드 셀 3개
In [1]불러오기·예측
from ultralytics import YOLO

model = YOLO("models/yolo26n-seg.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
masks, boxes, names = result.masks, result.boxes, result.names
print(len(masks.data))
Out[1] 출력 보기
image 1/1 ...\bus.jpg: 640x480 4 persons, 1 bus, 86.3ms
5
In [2]예측 결과 저장 (노트북에 셀이 남아 있지 않아 결과 파일로 다시 적음)
results = model("images/yolo_image.jpg", save=True)  # runs/segment/predict/ 에 저장
In [3]마스크로 객체 잘라내기
import numpy as np
from PIL import Image

idx = 0
orig_img = Image.fromarray(result.orig_img[:, :, ::-1])  # BGR → RGB
mask = masks.data[idx].to("cpu").numpy()
mask_resized = Image.fromarray((mask * 255).astype(np.uint8)).resize(
    (orig_img.width, orig_img.height), Image.NEAREST)  # 마스크를 원본 크기로

같은 과제·데이터셋 비교

같은 과제·데이터셋으로 학습한 모델이 생기면 여기에서 비교됩니다.