Saltar para o conteúdo

Roboflow 100 Conjunto de dados

Roboflow 100, patrocinado por Intelé um conjunto de dados de referência inovador para a deteção de objectos. Inclui 100 conjuntos de dados diversos, selecionados a partir de mais de 90.000 conjuntos de dados públicos disponíveis no Roboflow Universe. Esta referência foi especificamente concebida para testar a adaptabilidade dos modelos de visão por computador, como os modelosUltralytics YOLO , a vários domínios, incluindo cuidados de saúde, imagens aéreas e jogos de vídeo.

Licenciamento

Ultralytics oferece duas opções de licenciamento para acomodar diferentes casos de utilização:

  • LicençaAGPL-3.0 : Esta licença de código aberto aprovada pela OSI é ideal para estudantes e entusiastas, promovendo a colaboração aberta e a partilha de conhecimentos. Veja o ficheiro LICENSE para mais detalhes e visite a nossa página de LicençaAGPL-3.0 .
  • Licença Empresarial: Projetada para uso comercial, esta licença permite a integração perfeita do software Ultralytics e dos modelos de IA em produtos e serviços comerciais. Se o seu cenário envolver aplicações comerciais, entre em contacto com a Ultralytics Licensing.

Roboflow 100 Resumo

Caraterísticas principais

  • Domínios diversificados: Inclui 100 conjuntos de dados em sete domínios distintos: Aéreo, Jogos de vídeo, Microscópico, Subaquático, Documentos, Eletromagnético e Mundo real.
  • Escala: A referência inclui 224.714 imagens em 805 classes, representando mais de 11.170 horas de esforço de rotulagem de dados.
  • Padronização: Todas as imagens são pré-processadas e redimensionadas para 640x640 pixéis para uma avaliação consistente.
  • Avaliação limpa: Concentra-se na eliminação da ambiguidade da classe e filtra as classes sub-representadas para garantir uma avaliação mais limpa do modelo.
  • Anotações: Inclui caixas delimitadoras para objectos, adequadas para treinar e avaliar modelos de deteção de objectos utilizando métricas como o mAP.

Estrutura do conjunto de dados

O conjunto de dados Roboflow 100 está organizado em sete categorias, cada uma contendo uma coleção única de conjuntos de dados, imagens e classes:

  • Aéreo: 7 conjuntos de dados, 9.683 imagens, 24 classes.
  • Jogos de vídeo: 7 conjuntos de dados, 11.579 imagens, 88 classes.
  • Microscópico: 11 conjuntos de dados, 13.378 imagens, 28 classes.
  • Subaquático: 5 conjuntos de dados, 18.003 imagens, 39 classes.
  • Documentos: 8 conjuntos de dados, 24.813 imagens, 90 classes.
  • Eletromagnético: 12 conjuntos de dados, 36.381 imagens, 41 classes.
  • Mundo real: 50 conjuntos de dados, 110.615 imagens, 495 classes.

Esta estrutura proporciona um campo de testes diversificado e extenso para os modelos de deteção de objectos, reflectindo uma vasta gama de cenários de aplicação do mundo real encontrados em várias soluçõesUltralytics .

Avaliação comparativa

O benchmarking de conjuntos de dados envolve a avaliação do desempenho de modelos de aprendizagem automática em conjuntos de dados específicos utilizando métricas normalizadas. As métricas comuns incluem exatidão, precisão média média (mAP) e pontuação F1. Pode saber mais sobre estas métricas no nosso guiaYOLO Performance Metrics.

Resultados da avaliação comparativa

Os resultados da avaliação comparativa utilizando o script fornecido serão armazenados no ficheiro ultralytics-benchmarks/ especificamente no diretório evaluation.txt.

Exemplo de avaliação comparativa

O script a seguir demonstra como comparar programaticamente um modeloYOLO do Ultralytics (por exemplo, YOLOv11n) em todos os 100 conjuntos de dados dentro do benchmark Roboflow 100 usando o RF100Benchmark classe.

import os
import shutil
from pathlib import Path

from ultralytics.utils.benchmarks import RF100Benchmark

# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")

# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"

# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
    path = Path(path)
    if path.exists():
        # Fix YAML file and run training
        benchmark.fix_yaml(str(path))
        os.system(f"yolo detect train data={path} model=yolo11s.pt epochs=1 batch=16")

        # Run validation and evaluate
        os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
        benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)

        # Remove the 'runs' directory
        runs_dir = Path.cwd() / "runs"
        shutil.rmtree(runs_dir)
    else:
        print("YAML file path does not exist")
        continue

print("RF100 Benchmarking completed!")

Aplicações

Roboflow 100 é inestimável para várias aplicações relacionadas com a visão computacional e a aprendizagem profunda. Os investigadores e engenheiros podem tirar partido desta referência para:

Para obter mais ideias e inspiração sobre aplicações reais, explore os nossos guias sobre projectos práticos ou consulte o Ultralytics HUB para uma formação e implementação simplificadas de modelos.

Utilização

O conjunto de dados Roboflow 100, incluindo metadados e ligações para descarregamento, está disponível na página oficial Repositório Roboflow 100 no GitHub. Pode aceder e utilizar o conjunto de dados diretamente a partir daí para as suas necessidades de avaliação comparativa. O Ultralytics RF100Benchmark simplifica o processo de descarregamento e preparação destes conjuntos de dados para utilização com os modelos Ultralytics .

Dados de amostra e anotações

Roboflow 100 consiste em conjuntos de dados com diversas imagens capturadas de vários ângulos e domínios. Abaixo estão exemplos de imagens anotadas incluídas no benchmark RF100, que mostram a variedade de objectos e cenas. Técnicas como o aumento de dados podem aumentar ainda mais a diversidade durante a formação.

Dados de amostra e anotações

A diversidade observada no benchmark Roboflow 100 representa um avanço significativo em relação aos benchmarks tradicionais, que frequentemente se concentram na otimização de uma única métrica num domínio limitado. Esta abordagem abrangente ajuda a desenvolver modelos de visão computacional mais robustos e versáteis, capazes de ter um bom desempenho numa multiplicidade de cenários diferentes.

Citações e agradecimentos

Se utilizar o conjunto de dados do Roboflow 100 no seu trabalho de investigação ou desenvolvimento, cite o artigo original:

@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

Estendemos a nossa gratidão à equipa Roboflow e a todos os colaboradores pelos seus esforços significativos na criação e manutenção do conjunto de dados Roboflow 100 como um recurso valioso para a comunidade de visão computacional.

Se estiver interessado em explorar mais conjuntos de dados para melhorar os seus projectos de deteção de objectos e de aprendizagem automática, não hesite em visitar a nossa vasta coleção de conjuntos de dados, que inclui uma variedade de outros conjuntos de dados de deteção.

FAQ

O que é o conjunto de dados Roboflow 100 e por que razão é importante para a deteção de objectos?

O conjunto de dados Roboflow 100 é uma referência para modelos de deteção de objectos. Inclui 100 conjuntos de dados diversos provenientes do Universo Roboflow , abrangendo domínios como os cuidados de saúde, imagens aéreas e jogos de vídeo. A sua importância reside no facto de fornecer uma forma padronizada de testar a adaptabilidade e a robustez dos modelos numa vasta gama de cenários do mundo real, indo além dos benchmarks tradicionais, muitas vezes limitados por domínio.

Que domínios são abrangidos pelo conjunto de dados Roboflow 100?

O conjunto de dados Roboflow 100 abrange sete domínios diferentes, oferecendo desafios únicos para os modelos de deteção de objectos:

  1. Aéreo: 7 conjuntos de dados (por exemplo, imagens de satélite, vistas de drones).
  2. Jogos de vídeo: 7 conjuntos de dados (por exemplo, objectos de vários ambientes de jogos).
  3. Microscópico: 11 conjuntos de dados (por exemplo, células, partículas).
  4. Subaquático: 5 conjuntos de dados (por exemplo, vida marinha, objectos submersos).
  5. Documentos: 8 conjuntos de dados (por exemplo, regiões de texto, elementos de formulários).
  6. Electromagnéticos: 12 conjuntos de dados (por exemplo, assinaturas de radar, visualizações de dados espectrais).
  7. Mundo real: 50 conjuntos de dados (uma categoria ampla que inclui objectos do quotidiano, cenas, comércio, etc.).

Esta variedade faz do RF100 um excelente recurso para avaliar a generalização dos modelos de visão por computador.

O que devo incluir quando cito o conjunto de dados Roboflow 100 na minha investigação?

Quando utilizar o conjunto de dados Roboflow 100, cite o artigo original para dar crédito aos criadores. Aqui está a citação BibTeX recomendada:

@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

Para uma exploração mais aprofundada, considere visitar a nossa coleção abrangente de conjuntos de dados ou navegar por outros conjuntos de dados de deteção compatíveis com os modelos Ultralytics .

📅C riado há 1 ano ✏️ Atualizado há 14 dias

Comentários