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.
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 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:
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:
- 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 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:
Weitere Einzelheiten finden Sie in unserer umfassenden Datensatzsammlung.