Roboflow 100 Datensatz
Roboflow 100, gesponsert von Intel, ist ein bahnbrechender Objekterkennungs-Benchmark-Datensatz. Er umfasst 100 verschiedene Datensätze, die aus über 90.000 öffentlichen Datensätzen aus Roboflow Universe stammen. Dieser Benchmark wurde speziell entwickelt, um die Anpassungsfähigkeit von Computer Vision-Modellen, wie z. B. Ultralytics YOLO Modellen, an verschiedene Bereiche wie Gesundheitswesen, Luftaufnahmen und Videospiele zu testen.
Lizenzierung
Ultralytics bietet zwei Lizenzierungsoptionen an, um verschiedenen Anwendungsfällen gerecht zu werden:
- AGPL-3.0-Lizenz: Diese OSI-geprüfte Open-Source-Lizenz ist ideal für Studenten und Enthusiasten und fördert die offene Zusammenarbeit und den Wissensaustausch. Weitere Informationen finden Sie in der LICENSE-Datei und auf unserer AGPL-3.0-Lizenzseite.
- Enterprise-Lizenz: Diese Lizenz ist für die kommerzielle Nutzung konzipiert und ermöglicht die nahtlose Integration von Ultralytics-Software und KI-Modellen in kommerzielle Produkte und Dienstleistungen. Wenn Ihr Szenario kommerzielle Anwendungen umfasst, kontaktieren Sie uns bitte über Ultralytics-Lizenzierung.
Hauptmerkmale
- Vielfältige Domänen: Umfasst 100 Datensätze aus sieben verschiedenen Bereichen: Luftaufnahmen, Videospiele, Mikroskopie, Unterwasser, Dokumente, Elektromagnetik und reale Welt.
- Skalierung: Der Benchmark umfasst 224.714 Bilder aus 805 Klassen, was einem Aufwand von über 11.170 Stunden für die Datenbeschriftung entspricht.
- Standardisierung: Alle Bilder werden vorverarbeitet und auf 640x640 Pixel skaliert, um eine konsistente Auswertung zu gewährleisten.
- Saubere Evaluierung: Konzentriert sich auf die Beseitigung von Klassenmehrdeutigkeiten und filtert unterrepräsentierte Klassen heraus, um eine sauberere Modellbewertung zu gewährleisten.
- Annotations: Beinhaltet Bounding Boxes für Objekte, geeignet für das Training und die Evaluierung von Objektdetektionsmodellen unter Verwendung von Metriken wie mAP.
Dataset-Struktur
Der Roboflow 100-Datensatz ist in sieben Kategorien unterteilt, die jeweils eine einzigartige Sammlung von Datensätzen, Bildern und Klassen enthalten:
- Luftaufnahmen: 7 Datensätze, 9.683 Bilder, 24 Klassen.
- Videospiele: 7 Datensätze, 11.579 Bilder, 88 Klassen.
- Mikroskopisch: 11 Datensätze, 13.378 Bilder, 28 Klassen.
- Unterwasser: 5 Datensätze, 18.003 Bilder, 39 Klassen.
- Dokumente: 8 Datensätze, 24.813 Bilder, 90 Klassen.
- Elektromagnetisch: 12 Datensätze, 36.381 Bilder, 41 Klassen.
- Real World: 50 Datensätze, 110.615 Bilder, 495 Klassen.
Diese Struktur bietet ein vielfältiges und umfangreiches Testfeld für Objekterkennungsmodelle und spiegelt eine breite Palette realer Anwendungsszenarien wider, die in verschiedenen Ultralytics-Lösungen zu finden sind.
Benchmarking
Benchmarking von Datensätzen umfasst die Bewertung der Leistung von Modellen des maschinellen Lernens auf bestimmten Datensätzen unter Verwendung standardisierter Metriken. Zu den gängigen Metriken gehören Genauigkeit, mittlere durchschnittliche Präzision (mAP) und F1-Score. In unserem Leitfaden zu YOLO-Leistungsmetriken erfahren Sie mehr darüber.
Benchmarking-Ergebnisse
Die Benchmarking-Ergebnisse unter Verwendung des bereitgestellten Skripts werden gespeichert in der ultralytics-benchmarks/
Verzeichnis, insbesondere in evaluation.txt
.
Benchmarking-Beispiel
Das folgende Skript demonstriert, wie man ein Ultralytics YOLO Modell (z.B. YOLOv11n) auf allen 100 Datensätzen innerhalb des Roboflow 100 Benchmarks programmgesteuert benchmarken kann, unter Verwendung von RF100Benchmark
Klasse.
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!")
Anwendungen
Roboflow 100 ist von unschätzbarem Wert für verschiedene Anwendungen im Bereich Computer Vision und Deep Learning. Forscher und Ingenieure können diesen Benchmark nutzen, um:
- Bewerten Sie die Leistung von Objekterkennungsmodellen in einem Multi-Domain-Kontext.
- Testen Sie die Anpassungsfähigkeit und Robustheit von Modellen in realen Szenarien, die über gängige Benchmark-Datensätze wie COCO oder PASCAL VOC hinausgehen.
- Benchmarken Sie die Fähigkeiten von Objekterkennungsmodellen über verschiedene Datensätze hinweg, einschließlich spezialisierter Bereiche wie Gesundheitswesen, Luftaufnahmen und Videospiele.
- Vergleichen Sie die Modellleistung über verschiedene Neuronale Netzwerk-Architekturen und Optimierungs-Techniken hinweg.
- Identifizieren Sie domänenspezifische Herausforderungen, die spezielle Modelltrainings-Tipps oder Feinabstimmungsansätze wie Transfer Learning erfordern können.
Weitere Ideen und Inspirationen zu realen Anwendungen finden Sie in unseren Anleitungen zu praktischen Projekten oder in Ultralytics HUB für optimiertes Model Training und Deployment.
Nutzung
Der Roboflow 100-Datensatz, einschließlich Metadaten und Download-Links, ist auf der offiziellen Website verfügbar. Roboflow 100 GitHub-Repository. Sie können von dort aus direkt auf das Dataset zugreifen und es für Ihre Benchmarking-Anforderungen nutzen. Die Ultralytics RF100Benchmark
utility vereinfacht das Herunterladen und Vorbereiten dieser Datensätze für die Verwendung mit Ultralytics-Modellen.
Beispieldaten und Anmerkungen
Roboflow 100 besteht aus Datensätzen mit vielfältigen Bildern, die aus verschiedenen Blickwinkeln und Bereichen aufgenommen wurden. Nachfolgend sind Beispiele für annotierte Bilder aufgeführt, die im RF100-Benchmark enthalten sind und die Vielfalt der Objekte und Szenen veranschaulichen. Techniken wie Datenerweiterung können die Diversität während des Trainings weiter verbessern.
Die im Roboflow 100-Benchmark beobachtete Vielfalt stellt einen bedeutenden Fortschritt gegenüber traditionellen Benchmarks dar, die sich oft auf die Optimierung einer einzelnen Metrik innerhalb einer begrenzten Domäne konzentrieren. Dieser umfassende Ansatz unterstützt die Entwicklung robusterer und vielseitigerer Computer Vision-Modelle, die in einer Vielzahl unterschiedlicher Szenarien gute Leistungen erbringen können.
Zitate und Danksagungen
Wenn Sie den Roboflow 100-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das Original-Paper:
@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 bedanken uns beim Roboflow-Team und allen Mitwirkenden für ihre bedeutenden Bemühungen bei der Erstellung und Pflege des Roboflow 100-Datensatzes als wertvolle Ressource für die Computer-Vision-Community.
Wenn Sie daran interessiert sind, weitere Datensätze zur Verbesserung Ihrer Objekterkennungs- und Machine-Learning-Projekte zu erkunden, können Sie gerne unsere umfassende Datensatzsammlung besuchen, die eine Vielzahl anderer Erkennungsdatensätze enthält.
FAQ
Was ist der Roboflow 100-Datensatz, und warum ist er für die Objekterkennung von Bedeutung?
Der Datensatz Roboflow 100 ist ein Benchmark für Objekterkennungsmodelle. Er umfasst 100 verschiedene Datensätze aus Roboflow Universe, die Bereiche wie Gesundheitswesen, Luftaufnahmen und Videospiele abdecken. Seine Bedeutung liegt in der Bereitstellung einer standardisierten Möglichkeit, die Anpassungsfähigkeit und Robustheit von Modellen in einer Vielzahl von realen Szenarien zu testen und über traditionelle, oft domänenbeschränkte Benchmarks hinauszugehen.
Welche Bereiche werden vom Roboflow 100-Datensatz abgedeckt?
Der Datensatz Roboflow 100 umfasst sieben verschiedene Bereiche und bietet einzigartige Herausforderungen für Objekterkennungsmodelle:
- Luftaufnahmen: 7 Datensätze (z. B. Satellitenbilder, Drohnenansichten).
- Videospiele: 7 Datensätze (z. B. Objekte aus verschiedenen Spielumgebungen).
- Mikroskopisch: 11 Datensätze (z. B. Zellen, Partikel).
- Unterwasser: 5 Datensätze (z. B. Meereslebewesen, versunkene Objekte).
- Dokumente: 8 Datensätze (z. B. Textregionen, Formularelemente).
- Elektromagnetisch: 12 Datensätze (z. B. Radarsignaturen, Visualisierungen von Spektraldaten).
- Real World: 50 Datensätze (eine breite Kategorie, die Alltagsgegenstände, Szenen, Einzelhandel usw. umfasst).
Diese Vielfalt macht RF100 zu einer ausgezeichneten Ressource für die Bewertung der Verallgemeinerbarkeit von Computer-Vision-Modellen.
Was sollte ich bei der Zitierung des Roboflow 100-Datensatzes in meiner Forschung angeben?
Wenn Sie den Roboflow 100-Datensatz verwenden, zitieren Sie bitte das Originalpapier, um den Urhebern Anerkennung zu zollen. Hier ist die empfohlene BibTeX-Zitierweise:
@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 sollten Sie unsere umfassende Datensatzsammlung besuchen oder andere Erkennungsdatensätze durchsuchen, die mit Ultralytics-Modellen kompatibel sind.