Overslaan naar inhoud

Roboflow 100 Dataset

Roboflow 100, ontwikkeld door Roboflow en gesponsord door Intel, is een baanbrekende benchmark voor objectdetectie. Het omvat 100 verschillende datasets uit meer dan 90.000 openbare datasets. Deze benchmark is ontworpen om de aanpasbaarheid van modellen aan verschillende domeinen te testen, waaronder gezondheidszorg, luchtfoto's en videogames.

Roboflow 100 Overzicht

Belangrijkste kenmerken

  • Bevat 100 datasets in zeven domeinen: Lucht, Videospellen, Microscopisch, Onderwater, Documenten, Elektromagnetisch en Echte wereld.
  • De benchmark bestaat uit 224.714 afbeeldingen in 805 klassen, dankzij meer dan 11.170 uur labelen.
  • Alle afbeeldingen zijn verkleind naar 640x640 pixels, met de nadruk op het elimineren van ambiguĆÆteit in klassen en het uitfilteren van ondervertegenwoordigde klassen.
  • Annotaties bevatten bounding boxes voor objecten, waardoor het geschikt is voor het trainen en evalueren van objectdetectiemodellen.

Structuur dataset

De Roboflow 100 dataset is onderverdeeld in zeven categorieƫn, elk met een eigen set datasets, afbeeldingen en klassen:

  • Luchtfoto's: Bestaat uit 7 datasets met in totaal 9.683 beelden, die 24 verschillende klassen dekken.
  • Videogames: Bevat 7 datasets met 11.579 afbeeldingen in 88 klassen.
  • Microscopisch: Bestaat uit 11 datasets met 13.378 afbeeldingen, verspreid over 28 klassen.
  • Onder water: Bevat 5 datasets met 18.003 beelden in 39 klassen.
  • Documenten: Bestaat uit 8 datasets met 24.813 afbeeldingen, verdeeld in 90 klassen.
  • Elektromagnetisch: Bestaat uit 12 datasets met in totaal 36.381 afbeeldingen in 41 klassen.
  • Echte wereld: De grootste categorie met 50 datasets, met 110.615 afbeeldingen in 495 klassen.

Deze structuur maakt een gevarieerde en uitgebreide testomgeving voor objectdetectiemodellen mogelijk, die realistische toepassingsscenario's weerspiegelt.

Benchmarking

Datasetbenchmarking evalueert de prestaties van machine-learningmodellen op specifieke datasets met behulp van gestandaardiseerde meetmethoden zoals nauwkeurigheid, gemiddelde gemiddelde precisie en F1-score.

Benchmarking

De benchmarkresultaten worden opgeslagen in "ultralytics-benchmarks/evaluation.txt".

Voorbeeld benchmarking

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=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!")

Toepassingen

Roboflow 100 is van onschatbare waarde voor verschillende toepassingen met betrekking tot computer vision en deep learning. Onderzoekers en ingenieurs kunnen deze benchmark gebruiken om:

  • Evalueer de prestaties van objectdetectiemodellen in een context met meerdere domeinen.
  • Test de aanpasbaarheid van modellen aan scenario's in de echte wereld die verder gaan dan gewone objectherkenning.
  • Benchmark de mogelijkheden van objectdetectiemodellen in diverse datasets, waaronder die in de gezondheidszorg, luchtfoto's en videogames.

Bekijk voor meer ideeƫn en inspiratie over toepassingen in de echte wereld zeker onze gidsen over projecten in de echte wereld.

Gebruik

De Roboflow 100 dataset is beschikbaar op GitHub en Roboflow Universe.

Je hebt er direct toegang toe vanuit de Roboflow 100 GitHub repository. Daarnaast heb je op Roboflow Universe de flexibiliteit om individuele datasets te downloaden door simpelweg op de exportknop binnen elke dataset te klikken.

Voorbeeldgegevens en annotaties

Roboflow 100 bestaat uit datasets met diverse afbeeldingen en video's die vanuit verschillende hoeken en domeinen zijn vastgelegd. Hier volgt een overzicht van voorbeelden van geannoteerde afbeeldingen in de RF100-benchmark.

Voorbeeldgegevens en annotaties

De diversiteit in de Roboflow 100 benchmark die hierboven te zien is, is een aanzienlijke vooruitgang ten opzichte van traditionele benchmarks die zich vaak richten op het optimaliseren van een enkele metriek binnen een beperkt domein.

Citaten en erkenningen

Als je de Roboflow 100 dataset gebruikt in je onderzoek of ontwikkeling, citeer dan het volgende artikel:

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

Onze dank gaat uit naar het Roboflow team en alle bijdragers voor hun harde werk bij het maken en onderhouden van de Roboflow 100 dataset.

Als je meer datasets wilt onderzoeken om je projecten voor objectdetectie en machinaal leren te verbeteren, bezoek dan onze uitgebreide collectie datasets.

FAQ

Wat is de Roboflow 100 dataset en waarom is deze belangrijk voor objectdetectie?

De Roboflow 100 dataset, ontwikkeld door Roboflow en gesponsord door Intel, is een cruciale benchmark voor objectdetectie. Het bevat 100 verschillende datasets uit meer dan 90.000 openbare datasets, die domeinen bestrijken zoals gezondheidszorg, luchtfoto's en videogames. Deze diversiteit zorgt ervoor dat modellen zich kunnen aanpassen aan verschillende scenario's in de echte wereld, waardoor hun robuustheid en prestaties verbeteren.

Hoe kan ik de Roboflow 100 dataset gebruiken voor het benchmarken van mijn objectdetectiemodellen?

Om de Roboflow 100 dataset te gebruiken voor benchmarking, kun je de klasse RF100Benchmark uit de bibliotheek Ultralytics implementeren. Hier is een kort voorbeeld:

Voorbeeld benchmarking

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=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 'runs' directory
        runs_dir = Path.cwd() / "runs"
        shutil.rmtree(runs_dir)
    else:
        print("YAML file path does not exist")
        continue

print("RF100 Benchmarking completed!")

Welke domeinen worden gedekt door de Roboflow 100 dataset?

De Roboflow 100 dataset omvat zeven domeinen, die elk unieke uitdagingen en toepassingen bieden voor objectdetectiemodellen:

  1. Luchtfoto's: 7 datasets, 9.683 beelden, 24 klassen
  2. Videogames: 7 datasets, 11.579 afbeeldingen, 88 klassen
  3. Microscopisch: 11 datasets, 13.378 afbeeldingen, 28 klassen
  4. Onder water: 5 datasets, 18.003 beelden, 39 klassen
  5. Documenten: 8 datasets, 24.813 afbeeldingen, 90 klassen
  6. Elektromagnetisch: 12 datasets, 36.381 afbeeldingen, 41 klassen
  7. Echte wereld: 50 datasets, 110.615 afbeeldingen, 495 klassen

Deze opzet maakt het mogelijk om modellen uitgebreid en gevarieerd te testen op verschillende toepassingen in de echte wereld.

Hoe krijg ik toegang tot de Roboflow 100 dataset en hoe kan ik deze downloaden?

De Roboflow 100 dataset is toegankelijk op GitHub en Roboflow Universe. Je kunt de hele dataset downloaden van GitHub of afzonderlijke datasets selecteren op Roboflow Universe met de knop exporteren.

Wat moet ik vermelden bij het citeren van de Roboflow 100 dataset in mijn onderzoek?

Als je de Roboflow 100 dataset gebruikt in je onderzoek, zorg er dan voor dat je deze correct citeert. Hier is de aanbevolen citatie:

Citaat

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

Voor meer details kun je onze uitgebreide verzameling datasets raadplegen.



Aangemaakt 2024-02-07, Bijgewerkt 2024-07-04
Auteurs: glenn-jocher (5), RizwanMunawar (2), abirami-vina (1)

Reacties