Ir para o conteúdo

Conjunto de Dados Roboflow 100

Roboflow 100, patrocinado pela Intel, é um conjunto de dados de referência inovador para detecção de objetos. Inclui 100 conjuntos de dados diversos amostrados de mais de 90.000 conjuntos de dados públicos disponíveis no Roboflow Universe. Este benchmark foi especificamente projetado para testar a adaptabilidade de modelos de visão computacional, como os modelos Ultralytics YOLO, a vários domínios, incluindo saúde, imagens aéreas e videogames.

Licenciamento

A Ultralytics oferece duas opções de licenciamento para acomodar diferentes casos de uso:

  • Licença AGPL-3.0: Esta licença de código aberto aprovada pela OSI é ideal para estudantes e entusiastas, promovendo a colaboração aberta e o compartilhamento de conhecimento. Consulte o arquivo LICENSE para obter mais detalhes e visite nossa página de Licença AGPL-3.0.
  • Licença Empresarial: Projetada para uso comercial, esta licença permite a integração perfeita do software Ultralytics e modelos de IA em produtos e serviços comerciais. Se o seu cenário envolve aplicações comerciais, entre em contato através do Licenciamento Ultralytics.

Visão Geral do Roboflow 100

Principais Características

  • Domínios Diversos: Inclui 100 conjuntos de dados em sete domínios distintos: Aéreo, Videogames, Microscópico, Subaquático, Documentos, Eletromagnético e Mundo Real.
  • Escala: O benchmark compreende 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 pixels para uma avaliação consistente.
  • Avaliação Limpa: Concentra-se na eliminação da ambiguidade de classe e filtra as classes sub-representadas para garantir uma avaliação do modelo mais limpa.
  • Anotações: Inclui bounding boxes para objetos, adequadas para treinamento e avaliação de modelos de detecção de objetos usando métricas como mAP.

Estrutura do Conjunto de Dados

O conjunto de dados Roboflow 100 é 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.
  • Video Games: 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 fornece um campo de testes diversificado e extenso para modelos de detecção de objetos, refletindo uma ampla gama de cenários de aplicação do mundo real encontrados em várias Soluções Ultralytics.

Benchmarking

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 padronizadas. As métricas comuns incluem a precisão, a precisão média (mAP) e a pontuação F1. Pode saber mais sobre estas no nosso guia de Métricas de Desempenho YOLO.

Resultados de Benchmarking

Os resultados do benchmarking usando o script fornecido serão armazenados em ultralytics-benchmarks/ diretório, especificamente em evaluation.txt.

Exemplo de Benchmarking

O script a seguir demonstra como avaliar programaticamente um modelo Ultralytics YOLO (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 à visão computacional e aprendizado profundo. Pesquisadores e engenheiros podem aproveitar este benchmark para:

Para mais ideias e inspiração sobre aplicações no mundo real, explore nossos guias sobre projetos práticos ou confira o Ultralytics HUB para treinamento de modelos e implantação otimizados.

Utilização

O conjunto de dados Roboflow 100, incluindo metadados e links para download, está disponível no site oficial Repositório Roboflow 100 no GitHub. Você pode acessar e utilizar o conjunto de dados diretamente de lá para suas necessidades de benchmarking. O Ultralytics RF100Benchmark simplifica o processo de download e preparação desses conjuntos de dados para uso com 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, mostrando a variedade de objetos e cenas. Técnicas como aumento de dados podem aprimorar ainda mais a diversidade durante o treinamento.

Dados de Amostra e Anotações

A diversidade vista no benchmark Roboflow 100 representa um avanço significativo em relação aos benchmarks tradicionais, que frequentemente se concentram em otimizar uma única métrica dentro de um domínio limitado. Essa abordagem abrangente auxilia no desenvolvimento de modelos de visão computacional mais robustos e versáteis, capazes de apresentar bom desempenho em uma variedade de cenários diferentes.

Citações e Agradecimentos

Se você usar o conjunto de dados Roboflow 100 em seu trabalho de pesquisa 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 nossa gratidão à equipe Roboflow e a todos os contribuidores por 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 você estiver interessado em explorar mais conjuntos de dados para aprimorar seus projetos de detecção de objetos e aprendizado de máquina, sinta-se à vontade para visitar nossa coleção abrangente de conjuntos de dados, que inclui uma variedade de outros conjuntos de dados de detecção.

FAQ

O que é o conjunto de dados Roboflow 100 e por que ele é significativo para a detecção de objetos?

O conjunto de dados Roboflow 100 é um benchmark para modelos de detecção de objetos. Ele compreende 100 conjuntos de dados diversos provenientes do Roboflow Universe, abrangendo domínios como saúde, imagens aéreas e videogames. Sua importância reside em fornecer uma maneira padronizada de testar a adaptabilidade e robustez do modelo em uma ampla gama de cenários do mundo real, indo além dos benchmarks tradicionais, muitas vezes limitados a domínios específicos.

Quais domínios são cobertos pelo conjunto de dados Roboflow 100?

O conjunto de dados Roboflow 100 abrange sete domínios diversos, oferecendo desafios únicos para modelos de detecção de objetos:

  1. Aéreo: 7 conjuntos de dados (por exemplo, imagens de satélite, vistas de drones).
  2. Video Games: 7 conjuntos de dados (por exemplo, objetos 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, objetos submersos).
  5. Documentos: 8 conjuntos de dados (por exemplo, regiões de texto, elementos de formulário).
  6. Eletromagnético: 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 objetos cotidianos, cenas, varejo, etc.).

Essa variedade torna o RF100 um excelente recurso para avaliar a generalização de modelos de visão computacional.

O que devo incluir ao citar o conjunto de dados Roboflow 100 em minha pesquisa?

Ao usar o conjunto de dados Roboflow 100, por favor, 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 procurar outros conjuntos de dados de deteção compatíveis com os modelos Ultralytics.



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

Comentários