Vai al contenuto

Roboflow 100 Set di dati

Roboflow 100, sponsorizzato da Intelè un innovativo set di dati di riferimento 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 è stato progettato specificamente per testare l'adattabilità dei modelli di computer vision, come i modelliYOLO Ultralytics , a vari domini, tra cui l'assistenza sanitaria, le immagini aeree e i videogiochi.

Licenze

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

  • LicenzaAGPL-3.0 : Questa licenza open-source approvata dall'OSI è ideale per studenti e appassionati, in quanto promuove la collaborazione aperta e la condivisione delle conoscenze. Per maggiori dettagli, consultare il file LICENZA e visitare la pagina della licenzaAGPL-3.0 .
  • Licenza Enterprise: Progettata per uso commerciale, questa licenza consente di integrare perfettamente il software e i modelli di intelligenza artificiale Ultralytics in prodotti e servizi commerciali. Se il vostro scenario prevede applicazioni commerciali, contattate Ultralytics Licensing.

Roboflow 100 Panoramica

Caratteristiche principali

  • Domini diversi: Include 100 insiemi di dati in sette domini distinti: Aereo, Videogiochi, Microscopico, Subacqueo, Documenti, Elettromagnetico e Mondo reale.
  • Scala: Il benchmark comprende 224.714 immagini in 805 classi, che rappresentano oltre 11.170 ore di lavoro di etichettatura dei dati.
  • Standardizzazione: Tutte le immagini sono state pre-elaborate e ridimensionate a 640x640 pixel per una valutazione coerente.
  • Valutazione pulita: Si concentra sull'eliminazione dell'ambiguità delle classi e filtra le classi sottorappresentate per garantire una valutazione più pulita del modello.
  • Annotazioni: Include caselle di delimitazione per gli oggetti, adatte all'addestramento e alla valutazione dei modelli di rilevamento degli oggetti utilizzando metriche come mAP.

Struttura del set di dati

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

  • Aereo: 7 set di dati, 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.
  • Subacqueo: 5 set di dati, 18.003 immagini, 39 classi.
  • Documenti: 8 set di dati, 24.813 immagini, 90 classi.
  • Elettromagnetico: 12 set di dati, 36.381 immagini, 41 classi.
  • Mondo reale: 50 set di dati, 110.615 immagini, 495 classi.

Questa struttura offre un terreno di prova vario ed esteso per i modelli di rilevamento degli oggetti, che riflette un'ampia gamma di scenari applicativi reali presenti in varie soluzioniUltralytics .

Benchmarking

Il benchmarking dei dataset prevede la valutazione delle prestazioni dei modelli di apprendimento automatico su dataset specifici utilizzando metriche standardizzate. Le metriche più comuni sono l'accuratezza, la precisione media (mAP) e il punteggio F1. Per saperne di più, consultare la nostra guida alle metriche delle prestazioniYOLO .

Risultati del benchmarking

I risultati del benchmarking con lo script fornito verranno memorizzati nella cartella ultralytics-benchmarks/ in particolare nella cartella evaluation.txt.

Esempio di benchmarking

Lo script seguente mostra come eseguire in modo programmatico il benchmark di un modelloYOLO di Ultralytics (ad esempio, YOLOv11n) su tutti i 100 set di dati del benchmark Roboflow 100, utilizzando il comando RF100Benchmark classe.

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 diverse applicazioni legate alla computer vision e al deep learning. Ricercatori e ingegneri possono sfruttare questo benchmark per:

Per ulteriori idee e ispirazioni sulle applicazioni reali, esplorate le nostre guide sui progetti pratici o consultate Ultralytics HUB per la formazione e l'implementazione semplificata dei modelli.

Utilizzo

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

Dati e annotazioni di esempio

Roboflow 100 è costituito da set di dati con immagini diverse acquisite da varie angolazioni e domini. Di seguito sono riportati alcuni 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 e annotazioni di esempio

La diversità riscontrata nel benchmark Roboflow 100 rappresenta un progresso significativo rispetto ai benchmark tradizionali, che spesso si concentrano sull'ottimizzazione di una singola metrica all'interno di un dominio limitato. Questo approccio globale 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 si utilizza il dataset Roboflow 100 nel proprio lavoro di ricerca o sviluppo, si prega di citare il documento 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}
}

Ringraziamo il team Roboflow e tutti i collaboratori per i loro sforzi significativi nel creare e mantenere il dataset Roboflow 100 come una risorsa preziosa per la comunità della computer vision.

Se siete interessati a esplorare altri set di dati per migliorare i vostri progetti di rilevamento degli oggetti e di apprendimento automatico, visitate la nostra collezione completa di set di dati, che include una varietà di altri set di dati di rilevamento.

FAQ

Che cos'è il dataset Roboflow 100 e perché è importante per il rilevamento degli oggetti?

Il dataset Roboflow 100 è un punto di riferimento per i modelli di rilevamento degli oggetti. Comprende 100 set di dati diversi provenienti da Roboflow Universe, che coprono domini come la sanità, le immagini aeree e i videogiochi. La sua importanza risiede nel fatto che fornisce un modo standardizzato per testare l'adattabilità e la robustezza dei modelli 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 set di dati Roboflow 100 abbraccia sette domini diversi, offrendo sfide uniche per i modelli di rilevamento degli oggetti:

  1. Aereo: 7 insiemi di dati (ad esempio, immagini satellitari, vedute di droni).
  2. Videogiochi: 7 set di dati (ad esempio, oggetti di vari ambienti di gioco).
  3. Microscopico: 11 insiemi di dati (ad esempio, cellule, particelle).
  4. Sott'acqua: 5 set di dati (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 esempio, firme radar, visualizzazioni di dati spettrali).
  7. Mondo reale: 50 set di dati (un'ampia categoria che comprende oggetti di uso quotidiano, scene, negozi, 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 documento 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, visitate la nostra collezione completa di set di dati o consultate altri set di dati di rilevamento compatibili con i modelli Ultralytics .

📅C reato 1 anno fa ✏️ Aggiornato 0 giorni fa

Commenti