Ensemble de données Roboflow 100
Roboflow 100, sponsorisé par Intel, est un ensemble de données de référence révolutionnaire pour la détection d'objets. Il comprend 100 ensembles de données diversifiés, échantillonnés à partir de plus de 90 000 ensembles de données publics disponibles sur Roboflow Universe. Ce benchmark est spécifiquement conçu pour tester l'adaptabilité des modèles de vision par ordinateur, tels que 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 s'adapter à 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, car elle favorise la collaboration ouverte et le partage des connaissances. Consultez le fichier LICENSE pour plus de détails et visitez 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 les produits et services commerciaux. Si votre scénario implique des applications commerciales, veuillez nous contacter via Ultralytics Licensing.
Principales caractéristiques
- Domaines divers : Comprend 100 jeux de données 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 dans 805 classes, représentant plus de 11 170 heures d'efforts de labellisation de données.
- Normalisation : Toutes les images sont prétraitées et redimensionnées à 640 x 640 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 du modèle plus propre.
- Annotations : Inclut des boîtes englobantes pour les objets, adaptées à l'entraînement et à l'évaluation des modèles de détection d'objets à l'aide de métriques telles que la mAP.
Structure du jeu de données
L'ensemble de données Roboflow 100 est organisé en sept catégories, chacune contenant une collection unique d'ensembles 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 d'essai diversifié et étendu pour les modèles de détection d'objets, reflétant un large éventail de scénarios d'application du monde réel que l'on retrouve dans diverses Solutions Ultralytics.
Évaluation comparative
L'évaluation comparative des ensembles de données implique l'évaluation des performances des modèles d'apprentissage automatique sur des ensembles de données spécifiques à l'aide de mesures standardisées. Les mesures courantes comprennent la précision, la précision moyenne (mAP) et le score F1. Vous pouvez en apprendre davantage à ce sujet dans notre guide des mesures de performance de YOLO.
Résultats de l'évaluation comparative
Les résultats de l'évaluation comparative à l'aide du script fourni seront stockés dans le ultralytics-benchmarks/
répertoire, spécifiquement dans evaluation.txt
.
Exemple d'évaluation comparative
Le script suivant montre comment évaluer de manière programmatique un modèle Ultralytics YOLO (par exemple, YOLOv11n) sur les 100 ensembles de données du benchmark Roboflow 100 à l'aide de RF100Benchmark
class.
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-domaines.
- 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 tels que COCO ou PASCAL VOC.
- Évaluez les capacités des modèles de détection d'objets sur divers ensembles de données, y compris les domaines spécialisés comme les soins de santé, l'imagerie aérienne et les jeux vidéo.
- Comparer les performances des modèles à travers différentes architectures de réseaux neuronaux et techniques d'optimisation.
- Identifiez les défis spécifiques au domaine qui peuvent nécessiter des conseils spécialisés en matière d'entraînement de modèles ou des approches de réglage fin comme l'apprentissage par transfert.
Pour plus d'idées et d'inspiration sur les applications concrètes, explorez nos guides sur les projets pratiques ou consultez Ultralytics HUB pour une formation de modèles et un déploiement simplifiés.
Utilisation
L'ensemble de données Roboflow 100, y compris les métadonnées et les liens de téléchargement, est disponible sur le site officiel Dépôt GitHub Roboflow 100. Vous pouvez accéder à l'ensemble de données et l'utiliser directement à partir de là pour vos besoins de benchmarking. Les Ultralytics RF100Benchmark
simplifie le processus de téléchargement et de préparation de ces ensembles de données pour une utilisation avec les modèles Ultralytics.
Exemple de données et d'annotations
Roboflow 100 se compose d'ensembles de données avec diverses images capturées sous différents angles et dans différents domaines. Vous trouverez ci-dessous des exemples d'images annotées incluses dans le benchmark RF100, qui illustrent la variété des objets et des scènes. Des techniques telles que l'augmentation des données peuvent améliorer davantage la diversité pendant l'entraînement.
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 dans 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 vous utilisez l'ensemble de données Roboflow 100 dans vos travaux de recherche ou de développement, veuillez citer l'article 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}
}
Nous remercions l'équipe de Roboflow et tous les contributeurs pour leurs efforts considérables dans la création et la maintenance de l'ensemble de données Roboflow 100 en tant que ressource précieuse pour la communauté de la vision par ordinateur.
Si vous souhaitez explorer davantage d'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, qui comprend une variété d'autres ensembles de données de détection.
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 est une référence pour les modèles de détection d'objets. Il comprend 100 ensembles de données divers provenant de Roboflow Universe, couvrant des domaines tels que 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 dans un large éventail de scénarios réels, allant au-delà des références traditionnelles, souvent limitées à un domaine spécifique.
Quels domaines sont couverts par l'ensemble de données Roboflow 100 ?
L'ensemble de données Roboflow 100 couvre sept domaines divers, offrant des défis uniques pour les modèles de détection d'objets :
- Aérien: 7 jeux de données (par exemple, imagerie satellite, vues de drone).
- Jeux vidéo : 7 jeux de données (p. ex., objets provenant de divers environnements de jeu).
- Microscopique : 11 jeux de données (p. ex., cellules, particules).
- Sous-marin : 5 jeux de données (par ex., vie marine, objets submergés).
- Documents : 8 jeux de données (par exemple, régions de texte, éléments de formulaire).
- Électromagnétique : 12 jeux de données (par exemple, signatures radar, visualisations de données spectrales).
- Monde réel: 50 jeux de données (une vaste catégorie comprenant des objets du quotidien, des scènes, la vente au détail, etc.).
Cette variété fait de RF100 une excellente ressource pour évaluer la généralisabilité des modèles de vision par ordinateur.
Que dois-je inclure lorsque je cite l'ensemble de données Roboflow 100 dans mes recherches ?
Lorsque vous utilisez l'ensemble de données Roboflow 100, veuillez citer l'article original pour rendre hommage à ses créateurs. Voici la citation BibTeX recommandée :
@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 une exploration plus approfondie, pensez à consulter notre collection complète d'ensembles de données ou à parcourir d'autres ensembles de données de détection compatibles avec les modèles Ultralytics.