Roboflow 100 Datensatz
Roboflow 100, entwickelt von Roboflow entwickelt und von Intel gesponsert, ist ein bahnbrechender Benchmark zur Objekterkennung. Er umfasst 100 verschiedene Datensätze, die aus über 90.000 öffentlichen Datensätzen ausgewählt wurden. Dieser Benchmark wurde entwickelt, um die Anpassungsfähigkeit von Modellen an verschiedene Bereiche zu testen, darunter das Gesundheitswesen, Luftbilder und Videospiele.
Wesentliche Merkmale
- Enthält 100 Datensätze aus sieben Bereichen: Luftbild, Videospiele, Mikroskopie, Unterwasser, Dokumente, Elektromagnetik und reale Welt.
- Der Benchmark umfasst 224.714 Bilder in 805 Klassen, die in über 11.170 Stunden beschriftet wurden.
- Alle Bilder werden auf 640x640 Pixel verkleinert, wobei der Schwerpunkt auf der Beseitigung von Klassenmehrdeutigkeiten und dem Herausfiltern unterrepräsentierter Klassen liegt.
- Die Anmerkungen enthalten Bounding Boxes für Objekte und eignen sich daher zum Trainieren und Evaluieren von Objekterkennungsmodellen.
Struktur des Datensatzes
Der Datensatz Roboflow 100 ist in sieben Kategorien eingeteilt, die jeweils einen eigenen Satz von Datensätzen, Bildern und Klassen enthalten:
- Luftbild: Besteht aus 7 Datensätzen mit insgesamt 9.683 Bildern, die 24 verschiedene Klassen abdecken.
- Videospiele: Enthält 7 Datensätze mit 11.579 Bildern in 88 Klassen.
- Mikroskopisch: Umfasst 11 Datensätze mit 13.378 Bildern, die 28 Klassen abdecken.
- Unterwasser: Enthält 5 Datensätze, die 18.003 Bilder in 39 Klassen umfassen.
- Dokumente: Besteht aus 8 Datensätzen mit 24.813 Bildern, die in 90 Klassen unterteilt sind.
- Elektromagnetisch: Besteht aus 12 Datensätzen mit insgesamt 36.381 Bildern in 41 Klassen.
- Reale Welt: Die größte Kategorie mit 50 Datensätzen, die 110.615 Bilder in 495 Klassen enthalten.
Diese Struktur ermöglicht ein vielfältiges und umfangreiches Testfeld für Objekterkennungsmodelle, das reale Anwendungsszenarien widerspiegelt.
Benchmarking
Beim Datensatz-Benchmarking wird die Leistung von Modellen des maschinellen Lernens auf bestimmten Datensätzen anhand standardisierter Metriken wie Genauigkeit, durchschnittliche Präzision und F1-Score bewertet.
Benchmarking
Die Benchmarking-Ergebnisse werden in "ultralytics-benchmarks/evaluation.txt" gespeichert.
Benchmarking-Beispiel
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 der Modelle an reale Szenarien, die über die allgemeine Objekterkennung hinausgehen.
- Benchmarking der Fähigkeiten von Objekterkennungsmodellen über verschiedene Datensätze hinweg, z. B. im Gesundheitswesen, bei Luftbildern und Videospielen.
- Vergleichen Sie die Modellleistung verschiedener neuronaler Netzwerkarchitekturen und Optimierungstechniken.
- Identifizieren Sie domänenspezifische Herausforderungen, die spezielle Modelltrainingsansätze erfordern.
Weitere Ideen und Anregungen für praktische Anwendungen finden Sie in unseren Leitfäden für praktische Projekte.
Verwendung
Der Roboflow 100-Datensatz ist sowohl auf GitHub als auch auf Roboflow Universe verfügbar.
Sie können direkt über das Roboflow 100 GitHub-Repository darauf zugreifen. Außerdem haben Sie auf Roboflow Universe die Möglichkeit, einzelne Datensätze herunterzuladen, indem Sie einfach auf die Schaltfläche "Exportieren" innerhalb jedes Datensatzes klicken.
Beispieldaten und Anmerkungen
Roboflow 100 besteht aus Datensätzen mit verschiedenen Bildern und Videos, die aus unterschiedlichen Blickwinkeln und in verschiedenen Bereichen aufgenommen wurden. Hier ein Blick auf Beispiele für kommentierte Bilder im RF100-Benchmark.
Die oben dargestellte Vielfalt des Roboflow 100-Benchmarks ist ein bedeutender Fortschritt gegenüber herkömmlichen Benchmarks, die sich oft auf die Optimierung einer einzigen Metrik innerhalb eines begrenzten Bereichs konzentrieren. Dieser umfassende Ansatz hilft bei der Entwicklung robusterer und vielseitigerer Computer-Vision-Modelle, die in verschiedenen 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 folgende Papier:
Unser Dank gilt dem Team von Roboflow und allen Mitwirkenden für ihre harte Arbeit bei der Erstellung und Pflege des Roboflow 100 Datensatzes.
Wenn Sie an weiteren Datensätzen interessiert sind, um Ihre Projekte zur Objekterkennung und zum maschinellen Lernen zu verbessern, besuchen Sie unsere umfassende Datensatzsammlung.
FAQ
Was ist der Datensatz Roboflow 100, und warum ist er für die Objekterkennung von Bedeutung?
Der Roboflow 100-Datensatz, entwickelt von Roboflow entwickelt und von Intel gesponsert wurde, ist ein wichtiger Benchmark für die Objekterkennung. Er umfasst 100 verschiedene Datensätze aus über 90.000 öffentlichen Datensätzen, die Bereiche wie Gesundheitswesen, Luftaufnahmen und Videospiele abdecken. Diese Vielfalt stellt sicher, dass sich die Modelle an verschiedene reale Szenarien anpassen können, was ihre Robustheit und Leistung in unterschiedlichen Anwendungen und Umgebungen verbessert.
Wie kann ich den Datensatz Roboflow 100 für das Benchmarking meiner Objekterkennungsmodelle verwenden?
Um den Roboflow 100-Datensatz für das Benchmarking zu verwenden, können Sie die Klasse RF100Benchmark aus der Ultralytics implementieren. Hier ist ein kurzes Beispiel:
Benchmarking-Beispiel
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=yolo11n.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 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")
Welche Bereiche werden durch den Datensatz Roboflow 100 abgedeckt?
Der Roboflow 100-Datensatz umfasst sieben Bereiche, die jeweils einzigartige Herausforderungen und Anwendungen für Objekterkennungsmodelle bieten:
- 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
Dieser Aufbau ermöglicht ein umfangreiches und vielfältiges Testen von Modellen in verschiedenen realen Anwendungen und ist damit eine hervorragende Ressource für die Entwicklung vielseitiger Computer-Vision-Systeme.
Wie kann ich den Datensatz Roboflow 100 aufrufen und herunterladen?
Der Roboflow 100-Datensatz ist auf GitHub und Roboflow Universe verfügbar. Sie können den gesamten Datensatz von GitHub herunterladen oder einzelne Datensätze auf Roboflow Universe über die Schaltfläche "Export" auswählen. Diese Flexibilität ermöglicht es Ihnen, sich auf bestimmte Bereiche oder Anwendungsfälle zu konzentrieren, die für Ihre Forschung oder Anwendung am wichtigsten sind.
Was sollte ich angeben, wenn ich den Datensatz Roboflow 100 in meiner Forschung zitiere?
Wenn Sie den Datensatz Roboflow 100 in Ihrer Forschung verwenden, achten Sie darauf, ihn ordnungsgemäß zu zitieren. Hier ist die empfohlene Zitierweise:
Weitere Einzelheiten finden Sie in unserer umfassenden Datensatzsammlung oder in anderen Erkennungsdatensätzen, die über Ultralytics verfügbar sind.