Ir para o conteúdo

Visão Geral dos Conjuntos de Dados

A Ultralytics oferece suporte a vários conjuntos de dados para facilitar tarefas de visão computacional, como detecção, segmentação de instâncias, estimativa de pose, classificação e rastreamento de múltiplos objetos. Abaixo está uma lista dos principais conjuntos de dados da Ultralytics, seguida por um resumo de cada tarefa de visão computacional e os respectivos conjuntos de dados.



Assista: Visão Geral dos Conjuntos de Dados da Ultralytics

Detecção de Objetos

A detecção de objetos por bounding box é uma técnica de visão computacional que envolve detectar e localizar objetos em uma imagem, desenhando uma caixa delimitadora ao redor de cada objeto.

  • Argoverse: Um conjunto de dados contendo dados de rastreamento 3D e previsão de movimento de ambientes urbanos com anotações ricas.
  • COCO: Common Objects in Context (COCO) é um conjunto de dados de detecção, segmentação e legendagem de objetos em larga escala com 80 categorias de objetos.
  • LVIS: Um conjunto de dados de detecção, segmentação e legendagem de objetos em larga escala com 1203 categorias de objetos.
  • COCO8: Um subconjunto menor das primeiras 4 imagens de COCO train e COCO val, 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 interpolando comprimentos de onda RGB, útil para avaliação de modelos com reconhecimento espectral.
  • COCO128: Um subconjunto menor das primeiras 128 imagens de COCO train e COCO val, adequado para testes.
  • Global Wheat 2020: Um conjunto de dados contendo imagens de espigas de trigo para o Global Wheat Challenge 2020.
  • Objects365: Um conjunto de dados de alta qualidade e em larga escala para detecção de objetos com 365 categorias de objetos e mais de 600 mil imagens anotadas.
  • OpenImagesV7: Um conjunto de dados abrangente do Google com 1,7 milhão de imagens de treinamento e 42 mil imagens de validação.
  • SKU-110K: Um conjunto de dados com detecção densa de objetos em ambientes de varejo com mais de 11 mil imagens e 1,7 milhão de caixas delimitadoras.
  • HomeObjects-3K Novo 🚀: Um conjunto de dados de cenas internas anotadas com 12 itens domésticos comuns, ideal para desenvolver e testar modelos de visão computacional em sistemas domésticos inteligentes, robótica e realidade aumentada.
  • VisDrone: Um conjunto de dados contendo dados de detecção de objetos e rastreamento multi-objeto de imagens capturadas 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 detecção e segmentação de objetos com 20 classes de objetos e mais de 11 mil imagens.
  • xView: Um conjunto de dados para detecção de objetos em imagens aéreas com 60 categorias de objetos e mais de 1 milhão de objetos anotados.
  • RF100: Um benchmark diversificado de detecção de objetos com 100 conjuntos de dados abrangendo sete domínios de imagens para avaliação abrangente do modelo.
  • Brain-tumor: Um conjunto de dados 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.
  • African-wildlife: Um conjunto de dados com imagens da vida selvagem africana, incluindo búfalos, elefantes, rinocerontes e zebras.
  • Signature: Um conjunto de dados com imagens de vários documentos com assinaturas anotadas, apoiando a verificação de documentos e a pesquisa de detecção de fraudes.
  • Medical-pills: Um conjunto de dados contendo imagens rotuladas de pílulas médicas, projetado para auxiliar em tarefas como controle de qualidade farmacêutica, triagem e garantia de conformidade com os padrões da indústria.

Segmentação de Instância

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

  • COCO: Um conjunto de dados em larga escala projetado para tarefas de detecção de objetos, segmentação e legendagem com mais de 200 mil imagens rotuladas.
  • COCO8-seg: Um conjunto de dados menor para tarefas de segmentação de instâncias, contendo um subconjunto de 8 imagens COCO com anotações de segmentação.
  • COCO128-seg: Um conjunto de dados menor para tarefas de segmentação de instâncias, contendo um subconjunto de 128 imagens COCO com anotações de segmentação.
  • Crack-seg: Conjunto de dados criado especificamente para detectar rachaduras em estradas e paredes, aplicável tanto para tarefas de detecção de objetos quanto de segmentação.
  • Package-seg: Conjunto de dados personalizado para identificar embalagens em armazéns ou ambientes industriais, adequado tanto para aplicações de detecção de objetos quanto de segmentação.
  • Carparts-seg: Conjunto de dados construído especificamente para identificar peças de veículos, atendendo às necessidades de design, fabricação e pesquisa. Ele serve para tarefas de detecção de objetos e segmentação.

Estimativa de Pose

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

  • COCO: Um conjunto de dados em larga escala com anotações de pose humana projetado para tarefas de estimativa de pose.
  • COCO8-pose: Um conjunto de dados menor 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 consistindo em 263 imagens focadas em tigres, anotadas com 12 pontos-chave por tigre para tarefas de estimativa de pose.
  • Hand-Keypoints: Um conjunto de dados conciso com mais de 26.000 imagens centradas em mãos humanas, anotadas com 21 pontos-chave por mão, projetado para tarefas de estimativa de pose.
  • Dog-pose: Um conjunto de dados abrangente com aproximadamente 6.000 imagens focadas em cães, anotadas com 24 pontos-chave por cão, feito sob medida para tarefas de estimativa de pose.

Classificação

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

  • Caltech 101: Um conjunto de dados contendo imagens de 101 categorias de objetos para tarefas de classificação de imagens.
  • Caltech 256: Uma versão estendida do Caltech 101 com 256 categorias de objetos e imagens mais desafiadoras.
  • CIFAR-10: Um conjunto de dados de 60 mil imagens coloridas de 32x32 em 10 classes, com 6 mil imagens por classe.
  • CIFAR-100: Uma versão estendida do CIFAR-10 com 100 categorias de objetos e 600 imagens por classe.
  • Fashion-MNIST: Um conjunto de dados que consiste em 70.000 imagens em tons de cinza de 10 categorias de moda para tarefas de classificação de imagens.
  • ImageNet: Um conjunto de dados em larga escala para detecção de objetos e classificação de imagens com mais de 14 milhões de imagens e 20.000 categorias.
  • ImageNet-10: Um subconjunto menor do ImageNet com 10 categorias para experimentação e testes mais rápidos.
  • Imagenette: Um subconjunto menor do ImageNet que contém 10 classes facilmente distinguíveis para treinamento e testes mais rápidos.
  • Imagewoof: Um subconjunto mais desafiador do ImageNet contendo 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 cinza de dígitos manuscritos para tarefas de classificação de imagens.
  • MNIST160: As primeiras 8 imagens de cada categoria MNIST do conjunto de dados MNIST. O conjunto de dados contém 160 imagens no total.

Caixas Delimitadoras Orientadas (OBB)

Caixas Delimitadoras Orientadas (OBB) são um método em visão computacional para detectar objetos angulares em imagens usando caixas delimitadoras rotacionadas, frequentemente aplicado a imagens aéreas e de satélite. Ao contrário das caixas delimitadoras tradicionais, a OBB pode se ajustar melhor a objetos em várias orientações.

  • DOTA-v2: Um conjunto de dados popular de imagens aéreas OBB com 1,7 milhão de instâncias e 11.268 imagens.
  • DOTA8: Um subconjunto menor das primeiras 8 imagens do conjunto de divisão DOTAv1, 4 para treinamento e 4 para validação, adequado para testes rápidos.

Rastreamento de Múltiplos Objetos

O rastreamento de multi-objetos é uma técnica de visão computacional que envolve a detecção e o rastreamento de vários objetos ao longo do tempo em uma sequência de vídeo. Esta tarefa estende a detecção de objetos, mantendo identidades consistentes de objetos através dos frames.

  • Argoverse: Um conjunto de dados contendo dados de rastreamento 3D e previsão de movimento de ambientes urbanos com anotações ricas para tarefas de rastreamento de múltiplos objetos.
  • VisDrone: Um conjunto de dados contendo dados de detecção de objetos e rastreamento multi-objeto de imagens capturadas por drones com mais de 10 mil imagens e sequências de vídeo.

Contribuir com Novos Conjuntos de Dados

Contribuir com um novo conjunto de dados envolve várias etapas para garantir que ele se alinhe bem com a infraestrutura existente. Abaixo estão os passos necessários:



Assista: Como Contribuir para os Conjuntos de Dados Ultralytics 🚀

Etapas para Contribuir com um Novo Conjunto de Dados

  1. Coletar Imagens: Reúna as imagens que pertencem ao conjunto de dados. Estas podem ser coletadas de várias fontes, como bancos de dados públicos ou sua própria coleção.
  2. Anotar Imagens: Anote estas imagens com caixas delimitadoras, segmentos ou pontos-chave, dependendo da tarefa.
  3. Exportar Anotações: Converta estas anotações para o formato de arquivo YOLO *.txt que o Ultralytics suporta.
  4. Organizar Conjunto de Dados: Organize seu conjunto de dados na estrutura de pastas correta. Você deve ter train/ e val/ diretórios de nível superior e, dentro de cada um, um images/ e labels/ subdiretório.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Criar um data.yaml Arquivo: No diretório raiz do seu conjunto de dados, crie um data.yaml arquivo que descreve o conjunto de dados, classes e outras informações necessárias.

  6. Otimizar Imagens (Opcional): Se você deseja reduzir o tamanho do conjunto de dados para um processamento mais eficiente, pode otimizar as imagens usando o código abaixo. Isso não é obrigatório, mas recomendado para tamanhos de conjunto de dados menores e velocidades de download mais rápidas.
  7. Compactar Conjunto de Dados: Compacte toda a pasta do conjunto de dados em um arquivo zip.
  8. Documentar e PR: Crie uma página de documentação descrevendo seu conjunto de dados e como ele se encaixa na estrutura existente. Depois disso, envie um Pull Request (PR). Consulte as Diretrizes de Contribuição da Ultralytics para obter mais detalhes sobre como enviar um PR.

Exemplo de Código para Otimizar e Compactar um Conjunto de Dados

Otimizar e Compactar 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)

Ao seguir estas etapas, você pode contribuir com um novo conjunto de dados que se integra bem à estrutura existente da Ultralytics.

FAQ

Quais conjuntos de dados a Ultralytics suporta para detecção de objetos?

A Ultralytics suporta uma ampla variedade de conjuntos de dados para detecção de objetos, incluindo:

  • COCO: Um conjunto de dados de detecção de objetos, segmentação e legendagem em larga escala com 80 categorias de objetos.
  • LVIS: Um extenso conjunto de dados com 1203 categorias de objetos, projetado para detecção e segmentação de objetos mais refinadas.
  • Argoverse: Um conjunto de dados contendo dados de rastreamento 3D e previsão de movimento de ambientes urbanos com anotações ricas.
  • VisDrone: Um conjunto de dados com detecção de objetos e dados de rastreamento multi-objeto de imagens capturadas por drones.
  • SKU-110K: Apresentando detecção densa de objetos em ambientes de varejo com mais de 11 mil imagens.

Esses conjuntos de dados facilitam o treinamento de modelos Ultralytics YOLO robustos para diversas aplicações de detecção de objetos.

Como posso contribuir com um novo conjunto de dados para a Ultralytics?

Contribuir com um novo conjunto de dados envolve várias etapas:

  1. Coletar Imagens: Reúna imagens de bancos de dados públicos ou coleções pessoais.
  2. Anotar Imagens: Aplique caixas delimitadoras, segmentos ou pontos-chave, dependendo da tarefa.
  3. Exportar Anotações: Converter anotações para o formato YOLO *.txt formato.
  4. Organizar Conjunto de Dados: Use a estrutura de pastas com train/ e val/ diretórios, cada um contendo images/ e labels/ subdiretórios.
  5. Criar um data.yaml Arquivo: Inclua descrições do conjunto de dados, classes e outras informações relevantes.
  6. Otimizar Imagens (Opcional): Reduza o tamanho do conjunto de dados para maior eficiência.
  7. Compactar Conjunto de Dados: Compacte o conjunto de dados em um arquivo zip.
  8. Documentar e PR: Descreva seu conjunto de dados e envie um Pull Request seguindo as Diretrizes de Contribuição da Ultralytics.

Visite Contribuir com Novos Datasets para um guia completo.

Por que devo usar o Ultralytics HUB para meu conjunto de dados?

Ultralytics HUB oferece recursos poderosos para gerenciamento e análise de conjuntos de dados, incluindo:

  • Gerenciamento Contínuo de Conjuntos de Dados: Carregue, organize e gerencie seus conjuntos de dados em um só lugar.
  • Integração Imediata de Treinamento: Use conjuntos de dados carregados diretamente para o treinamento do modelo, sem configuração adicional.
  • Ferramentas de Visualização: Explore e visualize as imagens e anotações do seu conjunto de dados.
  • Análise de Dataset: Obtenha insights sobre a distribuição e características do seu dataset.

A plataforma agiliza a transição do gerenciamento de conjuntos de dados para o treinamento de modelos, tornando todo o processo mais eficiente. Saiba mais sobre os Conjuntos de Dados do Ultralytics HUB.

Quais são os recursos exclusivos dos modelos YOLO da Ultralytics para visão computacional?

Os modelos YOLO da Ultralytics fornecem vários recursos exclusivos para tarefas de visão computacional:

  • Desempenho em Tempo Real: Recursos de inferência e treinamento de alta velocidade para aplicações sensíveis ao tempo.
  • Versatilidade: Suporte para tarefas de detecção, segmentação, classificação e estimativa de pose em uma estrutura unificada.
  • Modelos Pré-Treinados: Acesso a modelos pré-treinados de alto desempenho para várias aplicações, reduzindo o tempo de treinamento.
  • Amplo Suporte da Comunidade: Comunidade ativa e documentação abrangente para solução de problemas e desenvolvimento.
  • Fácil Integração: API simples para integração com projetos e fluxos de trabalho existentes.

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

Como posso otimizar e compactar um conjunto de dados usando as ferramentas Ultralytics?

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

Otimizar e Compactar 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)

Este processo ajuda a reduzir o tamanho do conjunto de dados para um armazenamento mais eficiente e velocidades de download mais rápidas. Saiba mais sobre como Otimizar e Compactar um Conjunto de Dados.



📅 Criado há 1 ano ✏️ Atualizado há 3 meses

Comentários