Overslaan naar inhoud

Roboflow 100 Dataset

Roboflow 100, ontwikkeld door Roboflow en gesponsord door Intel, is een baanbrekende benchmark voor objectdetectie. De benchmark bevat 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

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

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 zie je 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.



Gemaakt op 2024-02-07, Bijgewerkt op 2024-04-29
Auteurs: RizwanMunawar (2), glenn-jocher (1), abirami-vina (1)

Reacties