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.
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
from pathlib import Path
import shutil
import os
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 contenant diverses images et vidéos capturées sous différents angles et dans différents domaines. Voici des exemples d'images annotées dans le benchmark RF100.
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 :
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.
Créé le 2024-02-07, Mis à jour le 2024-04-29
Auteurs : RizwanMunawar (2), glenn-jocher (1), abirami-vina (1)