Roboflow 100 Datensatz
Roboflow 100, gesponsert von Intelist ein bahnbrechender Benchmark-Datensatz zur Objekterkennung. Er umfasst 100 verschiedene Datensätze, die aus über 90.000 öffentlichen Datensätzen auf Roboflow Universe ausgewählt wurden. Dieser Benchmark wurde speziell entwickelt, um die Anpassungsfähigkeit von Bildverarbeitungsmodellen wie den YOLO Ultralytics für verschiedene Bereiche zu testen, darunter das Gesundheitswesen, Luftaufnahmen und Videospiele.
Lizenzvergabe
Ultralytics bietet zwei Lizenzierungsoptionen für unterschiedliche Anwendungsfälle:
- AGPL-3.0 : Diese von der OSI genehmigte Open-Source-Lizenz ist ideal für Studenten und Enthusiasten und fördert die offene Zusammenarbeit und den Wissensaustausch. Weitere Einzelheiten finden Sie in der LICENSE-Datei und auf unserer AGPL-3.0 -Lizenzseite.
- Unternehmenslizenz: Diese für die kommerzielle Nutzung konzipierte Lizenz ermöglicht die nahtlose Integration der Ultralytics Software und KI-Modelle in kommerzielle Produkte und Dienstleistungen. Wenn Ihr Szenario kommerzielle Anwendungen umfasst, wenden Sie sich bitte an Ultralytics Licensing.
Wesentliche Merkmale
- Vielfältige Domänen: Enthält 100 Datensätze aus sieben verschiedenen Bereichen: Luftaufnahmen, Videospiele, mikroskopische Aufnahmen, Unterwasseraufnahmen, Dokumente, elektromagnetische Aufnahmen und reale Welt.
- Maßstab: Der Benchmark umfasst 224.714 Bilder in 805 Klassen, was einem Aufwand von über 11.170 Stunden für die Datenbeschriftung entspricht.
- Standardisierung: Alle Bilder werden vorverarbeitet und für eine einheitliche Auswertung auf 640x640 Pixel verkleinert.
- Saubere Bewertung: Konzentriert sich auf die Beseitigung von Klassenmehrdeutigkeiten und filtert unterrepräsentierte Klassen heraus, um eine saubere Modellbewertung zu gewährleisten.
- Anmerkungen: Enthält Bounding Boxes für Objekte, die sich für das Training und die Bewertung von Objekterkennungsmodellen mit Metriken wie mAP eignen.
Struktur des Datensatzes
Der Roboflow 100-Datensatz ist in sieben Kategorien unterteilt, die jeweils eine eigene Sammlung von Datensätzen, Bildern und Klassen enthalten:
- Luftbild: 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.
- Reale Welt: 50 Datensätze, 110.615 Bilder, 495 Klassen.
Diese Struktur bietet ein vielfältiges und umfangreiches Testfeld für Objekterkennungsmodelle, das eine breite Palette von realen Anwendungsszenarien widerspiegelt, die in verschiedenen Ultralytics zu finden sind.
Benchmarking
Beim Datensatz-Benchmarking wird die Leistung von Modellen des maschinellen Lernens für bestimmte Datensätze anhand standardisierter Metriken bewertet. Zu den gängigen Metriken gehören Genauigkeit, mittlere durchschnittliche Präzision (mAP) und F1-Score. Mehr darüber erfahren Sie in unserem YOLO Performance Metrics Leitfaden.
Benchmarking-Ergebnisse
Benchmarking-Ergebnisse, die das bereitgestellte Skript verwenden, werden in der Datei ultralytics-benchmarks/
Verzeichnis, insbesondere in evaluation.txt
.
Benchmarking-Beispiel
Das folgende Skript veranschaulicht, wie ein Ultralytics YOLO (z. B. YOLOv11n) auf allen 100 Datensätzen innerhalb des Roboflow 100-Benchmarks unter Verwendung des 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 Zusammenhang mit Computer Vision und Deep Learning. Forscher und Ingenieure können diesen Benchmark nutzen, um:
- Bewertung der Leistung von Objekterkennungsmodellen in einem Kontext mit mehreren Domänen.
- Testen Sie die Anpassungsfähigkeit und Robustheit von Modellen für reale Szenarien, die über die üblichen Benchmark-Datensätze wie COCO oder PASCAL VOC hinausgehen.
- Benchmarking der Fähigkeiten von Objekterkennungsmodellen in verschiedenen Datensätzen, einschließlich spezieller Bereiche wie Gesundheitswesen, Luftbilder und Videospiele.
- Vergleichen Sie die Modellleistung verschiedener neuronaler Netzwerkarchitekturen und Optimierungstechniken.
- Identifizieren Sie domänenspezifische Herausforderungen, die spezielle Tipps für die Modellschulung oder Feinabstimmungsansätze wie Transfer Learning erfordern.
Weitere Ideen und Inspirationen für reale Anwendungen finden Sie in unseren Leitfäden für praktische Projekte oder im Ultralytics HUB für eine optimierte Modellschulung und -bereitstellung.
Verwendung
Der Roboflow 100-Datensatz, einschließlich Metadaten und Download-Links, ist auf der offiziellen Website Roboflow 100 GitHub-Repository. Sie können von dort aus direkt auf den Datensatz zugreifen und ihn für Ihre Benchmarking-Anforderungen nutzen. Die Ultralytics RF100Benchmark
vereinfacht das Herunterladen und die Vorbereitung dieser Datensätze für die Verwendung mit Ultralytics .
Beispieldaten und Anmerkungen
Roboflow 100 besteht aus Datensätzen mit verschiedenen Bildern, die aus unterschiedlichen Blickwinkeln und Bereichen aufgenommen wurden. Nachfolgend finden Sie Beispiele für kommentierte Bilder aus dem RF100-Benchmark, die die Vielfalt der Objekte und Szenen verdeutlichen. Techniken wie die Datenerweiterung können die Vielfalt beim Training weiter erhöhen.
Die Vielfalt des Roboflow 100-Benchmarks stellt einen bedeutenden Fortschritt gegenüber herkömmlichen Benchmarks dar, die sich oft auf die Optimierung einer einzigen Metrik in einem begrenzten Bereich konzentrieren. Dieser umfassende Ansatz trägt dazu bei, robustere und vielseitigere Computer-Vision-Modelle zu entwickeln, die in einer Vielzahl unterschiedlicher Szenarien gute Leistungen erbringen.
Zitate und Danksagungen
Wenn Sie den Roboflow 100-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte die Originalarbeit:
@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 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 an weiteren Datensätzen interessiert sind, um Ihre Projekte zur Objekterkennung und zum maschinellen Lernen zu verbessern, besuchen Sie unsere umfassende Datensatzsammlung, die eine Vielzahl anderer Erkennungsdatensätze enthält.
FAQ
Was ist der Datensatz Roboflow 100, und warum ist er für die Objekterkennung von Bedeutung?
Der Roboflow 100-Datensatz ist ein Benchmark für Objekterkennungsmodelle. Er umfasst 100 verschiedene Datensätze aus dem Roboflow , die Bereiche wie Gesundheitswesen, Luftaufnahmen und Videospiele abdecken. Seine Bedeutung liegt darin, dass er eine standardisierte Möglichkeit bietet, die Anpassungsfähigkeit und Robustheit von Modellen in einer Vielzahl von realen Szenarien zu testen, und damit über die traditionellen, oft auf bestimmte Bereiche beschränkten Benchmarks hinausgeht.
Welche Bereiche werden durch den Datensatz Roboflow 100 abgedeckt?
Der Roboflow 100-Datensatz umfasst sieben verschiedene Bereiche, die einzigartige Herausforderungen für Objekterkennungsmodelle darstellen:
- Luftaufnahmen: 7 Datensätze (z. B. Satellitenbilder, Drohnenaufnahmen).
- 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, untergetauchte Objekte).
- Dokumente: 8 Datensätze (z. B. Textbereiche, Formularelemente).
- Elektromagnetisch: 12 Datensätze (z. B. Radarsignaturen, Visualisierungen von Spektraldaten).
- Reale Welt: 50 Datensätze (eine breite Kategorie, die Alltagsgegenstände, Szenen, Einzelhandel usw. umfasst).
Diese Vielfalt macht den RF100 zu einer hervorragenden Ressource für die Bewertung der Verallgemeinerbarkeit von Computer-Vision-Modellen.
Was sollte ich angeben, wenn ich den Datensatz Roboflow 100 in meiner Forschung zitiere?
Wenn Sie den Roboflow 100-Datensatz verwenden, zitieren Sie bitte die Originalarbeit, um den Urhebern Anerkennung zu zollen. Hier ist das empfohlene BibTeX-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}
}
Weitere Informationen finden Sie in unserer umfassenden Datensatzsammlung oder in anderen Erkennungsdatensätzen, die mit Ultralytics kompatibel sind.