Ultralytics YOLO27:

Visão geral dos datasets#

A Ultralytics oferece suporte a vários datasets para facilitar tarefas de visão computacional, como deteção, segmentação de instâncias, segmentação semântica, estimativa de profundidade, classificação, estimativa de pose e caixas delimitadoras orientadas (OBB). Abaixo encontra-se uma lista dos principais datasets da Ultralytics, seguida de um resumo de cada tarefa de visão computacional e dos respetivos datasets. O modo de rastreamento funciona sobre modelos de deteção, segmentação, pose e OBB sem treino específico para rastreadores; consulta os datasets de rastreamento.



Watch: Ultralytics Datasets Overview

Deteção de objetos#

A deteção de objetos por caixa delimitadora é uma técnica de visão computacional que envolve detetar e localizar objetos numa imagem, desenhando uma caixa delimitadora à volta de cada objeto.

  • African-wildlife: Um dataset com imagens de vida selvagem africana, incluindo búfalos, elefantes, rinocerontes e zebras.
  • Argoverse: Um dataset com dados de rastreamento 3D e previsão de movimento de ambientes urbanos, com anotações detalhadas.
  • Brain-tumor: Um dataset para deteção de tumores cerebrais que inclui imagens de exames de MRI ou CT, com detalhes sobre a presença, localização e características dos tumores.
  • COCO: Common Objects in Context (COCO) é um dataset de grande escala para deteção, segmentação e geração de legendas de objetos, com 80 categorias de objetos.
  • COCO8: Um subconjunto menor das primeiras 8 imagens do COCO train2017, 4 para treinamento e 4 para validação, adequado para testes rápidos.
  • COCO8-Grayscale: Uma versão em tons de cinzento do COCO8, criada pela conversão de RGB para tons de cinzento, útil para avaliar 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 avaliar modelos sensíveis ao espetro.
  • COCO12-Formats: Um conjunto de dados de teste de 12 imagens que cobre os 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 mais pequeno das primeiras 128 imagens de COCO train2017, adequado para testes.
  • Construction-PPE: Um dataset de imagens de estaleiros de construção anotadas com equipamentos de segurança essenciais, como capacetes, coletes, luvas, botas e óculos de proteção, juntamente com etiquetas para equipamentos em falta, apoiando o desenvolvimento de modelos de IA para conformidade e proteção dos trabalhadores.
  • Global Wheat 2020: Um dataset com imagens de espigas de trigo para o Global Wheat Challenge 2020.
  • HomeObjects-3K: Um dataset de cenas interiores anotadas com 12 objetos domésticos comuns, ideal para desenvolver e testar modelos de visão computacional em sistemas domésticos inteligentes, robótica e realidade aumentada.
  • KITTI: Um conhecido conjunto de dados de direção autônoma com entradas estéreo, LiDAR e GPS/IMU, usado para detecção de objetos 2D em cenas de estradas variadas.
  • LVIS: Um dataset de grande escala para deteção, segmentação e geração de legendas de objetos, com 1203 categorias de objetos.
  • Medical-pills: Um dataset com imagens etiquetadas de comprimidos médicos, concebido para ajudar em tarefas como controlo de qualidade farmacêutico, triagem e garantia de conformidade com as normas do setor.
  • Objects365: Um dataset de alta qualidade e grande escala para deteção de objetos, com 365 categorias de objetos e mais de 600K imagens anotadas.
  • OpenImagesV7: Um dataset abrangente da Google com 1,7M de imagens de treino e 42k imagens de validação.
  • RF100: Um benchmark diversificado de deteção de objetos com 100 datasets que abrangem sete domínios de imagens para uma avaliação abrangente de modelos.
  • Signature: Um dataset com imagens de vários documentos contendo assinaturas anotadas, apoiando a investigação sobre verificação documental e deteção de fraude.
  • SKU-110K: Um dataset com deteção densa de objetos em ambientes de retalho, com mais de 11K imagens e 1,7 milhões de caixas delimitadoras.
  • TT100K: O conjunto de dados de sinalização de trânsito Tsinghua-Tencent 100K com 16.817 imagens de visualização de rua em 221 categorias de placas.
  • VisDrone: Um dataset com dados de deteção de objetos e rastreamento multiobjeto a partir de imagens captadas por drones, com mais de 10K imagens e sequências de vídeo.
  • VOC: O dataset Pascal Visual Object Classes (VOC) para deteção e segmentação de objetos, com 20 classes de objetos e mais de 11K imagens.
  • xView: Um dataset para deteção de objetos em imagens aéreas, com 60 categorias de objetos e mais de 1 milhão de objetos anotados.

Segmentação de instâncias#

A segmentação de instâncias é uma técnica de visão computacional que envolve identificar e localizar objetos numa imagem ao nível dos píxeis. Ao contrário da segmentação semântica, que apenas classifica cada píxel, a segmentação de instâncias distingue entre diferentes instâncias da mesma classe.

  • Carparts-seg: Dataset desenvolvido especificamente para identificar peças de veículos, destinado a necessidades de design, fabrico e investigação. É utilizado tanto em tarefas de deteção de objetos como de segmentação.
  • COCO: Um dataset de grande escala concebido para tarefas de deteção, segmentação e geração de legendas de objetos, com mais de 200K imagens etiquetadas.
  • COCO8-seg: Um dataset mais pequeno para tarefas de segmentação de instâncias, contendo um subconjunto de 8 imagens COCO com anotações de segmentação.
  • COCO128-seg: Um dataset mais pequeno para tarefas de segmentação de instâncias, contendo um subconjunto de 128 imagens COCO com anotações de segmentação.
  • Crack-seg: Dataset criado especificamente para detetar fissuras em estradas e paredes, aplicável tanto a tarefas de deteção de objetos como de segmentação.
  • Package-seg: Dataset adaptado para identificar encomendas em armazéns ou ambientes industriais, adequado tanto para aplicações de deteção de objetos como de segmentação.

Segmentação semântica#

A segmentação semântica atribui uma etiqueta de classe a cada píxel de uma imagem, produzindo mapas densos da cena para aplicações como condução autónoma, interpretação de cenas e mapeamento da cobertura do solo.

  • Cityscapes: Dataset de segmentação semântica de cenas urbanas com 19 classes de treino.
  • Cityscapes8: Um subconjunto compacto de 8 imagens do Cityscapes para verificações rápidas de pipelines de segmentação semântica.
  • ADE20K: Dataset de interpretação de cenas com 150 classes semânticas.

Estimativa de profundidade#

A estimativa de profundidade monocular prevê um mapa de profundidade por píxel, em metros, a partir de uma única imagem RGB, apoiando a reconstrução 3D de cenas, a navegação de robôs e aplicações de AR/VR.

  • Depth8: Um subconjunto compacto de 8 imagens do SUN RGB-D para verificações rápidas de pipelines.
  • ARKitScenes: RGB-D interno real capturado com o Apple ARKit LiDAR, a maior fonte de treinamento real.
  • SUN RGB-D: Cenas internas reais capturadas com quatro sensores RGB-D diferentes.
  • DIODE: Profundidade interna e externa densa de um scanner a laser de grau topográfico.
  • Hypersim: Cenas internas sintéticas fotorrealistas com profundidade perfeita por pixel.
  • TartanAir: Ambientes AirSim sintéticos com profundidade densa até ~80 m.
  • Virtual KITTI 2: Recriação sintética de cenas de direção do KITTI com profundidade densa.
  • KITTI: Cenas de direção autônoma externas do mundo real com profundidade Velodyne LiDAR, também o benchmark KITTI Eigen.
  • ImageNet (pseudo-labeled): Imagens ImageNet-1K com pseudorrótulos Depth Anything 3 para destilação.
  • NYU Depth V2: Benchmark padrão de profundidade em interiores, captado com um Microsoft Kinect v1.
  • ETH3D: Benchmark de scanner a laser interno e externo de alta precisão.
  • Make3D: Benchmark de campus externo fora de distribuição.
  • iBims-1: Benchmark interno de alta qualidade para bordas de profundidade e superfícies planares.

Classificação#

A classificação de imagens é uma tarefa de visão computacional que envolve categorizar uma imagem numa ou mais classes ou categorias predefinidas com base no seu conteúdo visual.

  • Caltech 101: Um dataset com imagens de 101 categorias de objetos para tarefas de classificação de imagens.
  • Caltech 256: Uma versão expandida do Caltech 101, com 256 categorias de objetos e imagens mais desafiantes.
  • CIFAR-10: Um dataset com 60K imagens coloridas de 32x32 em 10 classes, com 6K imagens por classe.
  • CIFAR-100: Uma versão expandida do CIFAR-10, com 100 categorias de objetos e 600 imagens por classe.
  • Fashion-MNIST: Um dataset composto por 70.000 imagens em tons de cinzento de 10 categorias de moda para tarefas de classificação de imagens.
  • ImageNet: Um dataset de grande escala para deteção de objetos e classificação de imagens, com mais de 14 milhões de imagens e 20.000 categorias.
  • ImageNet-10: Um subconjunto mais pequeno do ImageNet, com 10 categorias para experiências e testes mais rápidos.
  • Imagenette: Um subconjunto mais pequeno do ImageNet que contém 10 classes facilmente distinguíveis para treino e testes mais rápidos.
  • Imagewoof: Um subconjunto mais desafiante do ImageNet, contendo 10 categorias de raças de cães para tarefas de classificação de imagens.
  • MNIST: Um dataset com 70.000 imagens em tons de cinzento de dígitos manuscritos para tarefas de classificação de imagens.
  • MNIST160: As primeiras 8 imagens de cada dígito (0-9) das divisões de treino e teste do MNIST. O dataset contém 160 imagens no total.

Estimativa de pose#

A estimativa de pose é uma técnica utilizada para determinar a pose do objeto em relação à câmara ou ao sistema de coordenadas do mundo. Isto envolve identificar pontos-chave ou articulações nos objetos, sobretudo em humanos ou animais.

  • COCO: Um dataset de grande escala com anotações de pose humana, concebido para tarefas de estimativa de pose.
  • COCO8-pose: Um dataset mais pequeno para tarefas de estimativa de pose, contendo um subconjunto de 8 imagens COCO com anotações de pose humana.
  • Dog-pose: Um dataset abrangente com aproximadamente 8.500 imagens focadas em cães, anotadas com 24 pontos-chave por cão, adaptado a tarefas de estimativa de pose.
  • Hand-Keypoints: Um dataset conciso com mais de 26.000 imagens centradas em mãos humanas, anotadas com 21 pontos-chave por mão, concebido para tarefas de estimativa de pose.
  • Tiger-pose: Um dataset compacto composto por 263 imagens focadas em tigres, anotadas com 12 pontos-chave por tigre para tarefas de estimativa de pose.

Caixas delimitadoras orientadas (OBB)#

As caixas delimitadoras orientadas (OBB) são um método de visão computacional para detetar objetos inclinados em imagens utilizando caixas delimitadoras rodadas, frequentemente aplicado a imagens aéreas e de satélite. Ao contrário das caixas delimitadoras tradicionais, as OBB ajustam-se melhor a objetos com várias orientações.

  • DOTA-v2: Um conhecido dataset OBB de imagens aéreas, com 1,7 milhões de instâncias e 11.268 imagens.
  • DOTA8: Um subconjunto mais pequeno das primeiras 8 imagens do conjunto dividido DOTAv1, 4 para treino e 4 para validação, adequado para testes rápidos.
  • DOTA128: Um subconjunto de 128 imagens do dataset DOTA, com 128 imagens para treino e validação, que proporciona um bom equilíbrio entre dimensão e diversidade para testar modelos OBB.

Contribuir com novos datasets#

Contribuir com um novo dataset envolve vários passos para garantir que este se integra bem na infraestrutura existente. Seguem-se os passos necessários:



Watch: How to Contribute to Ultralytics Datasets

Passos para contribuir com um novo dataset#

  1. Recolher imagens: Reúne as imagens que pertencem ao dataset. Estas podem ser obtidas de várias fontes, como bases de dados públicas ou a tua própria coleção.

  2. Anotar imagens: Anota estas imagens com caixas delimitadoras, segmentos ou pontos-chave, dependendo da tarefa.

  3. Exportar anotações: Converte estas anotações para o formato de ficheiro YOLO *.txt compatível com a Ultralytics.

  4. Organizar o dataset: Organiza o teu dataset na estrutura de pastas correta. Deves ter os diretórios de nível superior images/ e labels/ e, dentro de cada um, um subdiretório train/ e val/.

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. Criar um ficheiro data.yaml: No diretório raiz do teu dataset, cria um ficheiro data.yaml que descreva o dataset, as classes e outras informações necessárias.

  6. Otimizar imagens (opcional): Se quiseres reduzir o tamanho do dataset para um processamento mais eficiente, podes otimizar as imagens utilizando o código abaixo. Não é obrigatório, mas é recomendado para datasets mais pequenos e velocidades de transferência mais rápidas.

  7. Compactar o dataset: Comprime toda a pasta do dataset num ficheiro zip.

  8. Documentar e criar um PR: Cria uma página de documentação que descreva o teu dataset e a forma como este se integra na infraestrutura existente. Depois, envia um Pull Request (PR). Consulta as Diretrizes de contribuição da Ultralytics para obter mais detalhes sobre como enviar um PR.

Código de exemplo para otimizar e compactar um dataset#

Otimizar e compactar um dataset
from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

Ao seguir estes passos, podes contribuir com um novo dataset que se integra bem na estrutura existente da Ultralytics.

Perguntas frequentes#

  • A Ultralytics oferece suporte a uma grande variedade de datasets para deteção de objetos, incluindo:

    • COCO: Um dataset de grande escala para deteção, segmentação e geração de legendas de objetos, com 80 categorias de objetos.
    • LVIS: Um dataset abrangente com 1203 categorias de objetos, concebido para deteção e segmentação de objetos mais detalhadas.
    • Argoverse: Um dataset com dados de rastreamento 3D e previsão de movimento de ambientes urbanos, com anotações detalhadas.
    • VisDrone: Um dataset com dados de deteção de objetos e rastreamento multiobjeto a partir de imagens captadas por drones.
    • SKU-110K: Com deteção densa de objetos em ambientes de retalho e mais de 11K imagens.

    Estes datasets facilitam o treino de modelos robustos Ultralytics YOLO para várias aplicações de deteção de objetos.

  • Contribuir com um novo dataset envolve vários passos:

    1. Recolher imagens: Reúne imagens de bases de dados públicas ou coleções pessoais.
    2. Anotar imagens: Aplica caixas delimitadoras, segmentos ou pontos-chave, dependendo da tarefa.
    3. Exportar anotações: Converte as anotações para o formato YOLO *.txt.
    4. Organizar o dataset: Utiliza a estrutura de pastas com os diretórios train/ e val/, cada um contendo os subdiretórios images/ e labels/.
    5. Criar um ficheiro data.yaml: Inclui descrições do dataset, classes e outras informações relevantes.
    6. Otimizar imagens (opcional): Reduz o tamanho do dataset para maior eficiência.
    7. Compactar o dataset: Comprime o dataset num ficheiro zip.
    8. Documentar e criar um PR: Descreve o teu dataset e envia um Pull Request seguindo as Diretrizes de contribuição da Ultralytics.

    Visita Contribuir com novos datasets para consultar um guia completo.

  • A Ultralytics Platform oferece funcionalidades avançadas para gestão e análise de datasets, incluindo:

    • Gestão simplificada de datasets: Carrega, organiza e gere os teus datasets num único local.
    • Integração imediata com o treino: Utiliza diretamente os datasets carregados para treinar modelos sem configuração adicional.
    • Ferramentas de visualização: explore e visualize as imagens e anotações do seu dataset.
    • Análise do dataset: obtenha insights sobre a distribuição e as características do seu dataset.

    A plataforma simplifica a transição da gestão do dataset para o treino do modelo, tornando todo o processo mais eficiente. Saiba mais sobre os datasets da Ultralytics Platform.

  • Os modelos Ultralytics YOLO oferecem várias funcionalidades exclusivas para tarefas de visão computacional:

    • Desempenho em tempo real: capacidades de inferência e treino de alta velocidade para aplicações sensíveis ao tempo.
    • Versatilidade: suporte para tarefas de deteção, segmentação de instâncias, segmentação semântica, estimativa de profundidade, classificação e estimativa de pose numa estrutura unificada.
    • Modelos pré-treinados: acesso a modelos pré-treinados de alto desempenho para várias aplicações, reduzindo o tempo de treino.
    • Amplo suporte da comunidade: comunidade ativa e documentação abrangente para resolução de problemas e desenvolvimento.
    • Integração fácil: API simples para integração com projetos e fluxos de trabalho existentes.

    Descubra mais sobre os modelos YOLO na página Modelos Ultralytics.

  • Para otimizar e compactar um dataset utilizando as ferramentas da Ultralytics, siga este exemplo de código:

    Otimizar e compactar um dataset
    from pathlib import Path
    
    from ultralytics.data.utils import compress_one_image
    from ultralytics.utils.downloads import zip_directory
    
    # Define dataset directory
    path = Path("path/to/dataset")
    
    # Optimize images in dataset (optional)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # Zip dataset into 'path/to/dataset.zip'
    zip_directory(path)

    Este processo ajuda a reduzir o tamanho do dataset para um armazenamento mais eficiente e velocidades de transferência mais rápidas. Saiba mais sobre como otimizar e compactar um dataset.

Comentários