Skip to main content

Jeu de données Roboflow 100

Roboflow 100, sponsorisé par Intel, est un jeu de données de référence révolutionnaire.object detection Il inclut 100 jeux de données variés. Ce benchmark est spécifiquement conçu pour tester l'adaptabilité des modèles computer vision, comme modèles Ultralytics YOLO, à divers domaines, incluant la santé, l'imagerie aérienne et les jeux vidéo.

Licensing

Ultralytics propose deux options de licence pour s'adapter à différents cas d'utilisation :

  • Licence AGPL-3.0: Cette licence open-source OSI-approved est idéale pour les étudiants et les passionnés, favorisant la collaboration ouverte et le partage des connaissances. Voir le fichier LICENSE fichier pour plus de détails et visite notre page de licence AGPL-3.0.
  • Licence Entreprise : Conçue pour une utilisation commerciale, cette licence permet l'intégration transparente des logiciels et des modèles d'IA Ultralytics dans des produits et services commerciaux. Si ton scénario implique des applications commerciales, contacte-nous viaUltralytics Licensing.

Roboflow 100 diverse object detection benchmark

Fonctionnalités clés

  • Domaines variés : Inclut 100 jeux de données à travers sept domaines distincts : Aérien, Jeux vidéo, Microscopique, Sous-marin, Documents, Électromagnétique et Monde réel.
  • Échelle : Le benchmark comprend 224 714 images à travers 805 classes, représentant plus de 11 170 heures d'effort de labellisation de données.
  • Standardisation : Toutes les images sont prétraitées et redimensionnées à 640x640 pixels pour une évaluation cohérente.
  • Évaluation propre : Se concentre sur l'élimination de l'ambiguïté des classes et filtre les classes sous-représentées pour garantir une évaluation de modèle.
  • plus propre.Annotations : Inclut bounding boxes pour les objets, adapté à entraînement et à l'évaluation des modèles de détection d'objets en utilisant des métriques comme mAP.

Structure du jeu de données

Le jeu de données Roboflow 100 est organisé en sept catégories, chacune contenant une collection unique de jeux de données, d'images et de classes :

  • Aérien : 7 jeux de données, 9 683 images, 24 classes.
  • Jeux vidéo : 7 jeux de données, 11 579 images, 88 classes.
  • Microscopique : 11 jeux de données, 13 378 images, 28 classes.
  • Sous-marin : 5 jeux de données, 18 003 images, 39 classes.
  • Documents : 8 jeux de données, 24 813 images, 90 classes.
  • Électromagnétique : 12 jeux de données, 36 381 images, 41 classes.
  • Monde réel : 50 jeux de données, 110 615 images, 495 classes.

Cette structure fournit un terrain de test vaste et varié pour les modèles object detection, reflétant un large éventail de scénarios d'application réels trouvés dans divers Solutions Ultralytics.

Benchmarking

L'évaluation d'un benchmarking jeu de données implique d'évaluer les performances des modèles machine learning sur des jeux de données spécifiques en utilisant des métriques standardisées. Les métriques courantes incluent la précision, la précision moyenne moyenne (mAP), et le F1-score. Tu peux en apprendre davantage dans notre guide des métriques de performance YOLO.

Résultats du benchmarking

Les résultats du benchmarking utilisant le script fourni seront stockés dans le répertoire ultralytics-benchmarks/, spécifiquement dans evaluation.txt.

Exemple de benchmarking

Le script suivant démontre comment benchmarker par programmation un modèle Ultralytics YOLO (par exemple, YOLO26n) sur les 100 jeux de données du benchmark Roboflow 100 en utilisant la classe RF100Benchmark.

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=yolo26s.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 à computer vision et en deep learning. Les chercheurs et ingénieurs peuvent tirer parti de ce benchmark pour :

comme . Pour plus d'idées et d'inspiration sur les applications réelles, explore nos guides sur les projets pratiques ou consulte le Ultralytics Platform pour une l'entraînement du modèle et en déploiement.

Utilisation

. Le jeu de données Roboflow 100, incluant les métadonnées et les liens de téléchargement, est disponible sur le dépôt GitHub Roboflow 100 officiel. Tu peux accéder et utiliser le jeu de données directement à partir de là pour tes besoins de benchmarking. L'utilitaire Ultralytics RF100Benchmark simplifie le processus de téléchargement et de préparation de ces jeux de données pour une utilisation avec les modèles Ultralytics.

Exemples de données et annotations

Roboflow 100 se compose de jeux de données avec des images diverses capturées sous différents angles et domaines. Tu trouveras ci-dessous des exemples d'images annotées incluses dans le benchmark RF100, illustrant la variété des objets et des scènes. Des techniques comme data augmentation peuvent améliorer davantage la diversité pendant l'entraînement.

Roboflow 100 sample images with annotations

La diversité observée dans le benchmark Roboflow 100 représente une avancée significative par rapport aux benchmarks traditionnels, qui se concentrent souvent sur l'optimisation d'une seule métrique au sein d'un domaine limité. Cette approche complète aide à développer des modèles plus robustes et polyvalents computer vision capables de bien performer dans une multitude de scénarios différents.

Citations et remerciements

Si tu utilises le jeu de données Roboflow 100 dans tes travaux de recherche ou de développement, merci de citer l'article original :

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

Nous exprimons notre gratitude à l'équipe Roboflow et à tous les contributeurs pour leurs efforts significatifs dans la création et la maintenance du jeu de données Roboflow 100 en tant que ressource précieuse pour la communauté de la vision par ordinateur.

Si tu souhaites explorer d'autres jeux 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 de jeux de données, qui inclut une variété d'autres jeux de données de détection.

FAQ

. Qu'est-ce que le jeu de données Roboflow 100, et pourquoi est-il important pour la détection d'objets ?

La méthode Roboflow 100Le jeu de données Roboflow 100 est un benchmark pour les modèles object detection. Il comprend 100 jeux de données variés couvrant des domaines comme la santé, l'imagerie aérienne et les jeux vidéo. Son importance réside dans la fourniture d'un moyen standardisé de tester l'adaptabilité et la robustesse des modèles à travers un large éventail de scénarios réels, allant au-delà des benchmarks traditionnels, souvent limités à un domaine.

Quels domaines sont couverts par le jeu de données Roboflow 100 ?

La méthode Roboflow 100Le jeu de données Roboflow 100 couvre sept domaines variés, offrant des défis uniques pour object detection :

  1. Aérien : 7 jeux de données (par exemple, imagerie satellite, vues par drone).
  2. Jeux vidéo : 7 jeux de données (par exemple, objets provenant de divers environnements de jeu).
  3. Microscopique: 11 jeux de données (ex. : cellules, particules).
  4. Sous-marin: 5 jeux de données (ex. : vie marine, objets submergés).
  5. Documents: 8 jeux de données (ex. : régions de texte, éléments de formulaires).
  6. Électromagnétique: 12 jeux de données (ex. : signatures radar, visualisations de données spectrales).
  7. Monde réel: 50 jeux de données (une large catégorie incluant des objets du quotidien, des scènes, de la vente au détail, etc.).

Cette variété fait de RF100 une excellente ressource pour évaluer la généralisation des modèles de vision par ordinateur.

Que dois-tu inclure lorsque tu cites le jeu de données Roboflow 100 dans tes recherches ?

Lorsque tu utilises le jeu de données Roboflow 100, merci de citer l'article original pour rendre hommage aux créateurs. Voici la citation BibTeX recommandée :

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

Pour aller plus loin, pense à visiter notre collection complète de jeux de données ou à parcourir d'autres jeux de données de détection compatibles avec les modèles Ultralytics.

Commentaires