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. Dieser Benchmark wurde entwickelt, um die AnpassungsfĂ€higkeit von Modellen an verschiedene Bereiche zu testen, darunter das Gesundheitswesen, Luftbilder und Videospiele.

Roboflow 100 Überblick

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.

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.

Beispieldaten und Anmerkungen

Die Vielfalt im Roboflow 100 Benchmark, die oben zu sehen ist, ist ein bedeutender Fortschritt gegenĂŒber herkömmlichen Benchmarks, die sich oft auf die Optimierung einer einzigen Metrik innerhalb eines begrenzten Bereichs konzentrieren.

Zitate und Danksagungen

Wenn Sie den Roboflow 100-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das folgende Papier:

@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 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, ist ein wichtiger Benchmark fĂŒr die Objekterkennung. Er umfasst 100 verschiedene DatensĂ€tze aus ĂŒber 90.000 öffentlichen DatensĂ€tzen, die Bereiche wie das Gesundheitswesen, Luftbilder und Videospiele abdecken. Diese Vielfalt stellt sicher, dass sich die Modelle an verschiedene reale Szenarien anpassen können, was ihre Robustheit und Leistung erhöht.

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 Bibliothek 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:

  1. Luftbild: 7 DatensÀtze, 9.683 Bilder, 24 Klassen
  2. Videospiele: 7 DatensÀtze, 11.579 Bilder, 88 Klassen
  3. Mikroskopisch: 11 DatensÀtze, 13.378 Bilder, 28 Klassen
  4. Unterwasser: 5 DatensÀtze, 18.003 Bilder, 39 Klassen
  5. Dokumente: 8 DatensÀtze, 24.813 Bilder, 90 Klassen
  6. Elektromagnetisch: 12 DatensÀtze, 36.381 Bilder, 41 Klassen
  7. Reale Welt: 50 DatensÀtze, 110.615 Bilder, 495 Klassen

Dieser Aufbau ermöglicht umfangreiche und vielfÀltige Tests von Modellen in verschiedenen realen Anwendungen.

Wie kann ich den Datensatz Roboflow 100 aufrufen und herunterladen?

Der Roboflow 100-Datensatz ist auf GitHub und Roboflow Universe zugĂ€nglich. Sie können den gesamten Datensatz von GitHub herunterladen oder einzelne DatensĂ€tze auf Roboflow Universe ĂŒber die SchaltflĂ€che "Export" auswĂ€hlen.

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:

@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},
}

Weitere Einzelheiten finden Sie in unserer umfassenden Datensatzsammlung.

📅 Erstellt vor 10 Monaten ✏ Aktualisiert vor 2 Monaten

Kommentare