Ultralytics YOLO27:

COCO8-Seg 데이터셋#

소개#

Ultralytics COCO8-Seg는 COCO train 2017 세트의 첫 8개 이미지(학습용 4개, 검증용 4개)로 구성된 작지만 다용도로 활용할 수 있는 인스턴스 세그멘테이션 데이터셋입니다. 이 데이터셋은 세그멘테이션 모델을 테스트하고 디버깅하거나 새로운 탐지 접근 방식을 실험하는 데 적합합니다. 이미지가 8개뿐이므로 쉽게 관리할 수 있을 만큼 작으면서도, 학습 파이프라인의 오류를 테스트하고 더 큰 데이터셋으로 학습하기 전에 정상 작동 여부를 확인할 수 있을 만큼 다양합니다.

데이터셋 구조#

  • 이미지: 총 8개(학습 4개 / 검증 4개).
  • 클래스: COCO 카테고리 80개.
  • 라벨: 각 이미지 파일에 대응하는 YOLO 형식 폴리곤이 labels/{train,val} 아래에 저장됩니다.
  • 다운로드 크기: ~1 MB.

Ultralytics Platform에서 COCO8-Seg 살펴보기에서 모든 이미지와 해당 폴리곤 마스크를 확인하고, Charts 탭에서 클래스 분포와 어노테이션 히트맵을 확인하며, 이를 복제하여 클라우드에서 자체 모델을 학습할 수 있습니다.

데이터셋 YAML#

YAML 파일은 데이터셋 구성을 정의하는 데 사용됩니다. 여기에는 데이터셋의 경로, 클래스 및 기타 관련 정보가 포함됩니다. COCO8-Seg 데이터셋의 경우 coco8-seg.yaml 파일이 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml에서 관리됩니다.

ultralytics/cfg/datasets/coco8-seg.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8-seg dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/coco8-seg
# Example usage: yolo train data=coco8-seg.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-seg ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8-seg # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-seg.zip

사용법#

이미지 크기 640으로 COCO8-Seg 데이터셋에서 100 에포크 동안 YOLO26n-seg 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 학습 페이지를 참조하세요.

학습 예제
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-seg.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)

샘플 이미지 및 주석#

다음은 COCO8-Seg 데이터셋의 일부 이미지와 해당 어노테이션 예시입니다:

COCO8-seg instance segmentation dataset mosaic
  • 모자이크 처리된 이미지: 이 이미지는 모자이크 처리된 데이터셋 이미지로 구성된 학습 배치를 보여줍니다. 모자이크 처리는 학습 중 여러 이미지를 하나의 이미지로 결합하여 각 학습 배치에 포함되는 객체와 장면의 다양성을 높이는 기법입니다. 이를 통해 다양한 객체 크기, 종횡비 및 컨텍스트에 대한 모델의 일반화 성능을 향상할 수 있습니다.

인용 및 감사의 글#

연구 또는 개발 작업에서 COCO 데이터셋을 사용하는 경우 다음 논문을 인용해 주세요:

인용문
@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

이 귀중한 리소스를 만들고 유지 관리해 주신 COCO Consortium에 감사드립니다. 컴퓨터 비전 커뮤니티를 위해 COCO 데이터셋과 제작자에 대한 자세한 정보를 확인하려면 COCO 데이터셋 웹사이트를 방문하세요.

FAQ#

  • COCO8-Seg 데이터셋은 Ultralytics에서 제공하는 소규모 인스턴스 세그멘테이션 데이터셋으로, COCO train 2017 세트의 첫 8개 이미지(학습용 4개, 검증용 4개)로 구성됩니다. 이 데이터셋은 세그멘테이션 모델을 테스트하고 디버깅하거나 새로운 탐지 방법을 실험하는 데 적합합니다. 특히 Ultralytics YOLO26과 함께 사용하면 더 큰 데이터셋으로 확장하기 전에 신속하게 반복 작업을 수행하고 파이프라인 오류를 점검할 수 있습니다. 자세한 사용법은 모델 학습 페이지를 참조하세요.

  • 이미지 크기 640으로 COCO8-Seg 데이터셋에서 100 에포크 동안 YOLO26n-seg 모델을 학습하려면 Python 또는 CLI 명령을 사용할 수 있습니다. 간단한 예시는 다음과 같습니다:

    학습 예제
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-seg.pt")  # Load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)

    사용 가능한 인자와 구성 옵션에 대한 자세한 설명은 학습 문서에서 확인할 수 있습니다.

  • 전체 COCO보다 다운로드 및 학습/검증 루프의 규모가 훨씬 작기 때문에 COCO8-Seg를 사용하면 더 큰 데이터셋에 투입하기 전에 학습 및 검증을 한 차례 실행하여 파이프라인 오류를 발견할 수 있습니다. 예를 들어 데이터 로더 손상, 잘못 구성된 손실 함수 또는 문제가 있는 증강을 확인할 수 있습니다. 지원되는 데이터셋 형식에 대한 자세한 내용은 Ultralytics 세그멘테이션 데이터셋 가이드에서 확인하세요.

  • COCO8-Seg 데이터셋의 YAML 구성 파일은 Ultralytics 리포지토리에서 사용할 수 있습니다. 파일에 직접 액세스하려면 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml을 방문하세요. YAML 파일에는 모델 학습 및 검증에 필요한 데이터셋 경로, 클래스 및 구성 설정에 대한 필수 정보가 포함되어 있습니다.

  • COCO8-Seg(이미지 8개)는 규모 면에서 COCO128-Seg(이미지 128개)와 전체 COCO-Seg 데이터셋(학습 이미지 118,287개)보다 작습니다:

    • COCO8-Seg: 이미지 8개(학습 4개, 검증 4개) — 가장 빠른 정상 작동 확인에 적합하며 CI와 신속한 디버깅에 이상적입니다.
    • COCO128-Seg: 128개 이미지 — 규모와 다양성의 균형이 적절하며, train과 val이 동일한 디렉터리를 공유합니다.
    • 전체 COCO-Seg: 118,287장의 학습 이미지 — 포괄적이지만 리소스 집약적이며 첫 다운로드 시 약 20GB가 필요합니다.

    가장 빠른 파이프라인 확인에는 COCO8-Seg를 사용한 다음, 확신이 높아지면 COCO128-Seg 또는 전체 COCO-Seg 데이터셋으로 확장하세요.

댓글