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 diversifiés. Cette référence est spécialement conçue pour tester l’adaptabilité des modèles de vision par ordinateur, tels que les modèles Ultralytics YOLO, à différents domaines, notamment la santé, l’imagerie aérienne et les jeux vidéo.
Fonctionnalités clés#
- Domaines diversifiés : comprend 100 jeux de données répartis sur sept domaines distincts : aérien, jeux vidéo, microscopique, sous-marin, documents, électromagnétique et monde réel.
- Échelle : la référence comprend 224 714 images réparties sur 805 classes, représentant plus de 11 170 heures de travail d’annotation de données.
- Standardisation : toutes les images sont prétraitées et redimensionnées à 640x640 pixels pour garantir une évaluation cohérente.
- Évaluation propre : se concentre sur l’élimination de l’ambiguïté entre les classes et filtre les classes sous-représentées afin de garantir une évaluation des modèles plus fiable.
- Annotations : comprend des boîtes englobantes pour les objets, adaptées à l’entraînement et à l’évaluation de modèles de détection d’objets à l’aide de métriques telles que la 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’application réels présents dans diverses solutions Ultralytics.
Évaluation comparative#
L’évaluation comparative d’un jeu de données consiste à évaluer les performances de modèles de machine learning sur des jeux de données spécifiques à l’aide de métriques standardisées. Les métriques courantes comprennent l’exactitude, la précision moyenne (mAP) et le score F1. Tu peux en apprendre davantage dans notre guide sur les métriques de performance YOLO.
Chaque sortie est regroupée dans un seul répertoire runs/<task>/multitrain/ : chaque jeu de données est affiné dans son propre sous-répertoire (avec son propre results.png), et les métriques par jeu de données ainsi que les métriques moyennes sont écrites dans multitrain_results.json, à côté d’un histogramme multitrain_results.png. L’appel model.train() renvoie également un dictionnaire {dataset: metrics} pour un accès programmatique.
Le script ci-dessous télécharge depuis Roboflow les jeux de données Roboflow 100 répertoriés dans datasets_links.txt, puis affine un seul modèle de base (par exemple, YOLO26n) sur l’ensemble de la collection en un seul appel model.train(). Le passage d’une liste de jeux de données affine le modèle de base sur chacun d’eux successivement et visualise automatiquement les résultats entre les jeux de données.
import re
from pathlib import Path
from roboflow import Roboflow
from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, LOGGER, YAML
from ultralytics.utils.downloads import safe_download
# Download the RF100 datasets (requires a Roboflow API key)
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt") # list of RF100 dataset links
datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
try:
_, _url, workspace, project, version = re.split("/+", line.strip())
location = f"rf-100/{project}-{version}"
rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
yaml = Path(location) / "data.yaml"
cfg = YAML.load(yaml) # point train/val at the downloaded image folders
cfg["train"], cfg["val"] = "train/images", "valid/images"
YAML.save(yaml, cfg)
datasets.append(str(yaml))
except Exception as e:
LOGGER.warning(f"Failed to prepare dataset from {line!r}: {e}")
# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640) # {dataset: metrics}
# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
if metrics: # None if that dataset failed to train
print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")Applications#
Roboflow 100 est extrêmement utile pour diverses applications liées à la vision par ordinateur et au deep learning. Les chercheurs et les ingénieurs peuvent exploiter cette référence pour :
- Évaluer les performances de modèles de détection d’objets dans un contexte multi-domaines.
- Tester l’adaptabilité et la robustesse des modèles dans des scénarios réels au-delà des jeux de données de référence courants tels que COCO ou PASCAL VOC.
- Évaluer les capacités de modèles de détection d’objets sur des jeux de données diversifiés, notamment dans 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 neuronaux et techniques d’optimisation.
- Identifier les défis propres à chaque domaine pouvant nécessiter des conseils spécialisés sur l’entraînement des modèles ou des approches d’affinage telles que l’apprentissage par transfert.
Pour trouver davantage d’idées et d’inspiration sur les applications réelles, consulte nos guides de projets pratiques ou découvre Ultralytics Platform pour simplifier l’entraînement des modèles et leur déploiement.
Utilisation#
Le jeu de données Roboflow 100, y compris ses métadonnées et ses liens de téléchargement, est disponible sur le dépôt GitHub officiel de Roboflow 100. Tu peux y accéder directement et l’utiliser pour tes besoins d’évaluation comparative. Une fois les jeux de données téléchargés et préparés comme indiqué ci-dessus, les modèles Ultralytics peuvent être affinés sur l’ensemble de la collection en un seul appel model.train() en transmettant la liste des fichiers YAML des jeux de données.
Données et annotations d'exemple#
Roboflow 100 se compose de jeux de données contenant des images diversifiées prises sous différents angles et dans différents domaines. Tu trouveras ci-dessous des exemples d’images annotées incluses dans la référence RF100, qui illustrent la variété des objets et des scènes. Des techniques telles que l’augmentation des données peuvent encore accroître la diversité pendant l’entraînement.
La diversité observée dans la référence Roboflow 100 représente une avancée significative par rapport aux références traditionnelles, qui se concentrent souvent sur l’optimisation d’une seule métrique dans un domaine limité. Cette approche complète contribue au développement de modèles de vision par ordinateur plus robustes et polyvalents, capables de fonctionner efficacement 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, cite 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 chaleureusement l’équipe Roboflow et tous les contributeurs pour leurs efforts considérables dans la création et la maintenance du jeu de données Roboflow 100, une ressource précieuse pour la communauté de la vision par ordinateur.
Si tu souhaites découvrir davantage de jeux de données pour enrichir tes projets de détection d’objets et de machine learning, consulte notre collection complète de jeux de données, qui comprend divers autres jeux de données de détection.
FAQ#
Le jeu de données Roboflow 100 est une référence pour les modèles de détection d’objets. Il comprend 100 jeux de données diversifiés couvrant des domaines tels que la santé, l’imagerie aérienne et les jeux vidéo. Son importance réside dans le fait qu’il fournit une méthode standardisée pour tester l’adaptabilité et la robustesse des modèles dans un large éventail de scénarios réels, en allant au-delà des références traditionnelles, souvent limitées à un domaine.
Le jeu de données Roboflow 100 couvre sept domaines diversifiés, offrant des défis uniques aux modèles de détection d’objets :
- Aérien : 7 jeux de données (par exemple, imagerie satellite, vues prises par drone).
- Jeux vidéo : 7 jeux de données (par exemple, objets provenant de différents environnements de jeu).
- Microscopique : 11 jeux de données (par exemple, cellules, particules).
- Sous-marin : 5 jeux de données (par exemple, vie marine, objets immergés).
- Documents : 8 jeux de données (par exemple, zones de texte, éléments de formulaires).
- É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 les objets du quotidien, les 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.
Lorsque tu utilises le jeu de données Roboflow 100, cite l’article original afin de rendre hommage à ses 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, consulte notre collection complète de jeux de données ou découvre d’autres jeux de données de détection compatibles avec les modèles Ultralytics.