Roboflow 100 Datensatz#
Roboflow 100, gesponsert von Intel, ist ein bahnbrechendes Objekterkennungs-Benchmark-Dataset. Es umfasst 100 verschiedene Datensätze. Dieser Benchmark wurde speziell entwickelt, um die Anpassungsfähigkeit von Computer Vision-Modellen wie Ultralytics YOLO models an verschiedene Bereiche wie das Gesundheitswesen, Luftbilder und Videospiele zu testen.
Ultralytics bietet zwei Lizenzierungsoptionen für unterschiedliche Anwendungsfälle:
- AGPL-3.0 License: Diese OSI-approved Open-Source-Lizenz ist ideal für Studenten und Enthusiasten und fördert die offene Zusammenarbeit und den Wissensaustausch. Weitere Details findest du in der LICENSE-Datei und auf unserer AGPL-3.0 License page.
- Enterprise License: Für die Entwicklungs- und Produktionsnutzung ermöglicht diese Lizenz die nahtlose Integration von Ultralytics-Software und KI-Modellen in Geschäftsprodukte und -dienste – einschließlich interner Tools, automatisierter Workflows und Produktions-Deployments –, wobei die Open-Source-Anforderungen der AGPL-3.0 umgangen werden. Kontaktiere uns für den Einstieg über Ultralytics Licensing.
Hauptfunktionen#
- Vielfältige Bereiche: Enthält 100 Datensätze aus sieben verschiedenen Bereichen: Luftaufnahmen, Videospiele, Mikroskopie, Unterwasseraufnahmen, Dokumente, Elektromagnetik und reale Welt.
- Scale: Der Benchmark umfasst 224.714 Bilder in 805 Klassen, was über 11.170 Stunden an Datenmarkierungs-Aufwand entspricht.
- Standardization: Alle Bilder werden vorverarbeitet und für eine konsistente Auswertung auf eine Größe von 640x640 Pixeln skaliert.
- Clean Evaluation: Konzentriert sich auf die Beseitigung von Klassenambivalenzen und filtert unterrepräsentierte Klassen heraus, um eine sauberere Modellauswertung zu gewährleisten.
- Annotations: Enthält Bounding-Boxen für Objekte, die sich zum Training und zur Auswertung von Objekterkennungsmodellen mithilfe von Metriken wie mAP eignen.
Datensatzstruktur#
Der Roboflow 100 Datensatz ist in sieben Kategorien unterteilt, von denen jede eine einzigartige Sammlung von Datensätzen, Bildern und Klassen enthält:
- Luftaufnahmen: 7 Datensätze, 9.683 Bilder, 24 Klassen.
- Videospiele: 7 Datensätze, 11.579 Bilder, 88 Klassen.
- Mikroskopie: 11 Datensätze, 13.378 Bilder, 28 Klassen.
- Unterwasseraufnahmen: 5 Datensätze, 18.003 Bilder, 39 Klassen.
- Dokumente: 8 Datensätze, 24.813 Bilder, 90 Klassen.
- Elektromagnetik: 12 Datensätze, 36.381 Bilder, 41 Klassen.
- Reale Welt: 50 Datensätze, 110.615 Bilder, 495 Klassen.
Diese Struktur bietet eine vielfältige und umfangreiche Testumgebung für Objekterkennungs-Modelle und spiegelt eine breite Palette realer Anwendungsszenarien in verschiedenen Ultralytics Solutions wider.
Benchmarking#
Das Benchmarking von Datensätzen umfasst die Bewertung der Leistung von Machine Learning-Modellen anhand spezifischer Datensätze unter Verwendung standardisierter Metriken. Zu den gängigen Metriken gehören Genauigkeit, Mean Average Precision (mAP) und F1-Score. Weitere Informationen dazu findest du in unserem YOLO Performance Metrics guide.
Jede Ausgabe ist in einem einzigen runs/<task>/multitrain/-Verzeichnis gruppiert: Jeder Datensatz wird in seinem eigenen Unterverzeichnis (mit seinem eigenen results.png) feinabgestimmt, und die Metriken pro Datensatz und im Mittel werden zusammen mit einem multitrain_results.png-Balkendiagramm in multitrain_results.json geschrieben. Der model.train()-Aufruf gibt außerdem ein {dataset: metrics}-Dictionary für den programmatischen Zugriff zurück.
Das folgende Skript lädt die in datasets_links.txt aufgelisteten Roboflow 100-Datensätze von Roboflow herunter und stimmt dann ein einzelnes Basismodell (z. B. YOLO26n) in einem einzigen model.train()-Aufruf über die gesamte Sammlung ab. Durch die Übergabe einer Liste von Datensätzen wird das Basismodell nacheinander auf jedem einzelnen feinabgestimmt, und die datensatzübergreifenden Ergebnisse werden automatisch visualisiert.
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}")Anwendungen#
Roboflow 100 ist von unschätzbarem Wert für verschiedene Anwendungen im Zusammenhang mit Computer Vision und Deep Learning. Forscher und Ingenieure können diesen Benchmark nutzen, um:
- Die Leistung von Objekterkennungsmodellen in einem bereichsübergreifenden Kontext zu bewerten.
- Die Anpassungsfähigkeit und Robustheit von Modellen an reale Szenarien zu testen, die über gängige Benchmark-Datensätze wie COCO oder PASCAL VOC hinausgehen.
- Die Fähigkeiten von Objekterkennungsmodellen über verschiedene Datensätze hinweg zu vergleichen, einschließlich spezialisierter Bereiche wie Gesundheitswesen, Luftaufnahmen und Videospiele.
- Die Modellleistung über verschiedene Neuronales Netz-Architekturen und Optimierungs-Techniken hinweg zu vergleichen.
- Domainspezifische Herausforderungen zu identifizieren, die möglicherweise spezielle Modelltraining-Tipps oder Fine-Tuning-Ansätze wie Transfer Learning erfordern.
Weitere Ideen und Inspirationen für reale Anwendungen findest du in unseren Anleitungen zu praktischen Projekten oder auf der Ultralytics Platform für ein optimiertes Modelltraining und Deployment.
Verwendung#
Das Roboflow 100-Dataset, einschließlich Metadaten und Download-Links, ist im offiziellen Roboflow 100 GitHub repository verfügbar. Du kannst von dort aus direkt auf das Dataset zugreifen und es für deine Benchmarking-Anforderungen nutzen. Sobald die Datensätze wie oben gezeigt heruntergeladen und vorbereitet wurden, können Ultralytics-Modelle über die gesamte Sammlung hinweg in einem einzigen model.train()-Aufruf feinabgestimmt werden, indem die Liste der Datensatz-YAMLs übergeben wird.
Beispieldaten und Annotationen#
Roboflow 100 besteht aus Datensätzen mit vielfältigen Bildern, die aus verschiedenen Blickwinkeln und Domänen aufgenommen wurden. Unten sind Beispiele für kommentierte Bilder im RF100-Benchmark aufgeführt, die die Vielfalt von Objekten und Szenen veranschaulichen. Techniken wie Datenaugmentation können die Vielfalt während des Trainings weiter erhöhen.
Die im Roboflow 100-Benchmark sichtbare Vielfalt stellt einen bedeutenden Fortschritt gegenüber herkömmlichen Benchmarks dar, die sich oft darauf konzentrieren, eine einzelne Metrik innerhalb einer begrenzten Domäne zu optimieren. Dieser umfassende Ansatz trägt dazu bei, robustere und vielseitigere Computer Vision-Modelle zu entwickeln, die in einer Vielzahl verschiedener Szenarien gute Leistungen erbringen können.
Zitate und Danksagungen#
Wenn du den Roboflow 100 Datensatz in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte das Originalpapier:
@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}
}Wir danken dem Roboflow-Team und allen Mitwirkenden für ihren bedeutenden Einsatz bei der Erstellung und Pflege des Roboflow 100 Datensatzes als wertvolle Ressource für die Computer Vision Community.
Wenn du daran interessiert bist, weitere Datensätze zur Verbesserung deiner Objekterkennungs- und Machine-Learning-Projekte zu erkunden, besuche gerne unsere umfassende Datensatzsammlung, die eine Vielzahl anderer Erkennungsdatensätze enthält.
FAQ#
Das Roboflow 100 Dataset ist ein Benchmark für Objekterkennungs-Modelle. Es umfasst 100 verschiedene Datensätze aus Bereichen wie Gesundheitswesen, Luftbilder und Videospiele. Seine Bedeutung liegt darin, eine standardisierte Möglichkeit zu bieten, die Anpassungsfähigkeit und Robustheit von Modellen über eine Vielzahl realer Szenarien hinweg zu testen und über traditionelle, oft domänenbezogene Benchmarks hinauszugehen.
Das Roboflow 100 Dataset erstreckt sich über sieben verschiedene Domänen und bietet einzigartige Herausforderungen für Objekterkennungs-Modelle:
- Luftaufnahmen: 7 Datensätze (z. B. Satellitenbilder, Drohnenansichten).
- Videospiele: 7 Datensätze (z. B. Objekte aus verschiedenen Spielumgebungen).
- Mikroskopie: 11 Datensätze (z. B. Zellen, Partikel).
- Unterwasseraufnahmen: 5 Datensätze (z. B. Meereslebewesen, untergetauchte Objekte).
- Dokumente: 8 Datensätze (z. B. Textbereiche, Formularelemente).
- Elektromagnetik: 12 Datensätze (z. B. Radarsignaturen, Visualisierungen von Spektraldaten).
- Reale Welt: 50 Datensätze (eine breite Kategorie einschließlich alltäglicher Objekte, Szenen, Einzelhandel usw.).
Diese Vielfalt macht RF100 zu einer hervorragenden Ressource zur Bewertung der Generalisierbarkeit von Computer-Vision-Modellen.
Wenn du den Roboflow 100 Datensatz verwendest, zitiere bitte das Originalpapier, um den Erstellern Anerkennung zu zollen. Hier ist das empfohlene BibTeX-Zitat:
Zitat@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} }Für weitere Erkundungen solltest du unsere umfassende Datensatzsammlung besuchen oder andere mit Ultralytics-Modellen kompatible Erkennungsdatensätze durchstöbern.