COCO12-Formats 데이터셋#
소개#
Ultralytics COCO12-Formats 데이터셋은 지원되는 12가지 이미지 형식 확장자 전반에서 이미지 로딩을 검증하도록 설계된 특수 테스트 데이터셋입니다. 이미지 12장(학습용 6장, 검증용 6장)으로 구성되며, 이미지 로딩 파이프라인을 종합적으로 테스트할 수 있도록 각 이미지를 서로 다른 형식으로 저장합니다.
이 데이터셋은 다음과 같은 용도에 매우 유용합니다:
- 이미지 형식 지원 테스트: 일반적인 이미지 형식이 올바르게 로드되는지 확인합니다.
- CI/CD 파이프라인: 형식 호환성을 자동으로 테스트합니다.
- 디버깅: 학습 파이프라인에서 형식별 문제를 분리합니다.
- 개발: 새 형식 추가 또는 변경 사항을 검증합니다.
Ultralytics Platform에서 데이터셋을 관리하면 이러한 형식의 이미지가 자동으로 처리되므로 수동 변환이 필요하지 않습니다.
지원 형식#
데이터셋에는 IMG_FORMATS의 이미지 형식 확장자 13개 중 12개(정의 위치: ultralytics/data/utils.py)에 해당하는 이미지가 각각 하나씩 포함되어 있습니다. .heif도 지원되지만 샘플 이미지는 없습니다:
| 형식 | 확장자 | 설명 | 학습/검증 |
|---|---|---|---|
| AVIF | .avif | AV1 이미지 파일 형식(최신) | 학습 |
| BMP | .bmp | 비트맵 - 비압축 래스터 형식 | 학습 |
| DNG | .dng | 디지털 네거티브 - Adobe RAW 형식 | 학습 |
| HEIC | .heic | 고효율 이미지 코딩 | 학습 |
| JPEG | .jpeg | 전체 확장자를 사용하는 JPEG | 학습 |
| JPG | .jpg | 짧은 확장자를 사용하는 JPEG | 학습 |
| JP2 | .jp2 | JPEG 2000 - 의료/지리공간 | 검증 |
| MPO | .mpo | 멀티 픽처 객체(스테레오 이미지) | 검증 |
| PNG | .png | 이식 가능한 네트워크 그래픽 | 검증 |
| TIF | .tif | 짧은 확장자를 사용하는 TIFF | 검증 |
| TIFF | .tiff | 태그 이미지 파일 형식 | 검증 |
| WebP | .webp | 최신 웹 이미지 형식 | 검증 |
데이터셋 구조#
coco12-formats/
├── images/
│ ├── train/ # 6 images (avif, bmp, dng, heic, jpeg, jpg)
│ └── val/ # 6 images (jp2, mpo, png, tif, tiff, webp)
├── labels/
│ ├── train/ # Corresponding YOLO format labels
│ └── val/
└── coco12-formats.yaml # Dataset configuration데이터셋 YAML#
COCO12-Formats 데이터셋은 데이터셋 경로와 클래스 이름을 정의하는 YAML 파일을 사용해 구성됩니다. 공식 coco12-formats.yaml 파일은 Ultralytics GitHub 저장소에서 확인할 수 있습니다.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO12-Formats dataset (12 images testing all supported image formats) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco12-formats
# Example usage: yolo train data=coco12-formats.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco12-formats ← 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: coco12-formats # dataset root dir
train: images/train # train images (relative to 'path') 6 images
val: images/val # val images (relative to 'path') 6 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/coco12-formats.zip요구 사항#
수동 설정은 필요하지 않습니다. OpenCV는 대부분의 형식을 직접 읽으며, AVIF, HEIC, HEIF는 Ultralytics가 Pillow를 대체 수단으로 사용합니다. AVIF는 Pillow 11.3 이상에서 기본적으로 디코딩되므로 AVIF 파일을 불러오지 못하면 Pillow를 업그레이드하세요. HEIC/HEIF 디코딩에 필요한 경량 pi-heif 패키지는 처음 사용할 때 자동으로 설치됩니다.
사용법#
COCO12-Formats 데이터셋(1 MB)은 학습을 처음 시작할 때 자동으로 다운로드됩니다. COCO12-Formats 데이터셋으로 YOLO 모델을 학습하려면 다음 예제를 사용하세요:
from ultralytics import YOLO
# 사전 학습된 YOLO 모델 로드
model = YOLO("yolo26n.pt")
# 지원되는 이미지 형식 12가지를 테스트하기 위해 COCO12-Formats에서 학습
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=640)형식별 참고 사항#
AVIF(AV1 이미지 파일 형식)#
AVIF는 AV1 비디오 코덱을 기반으로 한 최신 이미지 형식으로, 뛰어난 압축률을 제공합니다. OpenCV에서 AVIF를 지원하지 않는 경우 Ultralytics는 추가 패키지 없이 Pillow 11.3 이상을 통해 AVIF를 디코딩합니다.
DNG(디지털 네거티브)#
DNG는 TIFF를 기반으로 한 Adobe의 오픈 RAW 형식입니다. 테스트를 위해 데이터셋에서는 .dng 확장자를 사용하는 TIFF 기반 파일을 사용합니다.
JP2(JPEG 2000)#
JPEG 2000은 기존 JPEG보다 압축률과 화질이 뛰어난 웨이블릿 기반 이미지 압축 표준입니다. 의료 영상(DICOM), 지리공간 애플리케이션, 디지털 시네마에서 널리 사용됩니다. OpenCV와 Pillow 모두 기본적으로 지원합니다.
MPO(멀티 픽처 객체)#
MPO 파일은 입체(3D) 이미지에 사용됩니다. 데이터셋은 형식 테스트를 위해 .mpo 확장자를 사용하는 표준 JPEG 데이터를 저장합니다.
HEIC / HEIF(고효율 이미지 파일 형식)#
.heic 및 .heif 확장자는 모두 동일한 ISO/IEC 23008-12 컨테이너를 가리킵니다. 관례적으로 .heic는 HEVC로 인코딩된 HEIF 파일(Apple 기기에서 생성되는 형식)을 나타내고, .heif은 더 포괄적인 확장자입니다.
Ultralytics는 ultralytics/utils/patches.py에서 OpenCV → Pillow 대체 경로를 통해 두 형식 모두 디코딩하며, 처음 사용할 때 pi-heif(경량, 디코딩 전용)을 자동으로 설치하므로 파일을 읽기 위한 수동 설정이 필요하지 않습니다. HEIC/HEIF 파일을 직접 생성하려면(예: 샘플 이미지 재인코딩) 인코더가 포함된 전체 pillow-heif 패키지를 설치하세요:
pip install pillow-heif사용 사례#
CI/CD 테스트#
from ultralytics import YOLO
def test_image_formats():
"""Test that 12 supported image formats load correctly."""
model = YOLO("yolo26n.pt")
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=64)
assert results is not None형식 검증#
from pathlib import Path
from ultralytics.data.utils import IMG_FORMATS
# Verify all dataset formats are supported
dataset_dir = Path("datasets/coco12-formats/images")
found_formats = {f.suffix[1:].lower() for f in dataset_dir.rglob("*.*")}
assert found_formats <= IMG_FORMATS, f"Unsupported formats: {found_formats - IMG_FORMATS}"인용 및 감사의 글#
연구에서 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{\'a}r},
year={2015},
eprint={1405.0312},
archivePrefix={arXiv},
primaryClass={cs.CV}
}자주 묻는 질문#
COCO12-Formats 데이터셋은 Ultralytics YOLO 학습 파이프라인에서 이미지 형식 호환성을 테스트하도록 설계되었습니다. 지원되는 12가지 이미지 형식(AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP)이 올바르게 로드되고 처리되는지 확인합니다.
이미지 형식마다 고유한 특성(압축, 비트 깊이, 색 공간)이 있습니다. 모든 형식을 테스트하면 다음을 확인할 수 있습니다:
- 견고한 이미지 로딩 코드
- 다양한 데이터셋 간의 호환성
- 형식별 버그 조기 탐지
수동으로 설치해야 하는 형식은 없습니다. AVIF는 Pillow 11.3 이상에서 기본적으로 디코딩되며, HEIC/HEIF 디코딩에 필요한
pi-heif은 처음 사용할 때 자동으로 설치됩니다. HEIC/HEIF 파일을 직접 작성해야 하는 경우에만 전체pillow-heif패키지를 설치하세요.



