Skip to content

Roboflow Ensemble de 100 données

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

Roboflow 100 Aperçu

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, en veillant Ă  Ă©liminer l'ambiguĂŻtĂ© des classes et Ă  filtrer les 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: Consiste en 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 dans 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, englobant 18 003 images dans 39 classes.
  • Documents: Comprend 8 ensembles de donnĂ©es avec 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 Ă  travers 495 classes.

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

Benchmarking

L'analyse comparative 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.

Benchmarking

Les résultats de l'analyse 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=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!")

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.
  • Teste l'adaptabilitĂ© des modèles aux scĂ©narios du monde rĂ©el au-delĂ  de la reconnaissance d'objets courants.
  • Étudie les capacitĂ©s des modèles de dĂ©tection d'objets dans divers ensembles de donnĂ©es, notamment dans le domaine de la santĂ©, de l'imagerie aĂ©rienne et des jeux vidĂ©o.

Pour plus d'idées et d'inspiration sur les applications réelles, ne manque pas de consulter nos guides sur les projets concrets.

Utilisation

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

Tu peux y accéder directement à partir du dépôt GitHub Roboflow 100. De plus, sur Roboflow Universe, tu as la possibilité de télécharger des ensembles de données individuels en cliquant simplement sur le bouton d'exportation à l'intérieur de chaque ensemble de données.

Exemples de données et d'annotations

Roboflow 100 se compose d’ensembles de données avec diverses images et vidéos capturées sous différents angles et domaines. Voici un aperçu d’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 tu utilises l'ensemble de données Roboflow 100 dans tes travaux de recherche ou de développement, cite 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 tu souhaites explorer d'autres ensembles de données pour améliorer tes projets de détection d'objets et d'apprentissage automatique, n'hésite pas à visiter 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 comparer mes modèles de détection d'objets ?

Pour utiliser l'ensemble de données Roboflow 100 à des fins d'analyse comparative, tu peux 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=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!")

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 différentes applications du monde réel.

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

Le jeu de données Roboflow 100 est accessible sur GitHub et Roboflow Universe. Tu peux 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 tu utilises l'ensemble de données Roboflow 100 dans ta recherche, assure-toi de le citer correctement. Voici la citation recommandée :

Citation

@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, tu peux te référer à notre collection complète de jeux de données.



Créé le 2024-02-07, Mis à jour le 2024-07-04
Auteurs : glenn-jocher (5), RizwanMunawar (2), abirami-vina (1)

Commentaires