Link to this sectionConjunto de dados Roboflow 100#
O Roboflow 100, patrocinado pela Intel, é um conjunto de dados de referência revolucionário para detecção de objetos. Ele inclui 100 conjuntos de dados diversos. Esta referência foi projetada especificamente 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 videojogos.
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 mais detalhes e visite nossa página da licença AGPL-3.0.
- Licença Enterprise: Para uso em desenvolvimento e produção, esta licença permite a integração perfeita de software e modelos de IA da Ultralytics em produtos e serviços empresariais, incluindo ferramentas internas, fluxos de trabalho automatizados e implantações de produção, contornando os requisitos de código aberto da AGPL-3.0. Para começar, entre em contato conosco via Licenciamento Ultralytics.
Link to this sectionPrincipais recursos#
- Domínios Diversos: Inclui 100 conjuntos de dados em sete domínios distintos: Aéreo, Videojogos, Microscópico, Subaquático, Documentos, Eletromagnético e Mundo Real.
- Escala: A referência 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: Foca na eliminação da ambiguidade de classes e filtra classes sub-representadas para garantir uma avaliação de modelo mais limpa.
- Anotações: Inclui caixas delimitadoras para objetos, adequadas para treinar e avaliar modelos de detecção de objetos usando métricas como mAP.
Link to this sectionEstrutura do Dataset#
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.
- Videojogos: 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 uma base de teste diversa e extensa para modelos de detecção de objetos, refletindo uma ampla variedade de cenários de aplicação do mundo real encontrados em várias Soluções Ultralytics.
Link to this sectionBenchmarking#
O benchmarking de conjuntos de dados envolve avaliar o desempenho de modelos de aprendizado de máquina em conjuntos de dados específicos usando métricas padronizadas. Métricas comuns incluem precisão, média da Precisão Média (mAP) e F1-score. Podes aprender mais sobre estas no nosso guia de Métricas de Desempenho YOLO.
Cada saída é agrupada sob um único diretório runs/<task>/multitrain/: cada conjunto de dados é ajustado (fine-tuned) no seu próprio subdiretório (com o seu próprio results.png), e as métricas por conjunto de dados e as médias são escritas em multitrain_results.json juntamente com um gráfico de barras multitrain_results.png. A chamada model.train() também retorna um dicionário {dataset: metrics} para acesso programático.
O script abaixo baixa os conjuntos de dados Roboflow 100 listados em datasets_links.txt do Roboflow, então ajusta (fine-tunes) um modelo base único (por exemplo, YOLO26n) em toda a coleção em uma única chamada model.train(). Passar uma lista de conjuntos de dados ajusta o modelo base em cada um deles em série e visualiza automaticamente os resultados entre conjuntos de dados. É necessária uma chave de API do Roboflow gratuita para baixar os conjuntos de dados.
import re
from pathlib import Path
from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, YAML
from ultralytics.utils.checks import check_requirements
from ultralytics.utils.downloads import safe_download
# Download the RF100 datasets from Roboflow (requires a free Roboflow API key)
check_requirements("roboflow")
from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt") # list of RF100 dataset links
datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
try:
_, _url, workspace, project, version = re.split("/+", line.strip())
location = f"rf-100/{project}-{version}"
rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
yaml = Path(location) / "data.yaml"
cfg = YAML.load(yaml) # point train/val at the downloaded image folders
cfg["train"], cfg["val"] = "train/images", "valid/images"
YAML.save(yaml, cfg)
datasets.append(str(yaml))
except Exception:
continue
# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640) # {dataset: metrics}
# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
if metrics: # None if that dataset failed to train
print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")Link to this sectionAplicações#
O Roboflow 100 é inestimável para várias aplicações relacionadas à visão computacional e aprendizado profundo. Pesquisadores e engenheiros podem aproveitar esta referência para:
- Avaliar o desempenho de modelos de detecção de objetos em um contexto de múltiplos domínios.
- Testar a adaptabilidade e robustez de modelos a cenários do mundo real além de conjuntos de dados de referência comuns como COCO ou PASCAL VOC.
- Avaliar as capacidades de modelos de detecção de objetos em diversos conjuntos de dados, incluindo áreas especializadas como saúde, imagens aéreas e videojogos.
- Comparar o desempenho do modelo entre diferentes arquiteturas de redes neurais e técnicas de otimização.
- Identificar desafios específicos de domínio que podem exigir dicas de treinamento de modelo especializadas ou abordagens de ajuste fino como transfer learning.
Para mais ideias e inspiração sobre aplicações do mundo real, explora nossos guias sobre projetos práticos ou confira a Plataforma Ultralytics para treinamento de modelo e implantação simplificados.
Link to this sectionUso#
O conjunto de dados Roboflow 100, incluindo metadados e links de download, está disponível no repositório oficial do GitHub do Roboflow 100. Podes acessar e utilizar o conjunto de dados diretamente de lá para as tuas necessidades de benchmarking. Uma vez que os conjuntos de dados sejam baixados e preparados como mostrado acima, os modelos Ultralytics podem ser ajustados em toda a coleção em uma única chamada model.train() passando a lista de YAMLs de conjuntos de dados.
Link to this sectionDados de Amostra e Anotações#
O 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 na referência RF100, mostrando a variedade de objetos e cenas. Técnicas como aumento de dados podem aumentar ainda mais a diversidade durante o treinamento.
A diversidade vista na referência Roboflow 100 representa um avanço significativo em relação às referências tradicionais, que muitas vezes focam na otimização de uma única métrica dentro de um domínio limitado. Esta abordagem abrangente ajuda no desenvolvimento de modelos de visão computacional mais robustos e versáteis capazes de ter um bom desempenho em uma multidão de cenários diferentes.
Link to this sectionCitações e Agradecimentos#
Se usares o conjunto de dados Roboflow 100 no teu trabalho de pesquisa ou desenvolvimento, por favor 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 colaboradores 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 tens interesse em explorar mais conjuntos de dados para aprimorar os teus projetos de detecção de objetos e aprendizado de máquina, sinta-te à vontade para visitar nossa coleção abrangente de conjuntos de dados, que inclui uma variedade de outros conjuntos de dados de detecção.
Link to this sectionFAQ#
Link to this sectionO que é o conjunto de dados Roboflow 100 e por que ele é significativo para a detecção de objetos?#
O conjunto de dados Roboflow 100 é uma referência para modelos de detecção de objetos. Ele compreende 100 conjuntos de dados diversos que cobrem domínios como saúde, imagens aéreas e videojogos. O seu significado 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 de referências tradicionais, muitas vezes limitadas ao domínio.
Link to this sectionQuais 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:
- Aéreo: 7 conjuntos de dados (por exemplo, imagens de satélite, vistas de drones).
- Videojogos: 7 conjuntos de dados (por exemplo, objetos de vários ambientes de jogos).
- Microscópico: 11 conjuntos de dados (por exemplo, células, partículas).
- Subaquático: 5 conjuntos de dados (por exemplo, vida marinha, objetos submersos).
- Documentos: 8 conjuntos de dados (por exemplo, regiões de texto, elementos de formulários).
- Eletromagnético: 12 conjuntos de dados (por exemplo, assinaturas de radar, visualizações de dados espectrais).
- Mundo Real: 50 conjuntos de dados (uma categoria ampla que inclui objetos do dia a dia, cenas, varejo, etc.).
Esta variedade torna o RF100 um excelente recurso para avaliar a generalização de modelos de visão computacional.
Link to this sectionO que devo incluir ao citar o conjunto de dados Roboflow 100 na 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 exploração adicional, considera visitar nossa coleção abrangente de conjuntos de dados ou navegar por outros conjuntos de dados de detecção compatíveis com modelos Ultralytics.