Dataset COCO12-Formats#
Introdução#
O dataset COCO12-Formats da Ultralytics é um dataset de teste especializado, concebido para validar o carregamento de imagens em 12 extensões de formato de imagem suportadas. Contém 12 imagens (6 para treino e 6 para validação), cada uma guardada num formato diferente para garantir testes abrangentes do pipeline de carregamento de imagens.
Este dataset é indispensável para:
- Testar o suporte a formatos de imagem: Verificar se os formatos de imagem comuns são carregados corretamente
- Pipelines de CI/CD: Testes automatizados de compatibilidade de formatos
- Depuração: Isolar problemas específicos de formatos nos pipelines de treino
- Desenvolvimento: Validar adições ou alterações a formatos
Quando geres datasets na Ultralytics Platform, as imagens em qualquer um destes formatos são processadas automaticamente — não é necessária conversão manual.
Formatos suportados#
O dataset inclui uma imagem para cada uma das 12 extensões de formato suportadas, definidas em ultralytics/data/utils.py:
| Formato | Extensão | Descrição | Treino/Validação |
|---|---|---|---|
| AVIF | .avif | Formato de ficheiro de imagem AV1 (moderno) | Treinar |
| BMP | .bmp | Bitmap — formato raster não comprimido | Treinar |
| DNG | .dng | Digital Negative — formato RAW da Adobe | Treinar |
| HEIC | .heic | Codificação de imagem de alta eficiência | Treinar |
| JPEG | .jpeg | JPEG com extensão completa | Treinar |
| JPG | .jpg | JPEG com extensão curta | Treinar |
| JP2 | .jp2 | JPEG 2000 — aplicações médicas/geoespaciais | Validação |
| MPO | .mpo | Objeto multip imagem (imagens estereoscópicas) | Validação |
| PNG | .png | Portable Network Graphics | Validação |
| TIF | .tif | TIFF com extensão curta | Validação |
| TIFF | .tiff | Formato de ficheiro de imagem com etiquetas | Validação |
| WebP | .webp | Formato moderno de imagem para a Web | Validação |
Estrutura do Conjunto de Dados#
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 configurationYAML do Conjunto de Dados#
O dataset COCO12-Formats é configurado através de um ficheiro YAML que define os caminhos do dataset e os nomes das classes. Podes consultar o ficheiro oficial coco12-formats.yaml no repositório do Ultralytics no 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.zipRequisitos#
Nenhuma configuração manual é necessária. O OpenCV lê a maioria dos formatos diretamente, e o Ultralytics recorre ao Pillow para AVIF, HEIC e HEIF. O AVIF é decodificado nativamente pelo Pillow 11.3 ou mais recente, portanto atualize o Pillow se os arquivos AVIF falharem ao carregar, e a decodificação HEIC/HEIF instala o pacote leve pi-heif automaticamente no primeiro uso.
Utilização#
O dataset COCO12-Formats (1 MB) é transferido automaticamente na primeira vez que inicias o treino. Para treinar um modelo YOLO no dataset COCO12-Formats, utiliza os seguintes exemplos:
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)Notas específicas dos formatos#
AVIF (formato de ficheiro de imagem AV1)#
O AVIF é um formato de imagem moderno baseado no codec de vídeo AV1, que oferece excelente compressão. O Ultralytics o decodifica através do Pillow 11.3 ou mais recente quando o OpenCV carece de suporte a AVIF, sem exigir pacotes extras.
DNG (Digital Negative)#
DNG é o formato RAW aberto da Adobe, baseado em TIFF. Para fins de teste, o dataset utiliza ficheiros baseados em TIFF com a extensão .dng.
JP2 (JPEG 2000)#
JPEG 2000 é um padrão de compressão de imagens baseado em wavelets que oferece melhor compressão e qualidade do que o JPEG tradicional. É utilizado frequentemente em imagiologia médica (DICOM), aplicações geoespaciais e cinema digital. É suportado nativamente pelo OpenCV e pelo Pillow.
MPO (objeto multip imagem)#
Os ficheiros MPO são utilizados para imagens estereoscópicas (3D). O dataset armazena dados JPEG padrão com a extensão .mpo para testar o formato.
HEIC / HEIF (formato de ficheiro de imagem de alta eficiência)#
Tanto as extensões .heic como .heif referenciam o mesmo contentor ISO/IEC 23008-12. Por convenção, .heic denota ficheiros HEIF codificados com HEVC (a variante produzida por dispositivos Apple), enquanto .heif é a extensão abrangente.
A Ultralytics descodifica ambos através da alternativa OpenCV → Pillow em ultralytics/utils/patches.py, que instala automaticamente pi-heif (leve e apenas para descodificação) na primeira utilização — não é necessária configuração manual para a leitura. Para produzires ficheiros HEIC/HEIF por tua conta (por exemplo, para recodificar imagens de exemplo), instala o pacote completo pillow-heif, que inclui codificadores:
pip install pillow-heifCasos de uso#
Testes de 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 NoneValidação de formatos#
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}"Citações e agradecimentos#
Se utilizares o dataset COCO na tua investigação, cita:
@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}
}Perguntas frequentes#
O dataset COCO12-Formats foi concebido para testar a compatibilidade de formatos de imagem nos pipelines de treino de YOLO da Ultralytics. Garante que os 12 formatos de imagem suportados (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) são carregados e processados corretamente.
Os diferentes formatos de imagem têm características únicas (compressão, profundidade de bits, espaços de cor). Testar todos os formatos garante:
- Código robusto de carregamento de imagens
- Compatibilidade entre datasets diversificados
- Deteção precoce de erros específicos de formatos
Nenhum precisa de instalação manual. O AVIF é decodificado nativamente pelo Pillow 11.3 ou mais recente, e a decodificação HEIC/HEIF instala o pacote
pi-heifautomaticamente no primeiro uso. Instale o pacote completopillow-heifapenas se precisares de gravar arquivos HEIC/HEIF por ti próprio.



