COCO12-Formats 데이터셋#
소개#
Ultralytics COCO12-Formats 데이터셋은 지원되는 12개 이미지 형식 확장자에 걸쳐 이미지 로딩을 검증하도록 설계된 특수 테스트 데이터셋입니다. 이 데이터셋에는 각각 다른 형식으로 저장된 12개의 이미지(학습용 6개, 검증용 6개)가 포함되어 이미지 로딩 파이프라인을 종합적으로 테스트할 수 있습니다.
이 데이터셋은 다음과 같은 용도에 매우 유용합니다:
- 이미지 형식 지원 테스트: 일반적인 이미지 형식이 올바르게 로드되는지 확인합니다
- CI/CD 파이프라인: 형식 호환성을 자동으로 테스트합니다
- 디버깅: 학습 파이프라인에서 형식별 문제를 격리합니다
- 개발: 새로운 형식의 추가 또는 변경 사항을 검증합니다
Ultralytics Platform에서 데이터셋을 관리하면 이러한 형식의 이미지는 모두 자동으로 처리되므로 수동 변환이 필요하지 않습니다.
지원되는 형식#
데이터셋에는 ultralytics/data/utils.py에 정의된 지원 형식 확장자 12개 각각에 대한 이미지가 하나씩 포함되어 있습니다:
| 형식 | 확장자 | 설명 | 학습/검증 |
|---|---|---|---|
| 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 | Portable Network Graphics | 검증 |
| 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 파일을 사용하여 구성됩니다. Ultralytics GitHub 저장소에서 공식 coco12-formats.yaml 파일을 확인할 수 있습니다.
# 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가 대부분의 형식을 직접 읽으며, Ultralytics는 AVIF, HEIC, HEIF의 경우 Pillow로 대체합니다. AVIF는 Pillow 11.3 이상에서 네이티브로 디코딩되므로 AVIF 파일 로드에 실패할 경우 Pillow를 업그레이드하시기 바랍니다. HEIC/HEIF 디코딩은 첫 사용 시 가벼운 pi-heif 패키지를 자동으로 설치합니다.
사용법#
COCO12-Formats 데이터셋(1 MB)은 학습을 처음 시작할 때 자동으로 다운로드됩니다. COCO12-Formats 데이터셋에서 YOLO 모델을 학습하려면 다음 예제를 사용합니다:
from ultralytics import YOLO
# Load a pretrained YOLO model
model = YOLO("yolo26n.pt")
# Train on COCO12-Formats to test 12 supported image formats
results = model.train(data="coco12-formats.yaml", epochs=1, imgsz=640)형식별 참고 사항#
AVIF(AV1 이미지 파일 형식)#
AVIF는 AV1 비디오 코덱을 기반으로 하며 우수한 압축률을 제공하는 최신 이미지 형식입니다. OpenCV에 AVIF 지원이 부족한 경우 Ultralytics는 Pillow 11.3 이상을 통해 추가 패키지 없이 이를 디코딩합니다.
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}
}FAQ#
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패키지를 설치하십시오.



