Vai al contenuto

Dataset Roboflow 100

Roboflow 100, sponsorizzato da Intel, è un rivoluzionario set di dati di benchmark per il rilevamento di oggetti. Include 100 diversi set di dati campionati da oltre 90.000 set di dati pubblici disponibili su Roboflow Universe. Questo benchmark è specificamente progettato per testare l'adattabilità dei modelli di computer vision, come i modelli YOLO Ultralytics, a vari domini, tra cui l'assistenza sanitaria, l'immaginario aereo e i videogiochi.

Licenze

Ultralytics offre due opzioni di licenza per soddisfare diversi casi d'uso:

  • Licenza AGPL-3.0: Questa licenza open source approvata da OSI è ideale per studenti e appassionati, promuovendo la collaborazione aperta e la condivisione della conoscenza. Consultare il file LICENSE per maggiori dettagli e visitare la nostra pagina della licenza AGPL-3.0.
  • Licenza Enterprise: Progettata per uso commerciale, questa licenza consente la perfetta integrazione del software Ultralytics e dei modelli di intelligenza artificiale in prodotti e servizi commerciali. Se il tuo scenario prevede applicazioni commerciali, ti preghiamo di contattarci tramite Licenze Ultralytics.

Panoramica di Roboflow 100

Caratteristiche principali

  • Domini Diversi: Include 100 set di dati in sette domini distinti: Aereo, Videogiochi, Microscopico, Sottomarino, Documenti, Elettromagnetico e Mondo Reale.
  • Scala: Il benchmark comprende 224.714 immagini in 805 classi, che rappresentano oltre 11.170 ore di impegno nella etichettatura dei dati.
  • Standardizzazione: Tutte le immagini vengono pre-elaborate e ridimensionate a 640x640 pixel per una valutazione coerente.
  • Valutazione pulita: Si concentra sull'eliminazione dell'ambiguità di classe e filtra le classi sottorappresentate per garantire una valutazione del modello più pulita.
  • Annotazioni: Include bounding box per gli oggetti, adatte per l'addestramento e la valutazione di modelli di rilevamento oggetti utilizzando metriche come la mAP.

Struttura del set di dati

Il dataset Roboflow 100 è organizzato in sette categorie, ognuna contenente una raccolta unica di dataset, immagini e classi:

  • Aereo: 7 dataset, 9.683 immagini, 24 classi.
  • Videogiochi: 7 set di dati, 11.579 immagini, 88 classi.
  • Microscopico: 11 set di dati, 13.378 immagini, 28 classi.
  • Sottomarino: 5 dataset, 18.003 immagini, 39 classi.
  • Documenti: 8 set di dati, 24.813 immagini, 90 classi.
  • Elettromagnetico: 12 dataset, 36.381 immagini, 41 classi.
  • Mondo Reale: 50 dataset, 110.615 immagini, 495 classi.

Questa struttura fornisce un banco di prova diversificato ed esteso per i modelli di object detection, rispecchiando un'ampia gamma di scenari applicativi reali presenti in varie Soluzioni Ultralytics.

Benchmarking

Il benchmarking del dataset implica la valutazione delle prestazioni dei modelli di machine learning su dataset specifici utilizzando metriche standardizzate. Le metriche comuni includono accuratezza, precisione media media (mAP) e Punteggio F1. Puoi saperne di più su questi nella nostra guida alle metriche delle prestazioni di YOLO.

Risultati del Benchmarking

I risultati del benchmarking utilizzando lo script fornito verranno memorizzati in ultralytics-benchmarks/ directory, nello specifico in evaluation.txt.

Esempio di Benchmarking

Lo script seguente dimostra come valutare programmaticamente un modello Ultralytics YOLO (ad esempio, YOLOv11n) su tutti i 100 set di dati all'interno del benchmark Roboflow 100 utilizzando il RF100Benchmark class.

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

Applicazioni

Roboflow 100 è prezioso per varie applicazioni relative alla computer vision e al deep learning. Ricercatori e ingegneri possono sfruttare questo benchmark per:

Per ulteriori idee e spunti su applicazioni reali, esplora le nostre guide sui progetti pratici o dai un'occhiata a Ultralytics HUB per uno training del modello e un deployment semplificati.

Utilizzo

Il dataset Roboflow 100, inclusi i metadati e i link per il download, è disponibile sul sito ufficiale Repository GitHub di Roboflow 100. Puoi accedere e utilizzare il dataset direttamente da lì per le tue esigenze di benchmarking. L' RF100Benchmark utility semplifica il processo di download e preparazione di questi set di dati per l'uso con i modelli Ultralytics.

Dati di esempio e annotazioni

Roboflow 100 è costituito da set di dati con immagini diverse catturate da varie angolazioni e domini. Di seguito sono riportati esempi di immagini annotate incluse nel benchmark RF100, che mostrano la varietà di oggetti e scene. Tecniche come l'aumento dei dati possono migliorare ulteriormente la diversità durante l'addestramento.

Dati di esempio e annotazioni

La diversità riscontrata nel benchmark Roboflow 100 rappresenta un significativo passo avanti rispetto ai benchmark tradizionali, che spesso si concentrano sull'ottimizzazione di una singola metrica all'interno di un dominio limitato. Questo approccio completo aiuta a sviluppare modelli di computer vision più robusti e versatili, in grado di funzionare bene in una moltitudine di scenari diversi.

Citazioni e ringraziamenti

Se utilizzi il dataset Roboflow 100 nel tuo lavoro di ricerca o sviluppo, cita l'articolo originale:

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

Estendiamo la nostra gratitudine al team di Roboflow e a tutti i collaboratori per il loro significativo impegno nella creazione e manutenzione del dataset Roboflow 100 come risorsa preziosa per la comunità della computer vision.

Se sei interessato a esplorare altri dataset per migliorare i tuoi progetti di object detection e machine learning, visita la nostra raccolta completa di dataset, che include una varietà di altri dataset di detection.

FAQ

Cos'è il dataset Roboflow 100 e perché è significativo per il rilevamento di oggetti?

Il dataset Roboflow 100 è un benchmark per i modelli di object detection. Comprende 100 diversi dataset provenienti da Roboflow Universe, che coprono domini come l'assistenza sanitaria, l'immaginario aereo e i videogiochi. La sua importanza risiede nel fornire un modo standardizzato per testare l'adattabilità e la robustezza del modello in un'ampia gamma di scenari del mondo reale, andando oltre i benchmark tradizionali, spesso limitati al dominio.

Quali domini sono coperti dal dataset Roboflow 100?

Il dataset Roboflow 100 copre sette diversi domini, offrendo sfide uniche per i modelli di object detection:

  1. Aereo: 7 dataset (es. immagini satellitari, viste da drone).
  2. Videogiochi: 7 set di dati (ad esempio, oggetti provenienti da vari ambienti di gioco).
  3. Microscopico: 11 set di dati (ad es. cellule, particelle).
  4. Sottomarino: 5 dataset (ad es. vita marina, oggetti sommersi).
  5. Documenti: 8 set di dati (ad esempio, regioni di testo, elementi di moduli).
  6. Elettromagnetico: 12 set di dati (ad es. firme radar, visualizzazioni di dati spettrali).
  7. Mondo Reale: 50 dataset (un'ampia categoria che include oggetti di uso quotidiano, scene, vendita al dettaglio, ecc.).

Questa varietà rende RF100 una risorsa eccellente per valutare la generalizzabilità dei modelli di computer vision.

Cosa devo includere quando cito il dataset Roboflow 100 nella mia ricerca?

Quando si utilizza il dataset Roboflow 100, si prega di citare il paper originale per dare credito ai creatori. Ecco la citazione BibTeX consigliata:

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

Per un'ulteriore esplorazione, valuta la possibilità di visitare la nostra raccolta completa di set di dati o di sfogliare altri set di dati di rilevamento compatibili con i modelli Ultralytics.



📅 Creato 1 anno fa ✏️ Aggiornato 5 mesi fa

Commenti