Salta para o conteúdo

Roboflow 100 Conjunto de dados

Roboflow 100, desenvolvido pela Roboflow e patrocinado pela Intel, é uma referência inovadora para a deteção de objectos. Inclui 100 conjuntos de dados diversificados, recolhidos de mais de 90.000 conjuntos de dados públicos. Esta referência foi concebida para testar a adaptabilidade dos modelos a vários domínios, incluindo cuidados de saúde, imagens aéreas e jogos de vídeo.

Roboflow 100 Visão geral

Características principais

  • Inclui 100 conjuntos de dados em sete domínios: Aéreo, Jogos de vídeo, Microscópico, Subaquático, Documentos, Eletromagnético e Mundo real.
  • O benchmark inclui 224.714 imagens em 805 classes, graças a mais de 11.170 horas de esforços de etiquetagem.
  • Todas as imagens são redimensionadas para 640x640 pixéis, com o objetivo de eliminar a ambiguidade das classes e filtrar as classes sub-representadas.
  • As anotações incluem caixas delimitadoras de objectos, o que as torna adequadas para treinar e avaliar modelos de deteção de objectos.

Estrutura do conjunto de dados

O conjunto de dados Roboflow 100 está organizado em sete categorias, cada uma com um conjunto distinto de conjuntos de dados, imagens e classes:

  • Aéreo: Consiste em 7 conjuntos de dados com um total de 9.683 imagens, cobrindo 24 classes distintas.
  • Jogos de vídeo: Inclui 7 conjuntos de dados, com 11.579 imagens em 88 classes.
  • Microscópico: Inclui 11 conjuntos de dados com 13.378 imagens, abrangendo 28 classes.
  • Subaquático: Contém 5 conjuntos de dados, abrangendo 18.003 imagens em 39 classes.
  • Documentos: Consiste em 8 conjuntos de dados com 24.813 imagens, divididos em 90 classes.
  • Eletromagnético: Composto por 12 conjuntos de dados, totalizando 36.381 imagens em 41 classes.
  • Mundo real: A maior categoria com 50 conjuntos de dados, oferecendo 110.615 imagens em 495 classes.

Esta estrutura permite um campo de testes diversificado e extenso para modelos de deteção de objectos, reflectindo cenários de aplicação do mundo real.

Avaliação comparativa

O benchmarking de conjuntos de dados avalia o desempenho do modelo de aprendizagem automática em conjuntos de dados específicos utilizando métricas normalizadas como a exatidão, a precisão média e a pontuação F1.

Avaliação comparativa

Os resultados da avaliação comparativa serão armazenados em "ultralytics-benchmarks/evaluation.txt"

Exemplo de avaliação comparativa

from pathlib import Path
import shutil
import os
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=yolov8s.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 utilizar este parâmetro de referência para:

  • Avalia o desempenho dos modelos de deteção de objectos num contexto multi-domínio.
  • Testa a adaptabilidade dos modelos a cenários do mundo real para além do reconhecimento de objectos comuns.
  • Avalia as capacidades dos modelos de deteção de objectos em diversos conjuntos de dados, incluindo os de cuidados de saúde, imagens aéreas e jogos de vídeo.

Para mais ideias e inspiração sobre aplicações do mundo real, consulta os nossos guias sobre projectos do mundo real.

Utilização

O conjunto de dados Roboflow 100 está disponível no GitHub e no Roboflow Universe.

Podes aceder-lhe diretamente a partir do repositório Roboflow 100 GitHub. Além disso, em Roboflow Universe, tens a flexibilidade de descarregar conjuntos de dados individuais, bastando clicar no botão de exportação dentro de cada conjunto de dados.

Dados de amostra e anotações

Roboflow 100 consiste em conjuntos de dados com diversas imagens e vídeos capturados de vários ângulos e domínios. Vê aqui exemplos de imagens anotadas no teste de referência RF100.

Dados de amostra e anotações

A diversidade no benchmark Roboflow 100 que pode ser vista acima é um avanço significativo em relação aos benchmarks tradicionais que frequentemente se concentram na otimização de uma única métrica dentro de um domínio limitado.

Citações e agradecimentos

Se utilizares o conjunto de dados Roboflow 100 no teu trabalho de investigação ou desenvolvimento, cita o seguinte documento:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

Os nossos agradecimentos à equipa Roboflow e a todos os colaboradores pelo seu trabalho árduo na criação e manutenção do conjunto de dados Roboflow 100.

Se estiveres interessado em explorar mais conjuntos de dados para melhorar os teus projectos de deteção de objectos e de aprendizagem automática, não hesites em visitar a nossa vasta coleção de conjuntos de dados.



Criado em 2024-02-07, Atualizado em 2024-04-29
Autores: RizwanMunawar (2), glenn-jocher (1), abirami-vina (1)

Comentários