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. Mit diesem Benchmark soll die AnpassungsfĂ€higkeit von Modellen in verschiedenen Bereichen wie dem Gesundheitswesen, Luftbildern und Videospielen getestet werden.
Hauptmerkmale
- 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 darauf geachtet wird, dass keine Mehrdeutigkeit der Klassen entsteht und unterreprÀsentierte Klassen herausgefiltert werden.
- Die Annotationen enthalten Bounding Boxes fĂŒr Objekte und eignen sich daher zum Trainieren und Bewerten von Objekterkennungsmodellen.
Struktur des Datensatzes
Der Roboflow 100-Datensatz ist in sieben Kategorien unterteilt, jede mit einem eigenen Satz von DatensÀtzen, Bildern und Klassen:
- Luftbilder: 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 Modelle zur Objekterkennung, das reale Anwendungsszenarien widerspiegelt.
Benchmarking
Beim Datensatz-Benchmarking wird die Leistung von Machine-Learning-Modellen auf bestimmten DatensÀtzen anhand von standardisierten Kennzahlen wie Genauigkeit, durchschnittlicher PrÀzision und F1-Score bewertet.
Benchmarking
Die Benchmarking-Ergebnisse werden in "ultralytics-benchmarks/evaluation.txt" gespeichert.
Benchmarking Beispiel
from pathlib import Path
import shutil
import os
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=yolov8s.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 in den Bereichen Computer Vision und Deep Learning. Forscher und Ingenieure können diesen Benchmark nutzen, um:
- Evaluiere die Leistung von Objekterkennungsmodellen in einem Multi-Domain-Kontext.
- Teste die AnpassungsfĂ€higkeit der Modelle an reale Szenarien, die ĂŒber die normale Objekterkennung hinausgehen.
- Vergleiche die FÀhigkeiten von Objekterkennungsmodellen mit verschiedenen DatensÀtzen, z. B. aus dem Gesundheitswesen, Luftbildern und Videospielen.
Weitere Ideen und Inspirationen fĂŒr praktische Anwendungen findest du in unseren LeitfĂ€den fĂŒr praktische Projekte.
Verwendung
Der Roboflow 100 Datensatz ist sowohl auf GitHub als auch auf Roboflow Universe verfĂŒgbar.
Du kannst direkt ĂŒber das Roboflow 100 GitHub Repository darauf zugreifen. AuĂerdem hast du auf Roboflow Universe die Möglichkeit, einzelne DatensĂ€tze herunterzuladen, indem du einfach auf den Export-Button in jedem Datensatz klickst.
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 Vielfalt im Roboflow 100 Benchmark, die oben zu sehen ist, ist ein bedeutender Fortschritt gegenĂŒber den traditionellen Benchmarks, die sich oft auf die Optimierung einer einzigen Metrik innerhalb eines begrenzten Bereichs konzentrieren.
Zitate und Danksagungen
Wenn du den Roboflow 100-Datensatz in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte das folgende Dokument:
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 du an weiteren DatensÀtzen interessiert bist, um deine Projekte zur Objekterkennung und zum maschinellen Lernen zu verbessern, kannst du unsere umfangreiche Datensatzsammlung besuchen.
Erstellt am 2024-02-07, Aktualisiert am 2024-04-29
Autoren: RizwanMunawar (2), glenn-jocher (1), abirami-vina (1)