YOLO Vision 2026 :

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 ensembles de données diversifiés. 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 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 d'entreprise : Pour le développement et la production, cette licence permet l'intégration transparente du logiciel et des modèles d'IA Ultralytics dans les produits et services professionnels, y compris les outils internes, les flux de travail automatisés et les déploiements en production, en contournant les exigences open source de l'AGPL-3.0. Pour commencer, contacte-nous via les Licences Ultralytics.

Roboflow 100 diverse object detection benchmark

Fonctionnalités clés#

  • Domaines diversifiés : 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 de marquage des 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 des modèles plus propre.
  • Annotations : Comprend des boîtes englobantes pour les objets, adaptées pour l'entraînement et l'évaluation de modèles de détection d'objets à l'aide de métriques telles que 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 offre 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 trouvés dans diverses solutions Ultralytics.

Évaluation des performances#

L'évaluation comparative de jeux de données consiste à évaluer les performances des modèles d'apprentissage automatique sur des ensembles de données spécifiques à l'aide de métriques standardisées. Les métriques courantes incluent la précision, le mAP (mean Average Precision) et le score F1. Tu peux en apprendre davantage sur ces sujets dans notre guide des métriques de performance YOLO.

Résultats du benchmarking

Chaque sortie est regroupée sous un seul répertoire runs/<task>/multitrain/ : chaque ensemble de données est affiné dans son propre sous-répertoire (avec son propre results.png), et les métriques par ensemble de données ainsi que la moyenne sont écrites dans multitrain_results.json avec un diagramme à barres multitrain_results.png. L'appel model.train() renvoie également un dictionnaire {dataset: metrics} pour un accès programmatique.

Exemple de benchmarking

Le script ci-dessous télécharge les jeux de données Roboflow 100 répertoriés dans datasets_links.txt depuis Roboflow, puis affine un modèle de base unique (par exemple, YOLO26n) sur l'ensemble de la collection en un seul appel model.train(). Le fait de passer une liste de jeux de données affine le modèle de base sur chacun d'eux en série et visualise automatiquement les résultats inter-ensembles 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 inestimable pour diverses applications liées à la vision par ordinateur et à l'apprentissage profond. Les chercheurs et les ingénieurs peuvent exploiter ce benchmark pour :

Pour plus d'idées et d'inspiration sur les applications du monde réel, explore nos guides sur les projets pratiques ou consulte la plateforme Ultralytics pour simplifier l'entraînement et le déploiement des modèles.

Utilisation#

Le jeu de données Roboflow 100, comprenant les métadonnées et les liens de téléchargement, est disponible sur le dépôt GitHub officiel de Roboflow 100. Tu peux accéder au jeu de données et l'utiliser directement à partir de là pour tes besoins de benchmarking. Une fois que les jeux de données sont 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 passant la liste des fichiers YAML des jeux de données.

Exemples de données et d'annotations#

Roboflow 100 se compose de jeux de données avec des images diverses capturées sous différents angles et domaines. Vous trouverez 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 telles que l'augmentation des données peuvent encore améliorer 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 dans un domaine limité. Cette approche globale aide à développer des modèles de vision par ordinateur plus robustes et polyvalents, 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 ensembles de données pour améliorer tes projets de détection d'objets et d'apprentissage automatique, n'hésite pas à consulter notre collection complète de jeux de données, qui comprend une variété d'autres jeux de données de détection.

FAQ#

  • Le jeu de données Roboflow 100 est un benchmark pour les modèles de détection d'objets. Il comprend 100 ensembles 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 offre un moyen standardisé de tester l'adaptabilité et la robustesse des modèles dans un large éventail de scénarios du monde réel, allant au-delà des benchmarks traditionnels, souvent limités à un seul domaine.

  • Le jeu de données Roboflow 100 s'étend sur 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 ex. imagerie satellite, vues par drone).
    2. Jeux vidéo : 7 jeux de données (par ex. objets provenant de divers environnements de jeu).
    3. Microscopique : 11 jeux de données (par ex. cellules, particules).
    4. Sous-marin : 5 jeux de données (par ex. vie marine, objets submergés).
    5. Documents : 8 jeux de données (par ex. régions de texte, éléments de formulaire).
    6. Électromagnétique : 12 jeux de données (par ex. 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 de RF100 une excellente ressource pour évaluer la capacité de généralisation des modèles de vision par ordinateur.

  • Lorsque tu utilises le jeu de données Roboflow 100, merci de citer l'article original pour attribuer le mérite 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, envisage de consulter 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