Jeu de données Roboflow 100

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

Licences

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

  • Licence AGPL-3.0 : Cette licence open-source approuvée par l'OSI est idéale pour les étudiants et les passionnés, favorisant la collaboration ouverte et le partage des connaissances. Consulte le fichier LICENSE pour plus de détails et visite notre page de licence AGPL-3.0.
  • Licence Entreprise : Conçue pour un usage commercial, 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 via Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Fonctionnalités clés

  • Domaines divers : Inclut 100 jeux de données répartis dans 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 réparties sur 805 classes, représentant plus de 11 170 heures d'effort d'étiquetage 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 assurer une évaluation de modèle plus propre.
  • Annotations : Inclut des boîtes englobantes pour les objets, adaptées à l'entraînement et à l'évaluation de modèles de détection d'objets en utilisant des métriques comme le 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 diversifié et étendu pour les modèles de détection d'objets, reflétant un large éventail de scénarios d'applications réelles trouvés dans diverses solutions Ultralytics.

Benchmarking

Le benchmarking de jeux de données consiste à évaluer les performances de modèles de 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 (mAP) et le score F1. Tu peux en apprendre plus à ce sujet dans notre guide des métriques de performance YOLO.

Résultats du benchmarking

Les résultats du benchmarking obtenus à l'aide du 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 effectuer par programmation le benchmark d'un modèle Ultralytics YOLO (par exemple, YOLO26n) sur l'ensemble des 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 à la vision par ordinateur et au deep learning. Les chercheurs et ingénieurs peuvent tirer parti de ce benchmark pour :

  • Évaluer les performances des modèles de détection d'objets dans un contexte multi-domaine.
  • Tester l'adaptabilité et la robustesse des modèles à des scénarios réels au-delà des jeux de données de référence courants comme COCO ou PASCAL VOC.
  • Benchmarker les capacités des modèles de détection d'objets sur divers jeux de données, incluant des domaines spécialisés comme la santé, l'imagerie aérienne et les jeux vidéo.
  • Comparer les performances des modèles entre différentes architectures de réseaux de neurones et techniques d'optimisation.
  • Identifier les défis spécifiques à un domaine qui peuvent nécessiter des conseils d'entraînement de modèle spécialisés ou des approches de fine-tuning comme le transfer learning.

Pour plus d'idées et d'inspiration sur les applications réelles, explore nos guides sur les projets pratiques ou consulte la plateforme Ultralytics pour un entraînement de modèle et un déploiement simplifiés.

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 officiel Roboflow 100. Tu peux accéder au jeu de données et l'utiliser 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 d'annotations

Roboflow 100 se compose de jeux de données avec diverses images 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 l'augmentation de données peuvent encore améliorer la diversité durant 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 globale aide à développer des modèles de vision par ordinateur plus robustes et polyvalents, capables de bien fonctionner 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 plus de jeux de données pour améliorer tes projets de détection d'objets et de machine learning, 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 significatif pour la détection d'objets ?

Le jeu de données Roboflow 100 est un benchmark pour les modèles de détection d'objets. Il comprend 100 jeux de données divers 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 sur 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 ?

Le jeu de données Roboflow 100 couvre sept domaines divers, offrant des défis uniques pour les modèles de détection d'objets :

  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 (par exemple, cellules, particules).
  4. Sous-marin : 5 jeux de données (par exemple, vie marine, objets immergés).
  5. Documents : 8 jeux de données (par exemple, régions de texte, éléments de formulaire).
  6. Électromagnétique : 12 jeux de données (par exemple, signatures radar, visualisations de données spectrales).
  7. Monde réel : 50 jeux de données (une vaste catégorie incluant des objets du quotidien, des scènes, du commerce de détail, etc.).

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

Que dois-je inclure lorsque je cite le jeu de données Roboflow 100 dans mes recherches ?

Lorsque tu utilises le jeu de données Roboflow 100, merci de citer l'article original pour créditer les 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, envisage de visiter notre collection complète de jeux de données ou de parcourir d'autres jeux de données de détection compatibles avec les modèles Ultralytics.

Commentaires