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.
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
Dataset benchmarking evaluates machine learning model performance on specific datasets using standardized metrics like accuracy, mean average precision and F1-score.
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 is invaluable for various applications related to computer vision and deep learning. Researchers and engineers can use this benchmark to:
- 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 è costituito da set di dati con diverse immagini e video catturati da varie angolazioni e domini. Ecco uno sguardo agli esempi di immagini annotate nel benchmark RF100.
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:
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.
If you are interested in exploring more datasets to enhance your object detection and machine learning projects, feel free to visit our comprehensive dataset collection.
DOMANDE FREQUENTI
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 set di dati diversi, provenienti da oltre 90.000 set di dati pubblici, che coprono settori come l'assistenza sanitaria, 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 fare un benchmarking dei miei modelli di rilevamento degli oggetti?
Per utilizzare il dataset Roboflow 100 per il benchmarking, puoi 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?
The Roboflow 100 dataset spans seven domains, each providing unique challenges and applications for object detection models:
- 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 configurazione consente di testare in modo esteso e vario i modelli in diverse applicazioni del mondo reale.
Come posso accedere e scaricare il dataset Roboflow 100?
Il dataset Roboflow 100 è accessibile su GitHub e Roboflow Universe. Puoi 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 utilizzi il dataset Roboflow 100 nella tua ricerca, assicurati di citarlo correttamente. Ecco la citazione consigliata:
Per maggiori dettagli, puoi consultare la nostra raccolta completa di dati.