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âncias, estimativa de pose, classificação e rastreio de vários objectos. 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.
Ver: Ultralytics Visão geral dos conjuntos de dados
Deteção de objectos
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 rastreio 3D e de previsão de movimento de ambientes urbanos com anotações ricas.
- COCO: Common Objects in Context (COCO) é um conjunto de dados de deteção, segmentação e legendagem de objectos em grande escala com 80 categorias de objectos.
- LVIS: Um conjunto de dados de deteção, segmentação e legendagem de objectos em grande escala com 1203 categorias de objectos.
- COCO8: Um subconjunto mais pequeno 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 mais pequeno das primeiras 128 imagens de COCO train e COCO val, adequado para testes.
- Global Wheat 2020: Um conjunto de dados com imagens de cabeças de trigo para o Global Wheat Challenge 2020.
- Objectos365: 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.
- 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 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.
- RF100: 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 caraterísticas do tumor.
- Vida selvagem africana: Um conjunto de dados com imagens da vida selvagem africana, incluindo búfalos, elefantes, rinocerontes e zebras.
- Assinatura: Um conjunto de dados que apresenta imagens de vários documentos com assinaturas anotadas, apoiando a verificação de documentos e a investigação sobre deteçã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âncias
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 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.
- COCO128-seg: Um conjunto de dados mais pequeno para tarefas de segmentação de exemplos, contendo um subconjunto de 128 imagens COCO com anotações de segmentação.
- Crack-seg: Conjunto de dados especificamente criado para detetar 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 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 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.
- Pontos-chave da mão: Um conjunto de dados 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.
- Dog-pose: Um conjunto de dados abrangente com cerca de 6.000 imagens centradas em cães, anotadas com 24 pontos-chave por cão, adaptadas 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.
- Fashion-MNIST: Um conjunto de dados constituído por 70 000 imagens em tons de cinzento 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 teste 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.
- MNIST160: As primeiras 8 imagens de cada categoria MNIST do conjunto de dados MNIST. O conjunto de dados contém um total de 160 imagens.
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 popular conjunto de dados de imagens aéreas OBB 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.
Seguimento de vários objectos
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 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.
Contribuir com novos conjuntos de dados
A contribuição de um novo conjunto de dados envolve várias etapas para garantir que este se alinha bem com a infraestrutura existente. Seguem-se os passos necessários:
Ver: Como Contribuir para os Conjuntos de Dados Ultralytics 🚀
Passos para contribuir com um novo conjunto de dados
- Recolher imagens: Reúna as imagens que pertencem ao conjunto de dados. Estas podem ser recolhidas de várias fontes, tais como bases de dados públicas ou a sua própria coleção.
- Anotar imagens: Anotar estas imagens com caixas delimitadoras, segmentos ou pontos-chave, consoante a tarefa.
- Exportar Anotações: Converter estas anotações no YOLO
*.txt
formato de ficheiro que o Ultralytics suporta. -
Organizar conjunto de dados: Organize o seu conjunto de dados na estrutura de pastas correta. Deve ter
train/
eval/
diretórios de nível superior e, dentro de cada um, umimages/
elabels/
subdiretório.dataset/ ├── train/ │ ├── images/ │ └── labels/ └── val/ ├── images/ └── labels/
-
Criar um
data.yaml
Ficheiro: No diretório raiz do seu conjunto de dados, crie um ficheirodata.yaml
que descreve o conjunto de dados, as classes e outras informações necessárias. - Otimizar imagens (opcional): Se quiser reduzir o tamanho do conjunto de dados para um processamento mais eficiente, pode 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.
- Compactar conjunto de dados: Comprimir toda a pasta do conjunto de dados num ficheiro zip.
- Documentação e relações públicas: Crie uma página de documentação descrevendo seu conjunto de dados e como ele se encaixa na estrutura existente. Depois disso, submeta um Pull Request (PR). Consulte Ultralytics Diretrizes de contribuição 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)
Seguindo estes passos, pode contribuir com um novo conjunto de dados que se integra bem na estrutura existente do Ultralytics.
FAQ
Que conjuntos de dados são suportados pelo Ultralytics para a deteção de objectos?
A Ultralytics suporta uma ampla variedade de conjuntos de dados para detecção de objetos, incluindo:
- COCO: Um conjunto de dados de deteção, segmentação e legendagem de objectos em grande escala com 80 categorias de objectos.
- LVIS: Um conjunto de dados extenso com 1203 categorias de objectos, concebido para uma deteção e segmentação de objectos mais refinada.
- Argoverse: Um conjunto de dados que contém dados de rastreio 3D e de previsão de movimento de ambientes urbanos com anotações ricas.
- VisDrone: Um conjunto de dados com deteção de objectos e dados de seguimento de múltiplos objectos a partir de imagens captadas por drones.
- SKU-110K: Com deteção de objectos densos em ambientes de retalho 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 é que contribuo com um novo conjunto de dados para Ultralytics?
A contribuição para um novo conjunto de dados envolve várias etapas:
- Recolher imagens: Recolha imagens de bases de dados públicas ou de colecções pessoais.
- Anotar imagens: Aplicar caixas delimitadoras, segmentos ou pontos-chave, consoante a tarefa.
- Exportar Anotações: Converter anotações no YOLO
*.txt
formato. - Organizar conjunto de dados: Utilizar a estrutura de pastas com
train/
eval/
diretórios, cada um contendoimages/
elabels/
subdirectórios. - Criar um
data.yaml
Ficheiro: Incluir descrições de conjuntos de dados, classes e outras informações relevantes. - Otimizar imagens (opcional): Reduzir o tamanho do conjunto de dados para maior eficiência.
- Compactar conjunto de dados: Comprimir o conjunto de dados num ficheiro zip.
- Documento e PR: Descreva o seu conjunto de dados e submeta um Pull Request seguindo as Diretrizes de Contribuição deUltralytics .
Visite Contribuir com novos conjuntos de dados para obter 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 as caraterísticas únicas dos modelos Ultralytics YOLO 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 resoluçã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 utilizando as ferramentas Ultralytics ?
Para otimizar e compactar um conjunto de dados utilizando as ferramentas Ultralytics , siga este código de exemplo:
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.