COCO128 데이터셋
소개
Ultralytics COCO128은 COCO train 2017 세트의 첫 128개 이미지로 구성된 작지만 다재다능한 객체 탐지 데이터셋입니다. 이 데이터셋은 객체 탐지 모델을 테스트 및 디버깅하거나 새로운 탐지 접근 방식을 실험하는 데 이상적입니다. 128개의 이미지는 관리가 용이할 만큼 작으면서도, 대규모 데이터셋을 학습하기 전에 학습 파이프라인의 오류를 테스트하고 정상 작동 여부를 확인하기에 충분히 다양합니다.
Watch: Ultralytics COCO Dataset Overview
이 데이터셋은 Ultralytics Platform 및 YOLO26과 함께 사용하도록 의도되었습니다.
데이터셋 YAML
데이터셋 구성을 정의하기 위해 YAML (Yet Another Markup Language) 파일이 사용됩니다. 이 파일에는 데이터셋 경로, 클래스 및 기타 관련 정보가 포함되어 있습니다. COCO128 데이터셋의 경우 coco128.yaml 파일이 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128.yaml에 유지 관리됩니다.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco128 ← downloads here (7 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: coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 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/coco128.zip사용법
COCO128 데이터셋에서 이미지 크기 640으로 100 에포크 동안 YOLO26n 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 전체 인수 목록은 모델 학습 페이지를 참조하십시오.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)샘플 이미지 및 주석
다음은 COCO128 데이터셋의 이미지 예시와 해당 주석입니다:
- 모자이크 이미지: 이 이미지는 모자이크 처리된 데이터셋 이미지들로 구성된 학습 배치를 보여줍니다. 모자이킹은 학습 중에 여러 이미지를 하나의 이미지로 결합하여 각 학습 배치 내의 객체와 장면의 다양성을 높이는 데 사용되는 기법입니다. 이는 모델이 다양한 객체 크기, 가로세로 비율 및 문맥으로 일반화하는 능력을 향상시키는 데 도움을 줍니다.
이 예시는 COCO128 데이터셋 이미지의 다양성과 복잡성, 그리고 학습 과정에서 모자이크 처리를 사용할 때의 이점을 보여줍니다.
인용 및 감사의 글
연구 또는 개발 작업에 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}
}We would like to acknowledge the COCO Consortium for creating and maintaining this valuable resource for the computer vision community. For more information about the COCO dataset and its creators, visit the COCO dataset website.
FAQ
Ultralytics COCO128 데이터셋은 어떤 용도로 사용되나요?
Ultralytics COCO128 데이터셋은 COCO train 2017 데이터셋의 첫 128개 이미지가 포함된 소형 하위 집합입니다. 이는 주로 객체 탐지 모델 테스트 및 디버깅, 새로운 탐지 접근 방식 실험, 대규모 데이터셋으로 확장하기 전 학습 파이프라인 검증용으로 사용됩니다. 관리가 용이한 크기 덕분에 빠른 반복 학습에 적합하면서도 의미 있는 테스트 사례가 될 만큼 충분한 다양성을 제공합니다.
COCO128 데이터셋을 사용하여 YOLO26 모델을 어떻게 학습하나요?
COCO128 데이터셋에서 YOLO26 모델을 학습하려면 Python 또는 CLI 명령어를 사용할 수 있습니다. 방법은 다음과 같습니다:
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)더 많은 학습 옵션 및 매개변수는 학습 문서를 참조하십시오.
COCO128에서 모자이크 증강(mosaic augmentation)을 사용하면 어떤 이점이 있나요?
샘플 이미지에서 볼 수 있듯이 모자이크 증강은 여러 학습 이미지를 하나의 합성 이미지로 결합합니다. 이 기술은 COCO128로 학습할 때 다음과 같은 여러 이점을 제공합니다:
- 각 학습 배치 내 객체와 맥락의 다양성 증가
- 다양한 객체 크기와 종횡비에 걸친 모델 일반화 개선
- 다양한 스케일의 객체에 대한 탐지 성능 향상
- 더 다양한 학습 샘플을 생성하여 소규모 데이터셋의 활용도 극대화
이 기술은 COCO128과 같은 소규모 데이터셋에 특히 유용하며, 모델이 제한된 데이터로부터 더 강력한 특징을 학습하도록 돕습니다.
COCO128은 다른 COCO 데이터셋 변형과 어떻게 비교되나요?
COCO128(128개 이미지)은 크기 면에서 COCO8(8개 이미지)와 전체 COCO 데이터셋(118K+ 이미지) 사이에 위치합니다:
- COCO8: 단 8개의 이미지(학습 4개, 검증 4개) 포함 - 빠른 테스트 및 디버깅에 이상적
- COCO128: 128개의 이미지 포함 - 크기와 다양성 간의 균형
- 전체 COCO: 118K+ 학습 이미지 포함 - 포괄적이나 리소스 집약적
COCO128은 실험 및 초기 모델 개발을 위해 전체 COCO 데이터셋보다 훨씬 관리가 용이하면서도 COCO8보다 더 큰 다양성을 제공하는 좋은 중간 지점입니다.
COCO128을 객체 탐지 이외의 작업에 사용할 수 있나요?
COCO128은 주로 객체 탐지를 위해 설계되었지만, 데이터셋의 주석은 다른 컴퓨터 비전 작업에 맞게 조정할 수 있습니다:
- 인스턴스 분할(Instance segmentation): 주석에 제공된 세그멘테이션 마스크 사용
- 키포인트 탐지(Keypoint detection): 키포인트 주석이 포함된 사람 이미지의 경우
- 전이 학습(Transfer learning): 사용자 지정 작업을 위해 모델을 파인튜닝할 때 시작점으로 활용
세그멘테이션과 같은 특수 작업의 경우, 적절한 주석이 포함된 COCO8-seg와 같은 목적별 변형 사용을 고려하십시오.