Roboflow 100 Set di dati
Roboflow 100, sviluppato da Roboflow e sponsorizzato da Intel, è un benchmark innovativo per il rilevamento degli oggetti. Include 100 insiemi di dati diversi campionati da oltre 90.000 insiemi 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.
Caratteristiche principali
- Include 100 insiemi 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à delle classi e filtrare le classi sottorappresentate.
- Le annotazioni includono i riquadri di delimitazione degli oggetti, rendendoli adatti 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:
- Aereo: Consiste in 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 di 88 classi.
- Microscopico: Comprende 11 set di dati con 13.378 immagini, che coprono 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 consente 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
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 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 insiemi di dati, tra cui quelli della sanità, delle immagini aeree e dei videogiochi.
Per ulteriori idee e ispirazioni sulle applicazioni reali, consultate le nostre guide sui progetti reali.
Utilizzo
Il dataset Roboflow 100 è disponibile sia su GitHub che su Roboflow Universe.
È possibile accedervi direttamente dal repository GitHub di Roboflow 100. Inoltre, su Roboflow Universe, è possibile scaricare i singoli set di dati semplicemente facendo clic sul pulsante di esportazione all'interno di ciascun set di dati.
Dati e annotazioni di esempio
Roboflow 100 è costituito da set di dati con immagini e video diversi catturati da varie angolazioni e domini. Ecco alcuni esempi di immagini annotate nel benchmark RF100.
La diversità del benchmark Roboflow , come si può vedere 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 utilizzate il dataset Roboflow 100 nel vostro lavoro di ricerca o sviluppo, siete pregati di citare il seguente documento:
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 siete interessati a esplorare altri set di dati per migliorare i vostri progetti di rilevamento di oggetti e di apprendimento automatico, visitate la nostra collezione completa di set di dati.
FAQ
Che cos'è il dataset Roboflow 100 e perché è importante per il rilevamento degli oggetti?
Il dataset Roboflow 100, sviluppato da Roboflow e sponsorizzato da Intel, è un benchmark cruciale per il rilevamento degli oggetti. Presenta 100 insiemi di dati diversi da oltre 90.000 insiemi di dati pubblici, che coprono domini come la sanità, le immagini aeree e i videogiochi. Questa diversità garantisce che i modelli possano adattarsi ai vari scenari del mondo reale, migliorando la loro robustezza e le loro prestazioni.
Come posso utilizzare il dataset Roboflow 100 per il benchmarking dei miei modelli di rilevamento degli oggetti?
Per utilizzare il dataset Roboflow 100 per il benchmarking, è possibile implementare la classe RF100Benchmark dalla libreria Ultralytics . Ecco un breve esempio:
Esempio di benchmarking
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=yolo11n.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 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")
Quali domini sono coperti dal dataset Roboflow 100?
Il set di dati Roboflow 100 abbraccia sette domini, ognuno dei quali offre sfide e applicazioni uniche per i modelli di rilevamento degli oggetti:
- 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 dataset, 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 configurazione consente di testare in modo esteso e vario i modelli in diverse applicazioni del mondo reale.
Come si accede e si scarica il dataset Roboflow 100?
Il dataset Roboflow 100 è accessibile su GitHub e Roboflow Universe. È possibile scaricare l'intero set di dati da GitHub o selezionare singoli set di dati su Roboflow Universe utilizzando il pulsante di esportazione.
Cosa devo includere quando cito il dataset Roboflow 100 nella mia ricerca?
Quando utilizzate il dataset Roboflow 100 nella vostra ricerca, assicuratevi di citarlo correttamente. Ecco la citazione consigliata:
Per maggiori dettagli, è possibile consultare la nostra raccolta completa di dati.