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.
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:
- Valutare le prestazioni dei modelli di rilevamento degli oggetti in un contesto multidominio.
- Testare l'adattabilità e la robustezza dei modelli a scenari reali al di là dei comuni set di dati di riferimento come COCO o PASCAL VOC.
- Eseguire un benchmark delle capacità dei modelli di rilevamento degli oggetti su diversi insiemi di dati, comprese aree specializzate come l'assistenza sanitaria, le immagini aeree e i videogiochi.
- Confrontare le prestazioni del modello tra diverse architetture di reti neurali e tecniche di ottimizzazione.
- Identificare le sfide specifiche del dominio che possono richiedere suggerimenti specializzati per l'addestramento dei modelli o approcci di messa a punto come l'apprendimento per trasferimento.
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.
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:
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:
- Aereo: 7 insiemi di dati (ad esempio, immagini satellitari, vedute di droni).
- Videogiochi: 7 set di dati (ad esempio, oggetti di vari ambienti di gioco).
- Microscopico: 11 insiemi di dati (ad esempio, cellule, particelle).
- Sott'acqua: 5 set di dati (ad es. vita marina, oggetti sommersi).
- Documenti: 8 set di dati (ad esempio, regioni di testo, elementi di moduli).
- Elettromagnetico: 12 set di dati (ad esempio, firme radar, visualizzazioni di dati spettrali).
- 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:
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 .