Skip to content

Roboflow Ensemble de données 100

Roboflow 100, développé par Roboflow et sponsorisé par Intel, est un test de référence révolutionnaire pour la détection d'objets. Il comprend 100 ensembles de données divers échantillonnés à partir de plus de 90 000 ensembles de données publiques. Ce benchmark est conçu pour tester l'adaptabilité des modèles à différents domaines, notamment les soins de santé, l'imagerie aérienne et les jeux vidéo.

Roboflow 100 Vue d'ensemble

Caractéristiques principales

  • Comprend 100 ensembles de donnĂ©es dans sept domaines : AĂ©rien, Jeux vidĂ©o, Microscopique, Sous-marin, Documents, ÉlectromagnĂ©tique et Monde rĂ©el.
  • Le benchmark comprend 224 714 images rĂ©parties en 805 classes, grâce Ă  plus de 11 170 heures d'efforts d'Ă©tiquetage.
  • Toutes les images sont redimensionnĂ©es Ă  640x640 pixels, l'accent Ă©tant mis sur l'Ă©limination de l'ambiguĂŻtĂ© des classes et le filtrage des classes sous-reprĂ©sentĂ©es.
  • Les annotations comprennent des boĂ®tes de dĂ©limitation pour les objets, ce qui permet d'entraĂ®ner et d'Ă©valuer les modèles de dĂ©tection d'objets.

Structure de l'ensemble de données

L'ensemble de données Roboflow 100 est organisé en sept catégories, chacune comportant un ensemble distinct d'ensembles de données, d'images et de classes :

  • AĂ©rien: Il s'agit de 7 ensembles de donnĂ©es avec un total de 9 683 images, couvrant 24 classes distinctes.
  • Jeux vidĂ©o: Comprend 7 ensembles de donnĂ©es, comprenant 11 579 images rĂ©parties en 88 classes.
  • Microscopique: Comprend 11 ensembles de donnĂ©es avec 13 378 images, couvrant 28 classes.
  • Sous l'eau: Contient 5 ensembles de donnĂ©es, comprenant 18 003 images dans 39 classes.
  • Documents: Il s'agit de 8 ensembles de donnĂ©es comprenant 24 813 images, rĂ©parties en 90 classes.
  • ÉlectromagnĂ©tique: ComposĂ© de 12 ensembles de donnĂ©es, totalisant 36 381 images dans 41 classes.
  • Monde rĂ©el: La plus grande catĂ©gorie avec 50 ensembles de donnĂ©es, offrant 110 615 images dans 495 classes.

Cette structure permet de tester les modèles de détection d'objets sur un terrain varié et étendu, reflétant les scénarios d'application du monde réel.

Analyse comparative

L'étalonnage des ensembles de données évalue les performances des modèles d'apprentissage automatique sur des ensembles de données spécifiques à l'aide de mesures normalisées telles que l'exactitude, la précision moyenne et le score F1.

Analyse comparative

Les résultats de l'évaluation comparative seront stockés dans "ultralytics-benchmarks/evaluation.txt"

Exemple de benchmarking

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!")

Applications

Roboflow 100 est inestimable pour diverses applications liées à la vision par ordinateur et à l'apprentissage profond. Les chercheurs et les ingénieurs peuvent utiliser ce benchmark pour :

  • Évaluer les performances des modèles de dĂ©tection d'objets dans un contexte multi-domaine.
  • Tester l'adaptabilitĂ© des modèles Ă  des scĂ©narios rĂ©els allant au-delĂ  de la simple reconnaissance d'objets.
  • Étudier les capacitĂ©s des modèles de dĂ©tection d'objets dans divers ensembles de donnĂ©es, notamment dans les domaines de la santĂ©, de l'imagerie aĂ©rienne et des jeux vidĂ©o.

Pour plus d'idées et d'inspiration sur les applications concrètes, n'oubliez pas de consulter nos guides sur les projets concrets.

Utilisation

L'ensemble de données Roboflow 100 est disponible sur GitHub et Roboflow Universe.

Vous pouvez y accéder directement à partir du dépôt GitHub Roboflow 100. En outre, sur Roboflow Universe, vous avez la possibilité de télécharger des ensembles de données individuels en cliquant simplement sur le bouton d'exportation dans chaque ensemble de données.

Exemples de données et d'annotations

Roboflow 100 se compose d'ensembles de données contenant diverses images et vidéos capturées sous différents angles et dans différents domaines. Voici quelques exemples d'images annotées dans le benchmark RF100.

Exemples de données et d'annotations

La diversité du benchmark Roboflow 100 que l'on peut voir ci-dessus est une avancée significative par rapport aux benchmarks traditionnels qui se concentrent souvent sur l'optimisation d'une seule métrique dans un domaine limité.

Citations et remerciements

Si vous utilisez l'ensemble de données Roboflow 100 dans vos travaux de recherche ou de développement, veuillez citer l'article suivant :

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

Nous remercions l'équipe de Roboflow et tous les contributeurs pour leur travail acharné dans la création et le maintien de l'ensemble de données Roboflow 100.

Si vous souhaitez explorer d'autres ensembles de données pour améliorer vos projets de détection d'objets et d'apprentissage automatique, n'hésitez pas à consulter notre collection complète d'ensembles de données.

FAQ

Qu'est-ce que l'ensemble de données Roboflow 100 et pourquoi est-il important pour la détection d'objets ?

L'ensemble de données Roboflow 100, développé par Roboflow et sponsorisé par Intel, est une référence cruciale en matière de détection d'objets. Il comprend 100 ensembles de données divers parmi plus de 90 000 ensembles de données publiques, couvrant des domaines tels que les soins de santé, l'imagerie aérienne et les jeux vidéo. Cette diversité garantit que les modèles peuvent s'adapter à divers scénarios du monde réel, améliorant ainsi leur robustesse et leurs performances.

Comment puis-je utiliser l'ensemble de données Roboflow 100 pour évaluer mes modèles de détection d'objets ?

Pour utiliser l'ensemble de données Roboflow 100 à des fins d'analyse comparative, vous pouvez mettre en œuvre la classe RF100Benchmark de la bibliothèque Ultralytics . Voici un bref exemple :

Exemple de benchmarking

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=yolo11n.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!")

Quels sont les domaines couverts par l'ensemble de données Roboflow 100 ?

L'ensemble de données Roboflow 100 couvre sept domaines, chacun offrant des défis et des applications uniques pour les modèles de détection d'objets:

  1. Aérien: 7 ensembles de données, 9 683 images, 24 classes
  2. Jeux vidéo: 7 ensembles de données, 11 579 images, 88 classes
  3. Microscopique: 11 ensembles de données, 13 378 images, 28 classes
  4. Sous l'eau: 5 ensembles de données, 18 003 images, 39 classes
  5. Documents: 8 ensembles de données, 24 813 images, 90 classes
  6. Électromagnétique: 12 ensembles de données, 36 381 images, 41 classes
  7. Monde réel: 50 ensembles de données, 110 615 images, 495 classes

Cette configuration permet de tester les modèles de manière approfondie et variée dans le cadre de différentes applications du monde réel.

Comment puis-je accéder à l'ensemble de données Roboflow 100 et le télécharger ?

L'ensemble de données Roboflow 100 est accessible sur GitHub et Roboflow Universe. Vous pouvez télécharger l'ensemble du jeu de données sur GitHub ou sélectionner des jeux de données individuels sur Roboflow Universe à l'aide du bouton d'exportation.

Que dois-je inclure lorsque je cite l'ensemble de données Roboflow 100 dans ma recherche ?

Lorsque vous utilisez l'ensemble de données Roboflow 100 dans votre recherche, veillez à le citer correctement. Voici la citation recommandée :

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

Pour plus de détails, vous pouvez consulter notre collection complète d'ensembles de données.

📅C réé il y a 10 mois ✏️ Mis à jour il y a 2 mois

Commentaires