Meet YOLO26: next-gen vision AI.

Link to this sectionVisão geral de datasets de detecção de objetos#

Treinar um modelo de detecção de objetos robusto e preciso requer um dataset abrangente. Este guia apresenta vários formatos de datasets compatíveis com o modelo Ultralytics YOLO e fornece insights sobre sua estrutura, uso e como converter entre diferentes formatos.

Link to this sectionFormatos de dataset suportados#

Link to this sectionFormato Ultralytics YOLO#

O formato Ultralytics YOLO é um formato de configuração de dataset que permite definir o diretório raiz do dataset, os caminhos relativos para os diretórios de imagens de treinamento/validação/teste ou arquivos *.txt contendo os caminhos das imagens, e um dicionário de nomes de classes. Aqui está um exemplo:

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

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← 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 # 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.zip

As etiquetas para este formato devem ser exportadas para o formato YOLO com um arquivo *.txt por imagem. Se não houver objetos em uma imagem, nenhum arquivo *.txt é necessário. O arquivo *.txt deve ser formatado com uma linha por objeto no formato class x_center y_center width height. As coordenadas das caixas devem estar no formato xywh normalizado (de 0 a 1). Se suas caixas estiverem em pixels, você deve dividir x_center e width pela largura da imagem, e y_center e height pela altura da imagem. Os números das classes devem ser indexados em zero (começando com 0).

YOLO labeled image with bounding boxes on persons and tie

O arquivo de etiqueta correspondente à imagem acima contém 2 pessoas (classe 0) e uma gravata (classe 27):

YOLO format label file with normalized coordinates

Ao usar o formato Ultralytics YOLO, organize suas imagens e etiquetas de treinamento e validação conforme mostrado no exemplo do dataset COCO8 abaixo.

YOLO dataset directory structure with train and val folders

Link to this sectionExemplo de Uso#

Veja como você pode usar datasets no formato YOLO para treinar seu modelo:

Exemplo
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="coco8.yaml", epochs=100, imgsz=640)

Link to this sectionFormato Ultralytics NDJSON#

O formato NDJSON (Newline Delimited JSON) fornece uma maneira alternativa de definir datasets para modelos Ultralytics YOLO. Este formato armazena metadados e anotações do dataset em um único arquivo, onde cada linha contém um objeto JSON separado.

Um arquivo de dataset NDJSON contém:

  1. Registro de dataset (primeira linha): Contém metadados do dataset, incluindo tipo de tarefa, nomes de classes e informações gerais
  2. Registros de imagem (linhas subsequentes): Contém dados individuais da imagem, incluindo dimensões, anotações e caminhos de arquivo
Exemplo de NDJSON
{
    "type": "dataset",
    "task": "detect",
    "name": "Example",
    "description": "COCO NDJSON example dataset",
    "url": "https://app.ultralytics.com/user/datasets/example",
    "class_names": { "0": "person", "1": "bicycle", "2": "car" },
    "bytes": 426342,
    "version": 0,
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2025-01-01T00:00:00Z"
}

Link to this sectionExemplo de Uso#

Para usar um dataset NDJSON com YOLO26, basta especificar o caminho para o arquivo .ndjson:

Exemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Train using NDJSON dataset
results = model.train(data="path/to/dataset.ndjson", epochs=100, imgsz=640)

Link to this sectionVantagens do formato NDJSON#

  • Arquivo único: Todas as informações do dataset contidas em um arquivo
  • Streaming: Pode processar grandes datasets linha por linha sem carregar tudo na memória
  • Integração na nuvem: Suporta URLs de imagem remotas para treinamento baseado em nuvem
  • Extensível: Fácil de adicionar campos de metadados personalizados
  • Controle de versão: O formato de arquivo único funciona bem com git e sistemas de controle de versão

Link to this sectionDatasets suportados#

Aqui está uma lista dos datasets suportados e uma breve descrição para cada um:

  • African-wildlife: Um dataset com imagens da vida selvagem africana, incluindo búfalos, elefantes, rinocerontes e zebras.
  • Argoverse: Um dataset contendo dados de rastreamento 3D e previsão de movimento de ambientes urbanos com ricas anotações.
  • Brain-tumor: Um dataset para detecção de tumores cerebrais que inclui imagens de ressonância magnética ou tomografia computadorizada com detalhes sobre a presença, localização e características do tumor.
  • COCO: Common Objects in Context (COCO) é um dataset de grande escala para detecção de objetos, segmentação e legendagem com 80 categorias de objetos.
  • COCO8: Um subconjunto menor das primeiras 4 imagens do treino e validação do COCO, adequado para testes rápidos.
  • COCO8-Grayscale: Uma versão em escala de cinza do COCO8 criada convertendo RGB para escala de cinza, útil para avaliação de modelos de canal único.
  • COCO8-Multispectral: Uma versão multiespectral de 10 canais do COCO8 criada pela interpolação de comprimentos de onda RGB, útil para avaliação de modelos sensíveis ao espectro.
  • COCO12-Formats: Um conjunto de dados de teste com 12 imagens cobrindo 12 formatos de imagem suportados (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) para validar pipelines de carregamento de imagem.
  • COCO128: Um subconjunto menor das primeiras 128 imagens do COCO train2017, adequado para testes.
  • Construction-PPE: Um dataset com trabalhadores em canteiros de obras com equipamentos de segurança rotulados como capacetes, coletes, luvas, botas e óculos de proteção, incluindo anotações de falta de equipamento como no_helmet, no_goggle para monitoramento de conformidade no mundo real.
  • Global Wheat 2020: Um dataset contendo imagens de cabeças de trigo para o Global Wheat Challenge 2020.
  • HomeObjects-3K: Um dataset de itens domésticos internos incluindo camas, cadeiras, TVs e muito mais — ideal para aplicações em automação residencial inteligente, robótica, realidade aumentada e análise de layout de salas.
  • KITTI: Um dataset com cenas reais de direção com dados de estéreo, LiDAR e GPS/IMU, usado aqui para tarefas de detecção de objetos 2D como identificar carros, pedestres e ciclistas em ambientes urbanos, rurais e rodoviários.
  • LVIS: Um dataset de grande escala para detecção de objetos, segmentação e legendagem com 1203 categorias de objetos.
  • Medical-pills: Um dataset com imagens de pílulas médicas, anotadas para aplicações como garantia de qualidade farmacêutica, classificação de pílulas e conformidade regulatória.
  • Objects365: Um dataset de alta qualidade e grande escala para detecção de objetos com 365 categorias de objetos e mais de 600 mil imagens anotadas.
  • OpenImagesV7: Um dataset abrangente do Google com 1,7 milhão de imagens de treino e 42 mil imagens de validação.
  • Roboflow 100: Um benchmark diversificado de detecção de objetos com 100 datasets abrangendo sete domínios de imagem para avaliação abrangente de modelos.
  • Signature: Um dataset com imagens de vários documentos com assinaturas anotadas, apoiando a verificação de documentos e pesquisa de detecção de fraudes.
  • SKU-110K: Um dataset com detecção de objetos densos em ambientes de varejo com mais de 11 mil imagens e 1,7 milhão de caixas delimitadoras.
  • TT100K: Explore o dataset de sinais de trânsito Tsinghua-Tencent 100K (TT100K) com 100.000 imagens de visão de rua e mais de 30.000 sinais de trânsito anotados para detecção e classificação robustas.
  • VisDrone: Um dataset contendo dados de detecção de objetos e rastreamento de múltiplos objetos de imagens capturadas por drones com mais de 10 mil imagens e sequências de vídeo.
  • VOC: O dataset Pascal Visual Object Classes (VOC) para detecção e segmentação de objetos com 20 classes de objetos e mais de 11 mil imagens.
  • xView: Um dataset para detecção de objetos em imagens aéreas com 60 categorias de objetos e mais de 1 milhão de objetos anotados.

Link to this sectionAdicionando seu próprio dataset#

Se você tem seu próprio dataset e gostaria de usá-lo para treinar modelos de detecção com o formato Ultralytics YOLO, certifique-se de que ele siga o formato especificado acima em "Formato Ultralytics YOLO". Converta suas anotações para o formato necessário e especifique os caminhos, número de classes e nomes de classes no arquivo de configuração YAML.

Link to this sectionPortar ou converter formatos de etiqueta#

Link to this sectionFormato de dataset COCO para formato YOLO#

Você pode converter facilmente etiquetas do formato popular de dataset COCO para o formato YOLO usando o trecho de código a seguir:

Exemplo
from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Esta ferramenta de conversão pode ser usada para converter o dataset COCO ou qualquer dataset no formato COCO para o formato Ultralytics YOLO. O processo transforma as anotações COCO baseadas em JSON no formato YOLO mais simples baseado em texto, tornando-o compatível com modelos Ultralytics YOLO.

Lembre-se de verificar duas vezes se o dataset que você deseja usar é compatível com seu modelo e segue as convenções de formato necessárias. Datasets formatados corretamente são cruciais para treinar modelos de detecção de objetos bem-sucedidos.

Link to this sectionFAQ#

Link to this sectionO que é o formato de dataset Ultralytics YOLO e como estruturá-lo?#

O formato Ultralytics YOLO é uma configuração estruturada para definir datasets em seus projetos de treinamento. Envolve definir caminhos para suas imagens de treinamento, validação e teste e etiquetas correspondentes. Por exemplo:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← 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 # 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.zip

As etiquetas são salvas em arquivos *.txt com um arquivo por imagem, formatados como class x_center y_center width height com coordenadas normalizadas. Para um guia detalhado, veja o exemplo de dataset COCO8.

Link to this sectionComo converto um dataset COCO para o formato YOLO?#

Você pode converter um dataset COCO para o formato YOLO usando as ferramentas de conversão Ultralytics. Aqui está um método rápido:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Este código converterá suas anotações COCO para o formato YOLO, permitindo uma integração perfeita com modelos Ultralytics YOLO. Para detalhes adicionais, visite a seção Portar ou converter formatos de etiqueta.

Link to this sectionQuais datasets são suportados pelo Ultralytics YOLO para detecção de objetos?#

O Ultralytics YOLO suporta uma ampla gama de datasets, incluindo:

Cada página de dataset fornece informações detalhadas sobre a estrutura e o uso adaptados para um treinamento eficiente de YOLO26. Explore a lista completa na seção Datasets suportados.

Link to this sectionComo começo a treinar um modelo YOLO26 usando meu dataset?#

Para começar a treinar um modelo YOLO26, certifique-se de que seu dataset esteja formatado corretamente e que os caminhos estejam definidos em um arquivo YAML. Use o script a seguir para iniciar o treinamento:

Exemplo
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)

Consulte a seção Uso para mais detalhes sobre como utilizar diferentes modos, incluindo comandos da CLI.

Link to this sectionOnde posso encontrar exemplos práticos de uso do Ultralytics YOLO para detecção de objetos?#

A Ultralytics fornece inúmeros exemplos e guias práticos para usar o YOLO26 em diversas aplicações. Para uma visão geral abrangente, visite o Blog da Ultralytics, onde você pode encontrar estudos de caso, tutoriais detalhados e histórias da comunidade que mostram detecção de objetos, segmentação e muito mais com o YOLO26. Para exemplos específicos, confira a seção Uso na documentação.

Comentários