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.
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.
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:
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)