Salta para o conteúdo

Visão geral dos conjuntos de dados

Ultralytics fornece suporte para vários conjuntos de dados para facilitar as tarefas de visão computacional, como deteção, segmentação de instância, estimativa de pose, classificação e rastreamento de vários objetos. Segue-se uma lista dos principais conjuntos de dados Ultralytics , seguida de um resumo de cada tarefa de visão computacional e dos respectivos conjuntos de dados.



Observa: Ultralytics Visão geral dos conjuntos de dados

NOVO 🚀 Ultralytics Explorer

Cria embeddings para o teu conjunto de dados, procura imagens semelhantes, executa consultas SQL, efectua pesquisas semânticas e até pesquisa utilizando linguagem natural! Podes começar com a nossa aplicação GUI ou criar a tua própria aplicação utilizando a API. Sabe mais aqui.

Ultralytics Captura de ecrã do Explorer

Conjuntos de dados de deteção

A deteção de objectos com caixa delimitadora é uma técnica de visão por computador que envolve a deteção e localização de objectos numa imagem, desenhando uma caixa delimitadora à volta de cada objeto.

  • Argoverse: Um conjunto de dados que contém dados de localização 3D e de previsão de movimento de ambientes urbanos com anotações ricas.
  • COCO: Um conjunto de dados em grande escala concebido para a deteção, segmentação e legendagem de objectos com mais de 200 mil imagens etiquetadas.
  • LVIS: Um conjunto de dados de deteção, segmentação e legendagem de objectos em grande escala com 1203 categorias de objectos.
  • COCO8: Contém as primeiras 4 imagens de COCO train e COCO val, adequadas para testes rápidos.
  • Global Wheat 2020: Um conjunto de dados de imagens de cabeças de trigo recolhidas em todo o mundo para tarefas de deteção e localização de objectos.
  • Objects365: Um conjunto de dados de alta qualidade e em grande escala para deteção de objectos com 365 categorias de objectos e mais de 600 mil imagens anotadas.
  • OpenImagesV7: Um conjunto de dados abrangente da Google com 1,7 milhões de imagens de treino e 42 mil imagens de validação.
  • SKU-110K: Um conjunto de dados com deteção de objectos densos em ambientes de retalho com mais de 11 mil imagens e 1,7 milhões de caixas delimitadoras.
  • VisDrone: Um conjunto de dados que contém dados de deteção de objectos e de seguimento de múltiplos objectos a partir de imagens captadas por drones, com mais de 10 mil imagens e sequências de vídeo.
  • VOC: O conjunto de dados Pascal Visual Object Classes (VOC) para deteção e segmentação de objectos com 20 classes de objectos e mais de 11 mil imagens.
  • xView: Um conjunto de dados para deteção de objectos em imagens aéreas com 60 categorias de objectos e mais de 1 milhão de objectos anotados.
  • Roboflow 100: Uma referência de deteção de objectos diversificada com 100 conjuntos de dados que abrangem sete domínios de imagens para uma avaliação abrangente do modelo.
  • Tumor cerebral: Um conjunto de dados para a deteção de tumores cerebrais inclui imagens de ressonância magnética ou de tomografia computorizada com detalhes sobre a presença, localização e características do tumor. É vital para treinar modelos de visão por computador para automatizar a identificação de tumores, ajudando no diagnóstico precoce e no planeamento do tratamento.
  • Vida selvagem africana: Um conjunto de dados com imagens da vida selvagem africana, incluindo búfalos, elefantes, rinocerontes e zebras, ajuda a treinar modelos de visão por computador. Essencial para identificar animais em vários habitats, apoia a investigação sobre a vida selvagem.

Conjuntos de dados de segmentação de instâncias

A segmentação de instâncias é uma técnica de visão por computador que envolve a identificação e localização de objectos numa imagem ao nível do pixel.

  • COCO: Um conjunto de dados em grande escala concebido para tarefas de deteção, segmentação e legendagem de objectos com mais de 200 mil imagens etiquetadas.
  • COCO8-seg: Um conjunto de dados mais pequeno para tarefas de segmentação de exemplos, contendo um subconjunto de 8 imagens COCO com anotações de segmentação.
  • Crack-seg: Conjunto de dados especificamente criado para a deteção de fissuras em estradas e paredes, aplicável tanto a tarefas de deteção de objectos como de segmentação.
  • Package-seg: Conjunto de dados personalizado para identificar embalagens em armazéns ou ambientes industriais, adequado para aplicações de deteção e segmentação de objectos.
  • Carparts-seg: Conjunto de dados criado com o objetivo de identificar peças de veículos, atendendo às necessidades de design, fabrico e investigação. Serve tanto para tarefas de deteção de objectos como de segmentação.

Estimativa de pose

A estimativa da pose é uma técnica utilizada para determinar a pose do objeto em relação à câmara ou ao sistema de coordenadas do mundo.

  • COCO: Um conjunto de dados em grande escala com anotações de pose humana concebido para tarefas de estimativa de pose.
  • COCO8-pose: Um conjunto de dados mais pequeno para tarefas de estimativa de pose, contendo um subconjunto de 8 imagens COCO com anotações de pose humana.
  • Tiger-pose: Um conjunto de dados compacto que consiste em 263 imagens centradas em tigres, anotadas com 12 pontos-chave por tigre para tarefas de estimativa de pose.

Classificação

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

  • Caltech 101: Um conjunto de dados que contém imagens de 101 categorias de objectos para tarefas de classificação de imagens.
  • Caltech 256: Uma versão alargada do Caltech 101 com 256 categorias de objectos e imagens mais desafiantes.
  • CIFAR-10: Um conjunto de dados de 60K imagens a cores 32x32 em 10 classes, com 6K imagens por classe.
  • CIFAR-100: Uma versão alargada do CIFAR-10 com 100 categorias de objectos e 600 imagens por classe.
  • Moda-MNIST: Um conjunto de dados constituído por 70.000 imagens em escala de cinzentos de 10 categorias de moda para tarefas de classificação de imagens.
  • ImageNet: Um conjunto de dados em grande escala para deteção de objectos 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 uma experimentação e testes mais rápidos.
  • Imagenette: Um subconjunto mais pequeno do ImageNet que contém 10 classes facilmente distinguíveis para um treino e teste mais rápidos.
  • Imagewoof: Um subconjunto mais exigente do ImageNet que contém 10 categorias de raças de cães para tarefas de classificação de imagens.
  • MNIST: Um conjunto de dados de 70.000 imagens em tons de cinzento de dígitos manuscritos para tarefas de classificação de imagens.

Caixas delimitadoras orientadas (OBB)

Oriented Bounding Boxes (OBB) é um método de visão por computador para detetar objectos angulares em imagens utilizando caixas delimitadoras rodadas, frequentemente aplicado a imagens aéreas e de satélite.

  • DOTAv2: Um popular conjunto de dados de imagens aéreas OBB com 1,7 milhões de instâncias e 11 268 imagens.

Seguimento de vários objectos

O seguimento de múltiplos objectos é uma técnica de visão por computador que envolve a deteção e o seguimento de múltiplos objectos ao longo do tempo numa sequência de vídeo.

  • Argoverse: Um conjunto de dados que contém dados de rastreio 3D e previsão de movimento de ambientes urbanos com anotações ricas para tarefas de rastreio de vários objectos.
  • VisDrone: Um conjunto de dados que contém dados de deteção de objectos e de seguimento de múltiplos objectos a partir de imagens captadas por drones, com mais de 10 mil imagens e sequências de vídeo.

Contribui com novos conjuntos de dados

A contribuição de um novo conjunto de dados envolve vários passos para garantir que se alinha bem com a infraestrutura existente. Apresentamos de seguida os passos necessários:

Passos para contribuir com um novo conjunto de dados

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

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

  3. Exportar Anotações: Converte estas anotações no YOLO *.txt formato de ficheiro que o Ultralytics suporta.

  4. Organiza o conjunto de dados: Organiza o teu conjunto de dados na estrutura de pastas correcta. Deves ter train/ e val/ directórios de nível superior, e dentro de cada um, um images/ e labels/ subdiretório.

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

  6. Otimiza as imagens (opcional): Se quiseres reduzir o tamanho do conjunto de dados para um processamento mais eficiente, podes otimizar as imagens utilizando o código abaixo. Isso não é obrigatório, mas recomendado para tamanhos menores de conjuntos de dados e velocidades de download mais rápidas.

  7. Compacta o conjunto de dados: Comprime toda a pasta do conjunto de dados em um arquivo zip.

  8. Documenta e faz relações públicas: Cria uma página de documentação descrevendo o teu conjunto de dados e como ele se encaixa na estrutura existente. Depois disso, submete um Pull Request (PR). Consulta Ultralytics Contribution Guidelines para obteres mais detalhes sobre como submeter um PR.

Código de exemplo para otimizar e compactar um conjunto de dados

Optimiza e comprime um conjunto de dados

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)

Seguindo estes passos, podes contribuir com um novo conjunto de dados que se integra bem na estrutura existente do Ultralytics.



Criado em 2023-11-12, Atualizado em 2024-04-02
Autores: Burhan-Q (1), Laughing-q (1), RizwanMunawar (2), glenn-jocher (6), abirami-vina (1), AyushExel (2)

Comentários