Zum Inhalt springen

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.

Roboflow 100 Überblick

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.

Beispieldaten und Anmerkungen

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:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

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)

Kommentare