Link to this sectionVisã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, segmentação semântica, 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.
Watch: Ultralytics Datasets Overview
Link to this sectionDetecção de Objetos#
A detecção de objetos por caixa delimitadora é uma técnica de visão computacional que envolve a detecção e localização de objetos em uma imagem, desenhando uma caixa delimitadora ao redor de cada objeto.
- African-wildlife: Um conjunto de dados com imagens de vida selvagem africana, incluindo búfalos, elefantes, rinocerontes e zebras.
- Argoverse: Um conjunto de dados que contém rastreamento 3D e dados de previsão de movimento de ambientes urbanos com anotações ricas.
- Brain-tumor: Um conjunto de dados para detectar 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 conjunto de dados de grande escala para detecção de objetos, segmentação e legendagem com 80 categorias de objetos.
- COCO8: Um subconjunto menor das 4 primeiras imagens de COCO train e COCO val, adequado para testes rápidos.
- COCO8-Grayscale: Uma versão em escala de cinza do COCO8 criada pela conversão de 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 por interpolação de comprimentos de onda RGB, útil para avaliação de modelos que consideram aspectos espectrais.
- COCO128: Um subconjunto menor das 128 primeiras imagens do COCO train2017, adequado para testes.
- Construction-PPE: Um conjunto de dados de imagens de canteiros de obras anotadas com equipamentos de segurança essenciais, como capacetes, coletes, luvas, botas e óculos de proteção, junto com etiquetas para equipamentos ausentes, apoiando o desenvolvimento de modelos de IA para conformidade e proteção do trabalhador.
- Global Wheat 2020: Um conjunto de dados contendo imagens de cabeças de trigo para o Global Wheat Challenge 2020.
- HomeObjects-3K: 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 de casas inteligentes, robótica e realidade aumentada.
- KITTI Novo: Um conjunto de dados conhecido de direção autônoma com entradas estéreo, LiDAR e GPS/IMU, usado para detecção de objetos 2D em cenas rodoviárias variadas.
- LVIS: Um conjunto de dados de grande escala para detecção de objetos, segmentação e legendagem com 1203 categorias de objetos.
- Medical-pills: Um conjunto de dados contendo imagens rotuladas de comprimidos médicos, projetado para auxiliar em tarefas como controle de qualidade farmacêutico, classificação e garantia de conformidade com padrões da indústria.
- Objects365: Um conjunto de dados de alta qualidade e grande escala para detecção de objetos com 365 categorias e mais de 600 mil imagens anotadas.
- OpenImagesV7: Um conjunto de dados abrangente do Google com 1,7 milhão de imagens de treino e 42 mil imagens de validação.
- RF100: Um benchmark diversificado de detecção de objetos com 100 conjuntos de dados abrangendo sete domínios de imagem para uma avaliação abrangente do modelo.
- Signature: Um conjunto de dados com imagens de vários documentos com assinaturas anotadas, apoiando pesquisas de verificação de documentos e detecção de fraudes.
- 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.
- VisDrone: Um conjunto de dados contendo dados de detecção de objetos e rastreamento de múltiplos objetos a partir 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 de objetos e segmentação, 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.
Link to this sectionSegmentação de Instâncias#
A segmentação de instâncias é uma técnica de visão computacional que envolve identificar e localizar objetos em uma imagem ao nível de pixel. Diferente da segmentação semântica, que apenas classifica cada pixel, a segmentação de instâncias distingue entre diferentes instâncias da mesma classe.
- Carparts-seg: Conjunto de dados criado para identificar peças de veículos, atendendo a necessidades de design, fabricação e pesquisa. Serve tanto para tarefas de detecção de objetos quanto de segmentação.
- COCO: Um conjunto de dados de grande 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 do 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 do 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 adaptado para identificar pacotes em armazéns ou ambientes industriais, adequado para aplicações de detecção de objetos e de segmentação.
Link to this sectionSegmentação Semântica#
A segmentação semântica atribui um rótulo de classe a cada pixel em uma imagem, produzindo mapas de cena densos para aplicações como direção autônoma, análise de cena e mapeamento de cobertura do solo.
- Cityscapes: Conjunto de dados de segmentação semântica de cenas de rua urbanas com 19 classes de treino.
- Cityscapes8: Um subconjunto compacto de 8 imagens do Cityscapes para verificações rápidas de pipeline de segmentação semântica.
- ADE20K: Conjunto de dados de análise de cena com 150 classes semânticas.
Link to this sectionEstimativa de Pose#
A estimativa de pose é uma técnica usada para determinar a pose do objeto em relação à câmera ou ao sistema de coordenadas mundial. Isso envolve a identificação de pontos-chave ou articulações em objetos, particularmente humanos ou animais.
- COCO: Um conjunto de dados de grande 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 do COCO com anotações de pose humana.
- Dog-pose: Um conjunto de dados abrangente com aproximadamente 8.500 imagens focadas em cães, anotadas com 24 pontos-chave por cão, adaptado 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.
- 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.
Link to this sectionClassificaçã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 escala de cinza de 10 categorias de moda para tarefas de classificação de imagens.
- ImageNet: Um conjunto de dados de grande 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 escala de cinza de dígitos manuscritos para tarefas de classificação de imagens.
- MNIST160: As primeiras 8 imagens de cada dígito (0-9) de ambos os splits de treino e teste do MNIST. O conjunto de dados contém 160 imagens no total.
Link to this sectionCaixas Delimitadoras Orientadas (OBB)#
Caixas Delimitadoras Orientadas (OBB) é um método em visão computacional para detectar objetos angulados 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 ajustar melhor 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 8 primeiras imagens do conjunto de split DOTAv1, 4 para treinamento e 4 para validação, adequado para testes rápidos.
- DOTA128: Um subconjunto de 128 imagens do conjunto de dados DOTA com 128 imagens para treinamento e validação, proporcionando um bom equilíbrio entre tamanho e diversidade para testar modelos OBB.
Link to this sectionRastreamento de Múltiplos Objetos#
O rastreamento de múltiplos objetos é uma técnica de visão computacional que envolve detectar e rastrear múltiplos 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 entre quadros.
- Argoverse: Um conjunto de dados que contém rastreamento 3D e dados de 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 de múltiplos objetos a partir de imagens capturadas por drones, com mais de 10 mil imagens e sequências de vídeo.
Link to this sectionContribuir com Novos Conjuntos de Dados#
Contribuir com um novo conjunto de dados envolve vários passos para garantir que ele esteja bem alinhado com a infraestrutura existente. Abaixo estão os passos necessários:
Watch: How to Contribute to Ultralytics Datasets
Link to this sectionPassos para Contribuir com um Novo Conjunto de Dados#
-
Coletar Imagens: Reúna as imagens que pertencem ao conjunto de dados. Elas podem ser coletadas de várias fontes, como bancos de dados públicos ou sua própria coleção.
-
Anotar Imagens: Anote essas imagens com caixas delimitadoras, segmentos ou pontos-chave, dependendo da tarefa.
-
Exportar Anotações: Converta essas anotações para o formato de arquivo YOLO
*.txtque a Ultralytics suporta. -
Organizar Conjunto de Dados: Organize seu conjunto de dados na estrutura de pastas correta. Você deve ter diretórios de nível superior
images/elabels/, e dentro de cada um, um subdiretóriotrain/eval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Criar um arquivo
data.yaml: No diretório raiz do seu conjunto de dados, crie um arquivodata.yamlque descreva o conjunto de dados, as classes e outras informações necessárias. -
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.
-
Zipar Conjunto de Dados: Compacte a pasta inteira do conjunto de dados em um arquivo zip.
-
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 mais detalhes sobre como enviar um PR.
Link to this sectionExemplo de Código para Otimizar e Zipar 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, você pode contribuir com um novo conjunto de dados que se integra bem à estrutura existente da Ultralytics.
Link to this sectionFAQ#
Link to this sectionQuais conjuntos de dados a Ultralytics suporta para detecção de objetos?#
A Ultralytics suporta uma grande variedade de conjuntos de dados para detecção de objetos, incluindo:
- COCO: Um conjunto de dados de grande escala para detecção de objetos, segmentação e legendagem com 80 categorias de objetos.
- LVIS: Um conjunto de dados extenso com 1203 categorias de objetos, projetado para detecção e segmentação de objetos com maior granularidade.
- Argoverse: Um conjunto de dados que contém rastreamento 3D e dados de previsão de movimento de ambientes urbanos com anotações ricas.
- VisDrone: Um conjunto de dados com dados de detecção de objetos e rastreamento de múltiplos objetos a partir 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 várias aplicações de detecção de objetos.
Link to this sectionComo faço para contribuir com um novo conjunto de dados para a Ultralytics?#
Contribuir com um novo conjunto de dados envolve vários passos:
- Coletar Imagens: Reúna imagens de bancos de dados públicos ou coleções pessoais.
- Anotar Imagens: Aplique caixas delimitadoras, segmentos ou pontos-chave, dependendo da tarefa.
- Exportar Anotações: Converta anotações para o formato YOLO
*.txt. - Organizar Conjunto de Dados: Use a estrutura de pastas com diretórios
train/eval/, cada um contendo subdiretóriosimages/elabels/. - Criar um arquivo
data.yaml: Inclua descrições do conjunto de dados, classes e outras informações relevantes. - Otimizar Imagens (Opcional): Reduza o tamanho do conjunto de dados para eficiência.
- Zipar Conjunto de Dados: Compacte o conjunto de dados em um arquivo zip.
- 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 Conjuntos de Dados para um guia abrangente.
Link to this sectionPor que devo usar a plataforma Ultralytics para o meu conjunto de dados?#
A Ultralytics Platform oferece recursos poderosos para a gestão e análise de datasets, incluindo:
- Gestão de Datasets Simplificada: Carrega, organiza e gere os teus datasets num só local.
- Integração Imediata com Treino: Usa datasets carregados diretamente para o treino de modelos sem configurações adicionais.
- Ferramentas de Visualização: Explora e visualiza as imagens e anotações do teu dataset.
- Análise de Datasets: Obtém insights sobre a distribuição e características do teu dataset.
A plataforma simplifica a transição da gestão de datasets para o treino de modelos, tornando todo o processo mais eficiente. Sabe mais sobre Ultralytics Platform Datasets.
Link to this sectionQuais são as funcionalidades únicas dos modelos Ultralytics YOLO para visão computacional?#
Os modelos Ultralytics YOLO oferecem várias funcionalidades únicas para tarefas de computer vision:
- 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, classificação e estimativa de pose num framework unificado.
- Modelos Pré-treinados: Acesso a modelos de alto desempenho e pré-treinados para várias aplicações, reduzindo o tempo de treino.
- Apoio Comunitário Extenso: 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.
Descobre mais sobre os modelos YOLO na página Ultralytics Models.
Link to this sectionComo posso otimizar e compactar um dataset usando as ferramentas Ultralytics?#
Para otimizar e compactar um dataset usando as ferramentas Ultralytics, segue este exemplo de código:
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 download mais rápidas. Sabe mais sobre como Otimizar e Compactar um Dataset.