Vai al contenuto

Roboflow 100 Set di dati

Roboflow 100, sviluppato da Roboflow e sponsorizzato da Intel, è un benchmark innovativo per il rilevamento degli oggetti. Include 100 diversi set di dati campionati da oltre 90.000 set di dati pubblici. Questo benchmark è stato progettato per testare l'adattabilità dei modelli a vari domini, tra cui l'assistenza sanitaria, le immagini aeree e i videogiochi.

Roboflow 100 Panoramica

Caratteristiche principali

  • Include 100 set di dati in sette domini: Aereo, Videogiochi, Microscopico, Subacqueo, Documenti, Elettromagnetico e Mondo reale.
  • Il benchmark comprende 224.714 immagini in 805 classi, grazie a oltre 11.170 ore di lavoro di etichettatura.
  • Tutte le immagini sono state ridimensionate a 640x640 pixel, con l'obiettivo di eliminare l'ambiguità della classe e filtrare le classi sottorappresentate.
  • Le annotazioni includono i riquadri di delimitazione degli oggetti, rendendolo adatto all'addestramento e alla valutazione dei modelli di rilevamento degli oggetti.

Struttura del set di dati

Il dataset Roboflow 100 è organizzato in sette categorie, ognuna con un insieme distinto di dataset, immagini e classi:

  • Aerial: Si tratta di 7 set di dati con un totale di 9.683 immagini, che coprono 24 classi distinte.
  • Videogiochi: Include 7 set di dati, con 11.579 immagini suddivise in 88 classi.
  • Microscopico: Comprende 11 set di dati con 13.378 immagini, suddivise in 28 classi.
  • Subacqueo: Contiene 5 set di dati che comprendono 18.003 immagini in 39 classi.
  • Documenti: Si tratta di 8 set di dati con 24.813 immagini, suddivise in 90 classi.
  • Elettromagnetico: Composto da 12 set di dati, per un totale di 36.381 immagini in 41 classi.
  • Mondo reale: La categoria più grande con 50 set di dati che offrono 110.615 immagini in 495 classi.

Questa struttura permette di testare i modelli di rilevamento degli oggetti in modo ampio e diversificato, riflettendo gli scenari applicativi del mondo reale.

Benchmarking

Il benchmarking dei dataset valuta le prestazioni dei modelli di apprendimento automatico su dataset specifici utilizzando metriche standardizzate come l'accuratezza, la precisione media e il punteggio F1.

Benchmarking

I risultati dei benchmark saranno memorizzati in "ultralytics-benchmarks/evaluation.txt".

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

Applicazioni

Roboflow 100 è prezioso per diverse applicazioni legate alla computer vision e al deep learning. Ricercatori e ingegneri possono utilizzare questo benchmark per:

  • Valutare le prestazioni dei modelli di rilevamento degli oggetti in un contesto multidominio.
  • Testare l'adattabilità dei modelli a scenari reali che vanno oltre il comune riconoscimento di oggetti.
  • Eseguire un benchmark delle capacità dei modelli di rilevamento degli oggetti su diversi set di dati, tra cui quelli relativi all'assistenza sanitaria, alle immagini aeree e ai videogiochi.

Per ulteriori idee e ispirazioni sulle applicazioni reali, non dimenticare di dare un'occhiata alle nostre guide sui progetti reali.

Utilizzo

Il dataset Roboflow 100 è disponibile sia su GitHub che su Roboflow Universe.

Puoi accedervi direttamente dal repository Roboflow 100 di GitHub. Inoltre, su Roboflow Universe, hai la possibilità di scaricare i singoli set di dati semplicemente cliccando sul pulsante di esportazione all'interno di ogni set di dati.

Dati di esempio e annotazioni

Roboflow 100 è composto da set di dati con immagini e video diversi catturati da varie angolazioni e domini. Ecco alcuni esempi di immagini annotate nel benchmark RF100.

Dati di esempio e annotazioni

La diversità del benchmark Roboflow che si può vedere qui sopra è un progresso significativo rispetto ai benchmark tradizionali che spesso si concentrano sull'ottimizzazione di una singola metrica all'interno di un dominio limitato.

Citazioni e ringraziamenti

Se utilizzi il dataset Roboflow 100 nel tuo lavoro di ricerca o sviluppo, cita il seguente documento:

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

I nostri ringraziamenti vanno al team di Roboflow e a tutti i collaboratori per il duro lavoro svolto nella creazione e nel mantenimento del dataset Roboflow 100.

Se sei interessato a esplorare altri set di dati per migliorare i tuoi progetti di rilevamento di oggetti e di apprendimento automatico, non esitare a visitare la nostra collezione completa di set di dati.



Creato 2024-02-07, Aggiornato 2024-04-29
Autori: RizwanMunawar (2), glenn-jocher (1), abirami-vina (1)

Commenti