Salta para o conteúdo

Roboflow 100 Conjunto de dados

Roboflow 100, desenvolvido por Roboflow e patrocinado por 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

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=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. Aqui estão alguns exemplos de imagens anotadas no benchmark 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.

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, desenvolvido por Roboflow e patrocinado por Intel, é uma referência crucial para a deteção de objectos. Apresenta 100 conjuntos de dados diversos de mais de 90.000 conjuntos de dados públicos, abrangendo domínios como os cuidados de saúde, imagens aéreas e jogos de vídeo. Esta diversidade garante que os modelos podem adaptar-se a vários cenários do mundo real, melhorando a sua robustez e desempenho.

Como posso utilizar o conjunto de dados Roboflow 100 para avaliar os meus modelos de deteção de objectos?

Para utilizar o conjunto de dados Roboflow 100 para avaliação comparativa, podes implementar a classe RF100Benchmark da biblioteca Ultralytics . Segue um breve exemplo:

Exemplo de avaliação comparativa

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=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 'runs' directory
        runs_dir = Path.cwd() / "runs"
        shutil.rmtree(runs_dir)
    else:
        print("YAML file path does not exist")
        continue

print("RF100 Benchmarking completed!")

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

O conjunto de dados Roboflow 100 abrange sete domínios, cada um com desafios e aplicações únicas para modelos de deteção de objectos:

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

Esta configuração permite testar extensivamente e de forma variada os modelos em diferentes aplicações do mundo real.

Como posso aceder e descarregar o conjunto de dados Roboflow 100?

O conjunto de dados Roboflow 100 está acessível no GitHub e no Roboflow Universe. Podes descarregar todo o conjunto de dados do GitHub ou selecionar conjuntos de dados individuais no Roboflow Universe utilizando o botão de exportação.

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

Quando utilizares o conjunto de dados Roboflow 100 na tua investigação, certifica-te de que o citas adequadamente. Segue a citação recomendada:

Cita

@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},
}

Para mais informações, consulta a nossa vasta coleção de conjuntos de dados.



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

Comentários