Roboflow 100-Datensatz

Roboflow 100, unterstützt von Intel, ist ein bahnbrechender Benchmark-Datensatz für die Objekterkennung. Er umfasst 100 verschiedene Datensätze. Dieser Benchmark wurde speziell entwickelt, um die Anpassungsfähigkeit von Computer Vision-Modellen, wie den Ultralytics YOLO-Modellen, an verschiedene Bereiche zu testen, einschließlich Gesundheitswesen, Luftbildaufnahmen und Videospiele.

Lizenzierung

Ultralytics bietet zwei Lizenzoptionen an, um unterschiedlichen Anwendungsfällen gerecht zu werden:

  • AGPL-3.0-Lizenz: Diese OSI-zugelassene Open-Source-Lizenz ist ideal für Studenten und Enthusiasten, da sie die offene Zusammenarbeit und den Wissensaustausch fördert. Weitere Informationen findest du in der LICENSE-Datei sowie auf unserer AGPL-3.0-Lizenzseite.
  • Enterprise-Lizenz: Für Entwicklungs- und Produktionszwecke ermöglicht diese Lizenz die nahtlose Integration von Ultralytics-Software und KI-Modellen in Geschäftsprodukte und Dienstleistungen, einschließlich interner Tools, automatisierter Workflows und Produktionseinsätze, unter Umgehung der Open-Source-Anforderungen der AGPL-3.0. Um zu starten, kontaktiere uns bitte über Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Hauptfunktionen

  • Vielfältige Bereiche: Enthält 100 Datensätze aus sieben verschiedenen Bereichen: Luftbildaufnahmen, Videospiele, Mikroskopie, Unterwasser, Dokumente, elektromagnetische Spektren und reale Welt.
  • Skalierung: Der Benchmark umfasst 224.714 Bilder in 805 Klassen und repräsentiert über 11.170 Stunden Datenmarkierungsarbeit.
  • Standardisierung: Alle Bilder sind vorverarbeitet und für eine konsistente Evaluierung auf 640x640 Pixel skaliert.
  • Saubere Evaluierung: Konzentriert sich auf die Eliminierung von Klassenmehrdeutigkeiten und filtert unterrepräsentierte Klassen heraus, um eine saubere Modellevaluierung zu gewährleisten.
  • Annotationen: Enthält Begrenzungsrahmen für Objekte, die für das Training und die Evaluierung von Objekterkennungsmodellen mithilfe von Metriken wie mAP geeignet sind.

Datensatzstruktur

Der Roboflow 100-Datensatz ist in sieben Kategorien unterteilt, von denen jede eine einzigartige Sammlung von Datensätzen, Bildern und Klassen enthält:

  • Luftbildaufnahmen: 7 Datensätze, 9.683 Bilder, 24 Klassen.
  • Videospiele: 7 Datensätze, 11.579 Bilder, 88 Klassen.
  • Mikroskopie: 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.

Diese Struktur bietet eine vielfältige und umfangreiche Testumgebung für Objekterkennungs-Modelle, die eine breite Palette an realen Anwendungsszenarien in verschiedenen Ultralytics Solutions widerspiegelt.

Benchmarking

Das Benchmarking von Datensätzen umfasst die Bewertung der Leistung von Machine Learning-Modellen auf bestimmten Datensätzen mithilfe standardisierter Metriken. Zu den gängigen Metriken gehören Genauigkeit, mean Average Precision (mAP) und F1-Score. Mehr darüber erfährst du in unserem YOLO-Leistungsmetrik-Leitfaden.

Benchmarking-Ergebnisse

Benchmarking-Ergebnisse, die mit dem bereitgestellten Skript erzielt werden, werden im Verzeichnis ultralytics-benchmarks/ gespeichert, spezifisch in der Datei evaluation.txt.

Benchmarking-Beispiel

Das folgende Skript zeigt, wie man ein Ultralytics YOLO-Modell (z. B. YOLO26n) programmatisch auf allen 100 Datensätzen innerhalb des Roboflow 100-Benchmarks mithilfe der Klasse RF100Benchmark benchmarkt.

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=yolo26s.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 Bereich Computer Vision und Deep Learning. Forscher und Ingenieure können diesen Benchmark nutzen, um:

  • Die Leistung von Objekterkennungsmodellen in einem bereichsübergreifenden Kontext zu evaluieren.
  • Die Anpassungsfähigkeit und Robustheit von Modellen an reale Szenarien zu testen, die über gängige Benchmark-Datensätze wie COCO oder PASCAL VOC hinausgehen.
  • Die Fähigkeiten von Objekterkennungsmodellen über diverse Datensätze hinweg zu benchmarken, einschließlich spezialisierter Bereiche wie Gesundheitswesen, Luftbildaufnahmen und Videospiele.
  • Die Modellleistung über verschiedene neuronale Netzwerk-Architekturen und Optimierungs-Techniken hinweg zu vergleichen.
  • Bereichsspezifische Herausforderungen zu identifizieren, die möglicherweise spezielle Modelltraining-Tipps oder Fine-Tuning-Ansätze wie Transfer Learning erfordern.

Für weitere Ideen und Inspirationen zu realen Anwendungen erkunde unsere Leitfäden zu praktischen Projekten oder besuche die Ultralytics-Plattform für optimiertes Modelltraining und Deployment.

Verwendung

Der Roboflow 100-Datensatz, einschließlich Metadaten und Download-Links, ist im offiziellen Roboflow 100 GitHub-Repository verfügbar. Du kannst direkt von dort auf den Datensatz zugreifen und ihn für deine Benchmarking-Anforderungen nutzen. Das Dienstprogramm RF100Benchmark von Ultralytics vereinfacht den Prozess des Herunterladens und Vorbereitens dieser Datensätze für die Verwendung mit Ultralytics-Modellen.

Beispieldaten und Annotationen

Roboflow 100 besteht aus Datensätzen mit vielfältigen Bildern, die aus verschiedenen Blickwinkeln und Bereichen aufgenommen wurden. Nachfolgend sind Beispiele für annotierte Bilder aus dem RF100-Benchmark aufgeführt, die die Vielfalt der Objekte und Szenen zeigen. Techniken wie Datenaugmentation können die Vielfalt während des Trainings weiter erhöhen.

Roboflow 100 sample images with annotations

Die Vielfalt des Roboflow 100-Benchmarks stellt einen bedeutenden Fortschritt gegenüber traditionellen Benchmarks dar, die sich oft auf die Optimierung einer einzelnen Metrik innerhalb eines begrenzten Bereichs konzentrieren. Dieser umfassende Ansatz hilft bei der Entwicklung robusterer und vielseitigerer Computer Vision-Modelle, die in einer Vielzahl unterschiedlicher Szenarien gute Leistungen erbringen können.

Zitate und Danksagungen

Wenn du den Roboflow 100-Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, zitiere bitte das Originalpapier:

Zitat
@misc{rf100benchmark,
    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},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

Wir danken dem Roboflow-Team und allen Mitwirkenden für ihren bedeutenden Einsatz bei der Erstellung und Pflege des Roboflow 100-Datensatzes als wertvolle Ressource für die Computer-Vision-Community.

Wenn du daran interessiert bist, weitere Datensätze zu erkunden, um deine Projekte im Bereich Objekterkennung und Machine Learning zu verbessern, besuche gerne unsere umfassende Datensatz-Sammlung, die eine Vielzahl weiterer Erkennungsdatensätze enthält.

FAQ

Was ist der Roboflow 100-Datensatz und warum ist er für die Objekterkennung wichtig?

Der Roboflow 100-Datensatz ist ein Benchmark für Objekterkennungs-Modelle. Er umfasst 100 verschiedene Datensätze, die Bereiche wie das Gesundheitswesen, Luftbildaufnahmen und Videospiele abdecken. Seine Bedeutung liegt in der Bereitstellung einer standardisierten Methode zum Testen der Modellanpassungsfähigkeit und -robustheit über eine breite Palette realer Szenarien hinweg, was über traditionelle, oft bereichsbeschränkte Benchmarks hinausgeht.

Welche Bereiche werden durch den Roboflow 100-Datensatz abgedeckt?

Der Roboflow 100-Datensatz umfasst sieben verschiedene Bereiche und bietet einzigartige Herausforderungen für Objekterkennungs-Modelle:

  1. Luftbildaufnahmen: 7 Datensätze (z. B. Satellitenbilder, Drohnenansichten).
  2. Videospiele: 7 Datensätze (z. B. Objekte aus verschiedenen Spielumgebungen).
  3. Mikroskopie: 11 Datensätze (z. B. Zellen, Partikel).
  4. Unterwasser: 5 Datensätze (z. B. Meereslebewesen, untergetauchte Objekte).
  5. Dokumente: 8 Datensätze (z. B. Textregionen, Formularelemente).
  6. Elektromagnetisch: 12 Datensätze (z. B. Radarsignaturen, Visualisierungen von Spektraldaten).
  7. Reale Welt: 50 Datensätze (eine breite Kategorie einschließlich alltäglicher Objekte, Szenen, Einzelhandel usw.).

Diese Vielfalt macht RF100 zu einer exzellenten Ressource zur Bewertung der Generalisierbarkeit von Computer-Vision-Modellen.

Was sollte ich beim Zitieren des Roboflow 100-Datensatzes in meiner Forschung angeben?

Wenn du den Roboflow 100-Datensatz verwendest, zitiere bitte das Originalpapier, um den Erstellern die entsprechende Anerkennung zu zollen. Hier ist das empfohlene BibTeX-Zitat:

Zitat
@misc{rf100benchmark,
    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},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

Für weitere Informationen besuche unsere umfassende Datensatz-Sammlung oder durchstöbere andere Erkennungsdatensätze, die mit Ultralytics-Modellen kompatibel sind.

Kommentare