Link to this sectionDataset Roboflow 100#
Roboflow 100, sponsorizzato da Intel, è un innovativo dataset di riferimento per il rilevamento di oggetti. Include 100 diversi dataset. Questo benchmark è progettato specificamente per testare l'adattabilità dei modelli di computer vision, come i modelli Ultralytics YOLO, a vari domini, tra cui assistenza sanitaria, immagini aeree e videogiochi.
Ultralytics offre due opzioni di licenza per adattarsi a diversi casi d'uso:
- Licenza AGPL-3.0: Questa licenza open-source approvata dall'OSI è ideale per studenti e appassionati, poiché promuove la collaborazione aperta e la condivisione delle conoscenze. Consulta il file LICENSE per maggiori dettagli e visita la nostra pagina della Licenza AGPL-3.0.
- Licenza Enterprise: Per uso di sviluppo e produzione, questa licenza consente l'integrazione perfetta del software e dei modelli AI di Ultralytics in prodotti e servizi aziendali, inclusi strumenti interni, flussi di lavoro automatizzati e distribuzioni di produzione, aggirando i requisiti open-source della AGPL-3.0. Per iniziare, contattaci tramite Licenze Ultralytics.
Link to this sectionCaratteristiche principali#
- Domini Diversificati: Include 100 dataset in sette domini distinti: Aereo, Videogiochi, Microscopico, Subacqueo, Documenti, Elettromagnetico e Mondo Reale.
- Scala: Il benchmark comprende 224.714 immagini in 805 classi, rappresentando oltre 11.170 ore di lavoro di etichettatura dati.
- Standardizzazione: Tutte le immagini sono preelaborate 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 mAP.
Link to this sectionStruttura del dataset#
Il dataset Roboflow 100 è organizzato in sette categorie, ciascuna contenente una collezione unica di dataset, immagini e classi:
- Aereo: 7 dataset, 9.683 immagini, 24 classi.
- Videogiochi: 7 dataset, 11.579 immagini, 88 classi.
- Microscopico: 11 dataset, 13.378 immagini, 28 classi.
- Subacqueo: 5 dataset, 18.003 immagini, 39 classi.
- Documenti: 8 dataset, 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 terreno di prova vasto e diversificato per i modelli di rilevamento di oggetti, riflettendo un'ampia gamma di scenari applicativi del mondo reale presenti in varie Soluzioni Ultralytics.
Link to this sectionBenchmarking#
Il benchmarking del dataset comporta la valutazione delle prestazioni dei modelli di machine learning su dataset specifici utilizzando metriche standardizzate. Le metriche comuni includono accuratezza, mean Average Precision (mAP) e F1-score. Puoi saperne di più nella nostra guida alle metriche di prestazione YOLO.
Ogni output è raggruppato in una singola directory runs/<task>/multitrain/: ogni dataset viene sottoposto a fine-tuning nella sua sottodirectory (con il proprio results.png), e le metriche per dataset e medie vengono scritte in multitrain_results.json insieme a un grafico a barre multitrain_results.png. La chiamata model.train() restituisce anche un dizionario {dataset: metrics} per l'accesso programmatico.
Lo script sottostante scarica i dataset Roboflow 100 elencati in datasets_links.txt da Roboflow, quindi esegue il fine-tuning di un singolo modello base (ad esempio, YOLO26n) sull'intera collezione in un'unica chiamata model.train(). Passare una lista di dataset esegue il fine-tuning del modello base su ciascuno in serie e visualizza automaticamente i risultati tra i dataset. È necessaria una chiave API Roboflow gratuita per scaricare i dataset.
import re
from pathlib import Path
from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, YAML
from ultralytics.utils.checks import check_requirements
from ultralytics.utils.downloads import safe_download
# Download the RF100 datasets from Roboflow (requires a free Roboflow API key)
check_requirements("roboflow")
from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt") # list of RF100 dataset links
datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
try:
_, _url, workspace, project, version = re.split("/+", line.strip())
location = f"rf-100/{project}-{version}"
rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
yaml = Path(location) / "data.yaml"
cfg = YAML.load(yaml) # point train/val at the downloaded image folders
cfg["train"], cfg["val"] = "train/images", "valid/images"
YAML.save(yaml, cfg)
datasets.append(str(yaml))
except Exception:
continue
# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640) # {dataset: metrics}
# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
if metrics: # None if that dataset failed to train
print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")Link to this sectionApplicazioni#
Roboflow 100 è inestimabile per varie applicazioni relative alla computer vision e al deep learning. Ricercatori e ingegneri possono sfruttare questo benchmark per:
- Valutare le prestazioni dei modelli di rilevamento oggetti in un contesto multi-dominio.
- Testare l'adattabilità e la robustezza dei modelli a scenari reali oltre ai comuni dataset di benchmark come COCO o PASCAL VOC.
- Valutare le capacità dei modelli di rilevamento oggetti su diversi dataset, incluse aree specializzate come assistenza sanitaria, immagini aeree e videogiochi.
- Confrontare le prestazioni dei modelli tra diverse architetture di reti neurali e tecniche di ottimizzazione.
- Identificare le sfide specifiche del dominio che potrebbero richiedere suggerimenti per l'addestramento del modello specializzati o approcci di fine-tuning come il transfer learning.
Per ulteriori idee e ispirazione su applicazioni reali, esplora le nostre guide sui progetti pratici o controlla la Piattaforma Ultralytics per un addestramento del modello e un deployment semplificati.
Link to this sectionUtilizzo#
Il dataset Roboflow 100, inclusi metadati e link per il download, è disponibile sul repository GitHub ufficiale di Roboflow 100. Puoi accedere e utilizzare il dataset direttamente da lì per le tue esigenze di benchmarking. Una volta che i dataset sono scaricati e preparati come mostrato sopra, i modelli Ultralytics possono essere sottoposti a fine-tuning sull'intera collezione in una singola chiamata model.train() passando l'elenco dei file YAML dei dataset.
Link to this sectionDati di esempio e annotazioni#
Roboflow 100 consiste in dataset con diverse immagini catturate da vari angoli e domini. Di seguito sono riportati esempi di immagini annotate incluse nel benchmark RF100, che mostrano la varietà di oggetti e scene. Tecniche come la data augmentation possono ulteriormente migliorare la diversità durante l'addestramento.
La diversità vista 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 completo aiuta a sviluppare modelli di computer vision più robusti e versatili, in grado di funzionare bene in una moltitudine di scenari diversi.
Link to this sectionCitazioni e riconoscimenti#
Se utilizzi il dataset Roboflow 100 nel tuo lavoro di ricerca o sviluppo, ti preghiamo 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}
}Estendiamo la nostra gratitudine al team di Roboflow e a tutti i collaboratori per i loro significativi sforzi nella creazione e nel mantenimento del dataset Roboflow 100 come risorsa preziosa per la comunità di computer vision.
Se sei interessato a esplorare altri dataset per migliorare i tuoi progetti di rilevamento oggetti e machine learning, sentiti libero di visitare la nostra collezione completa di dataset, che include una varietà di altri dataset di rilevamento.
Link to this sectionFAQ#
Link to this sectionCos'è il dataset Roboflow 100 e perché è significativo per il rilevamento oggetti?#
Il dataset Roboflow 100 è un benchmark per modelli di rilevamento di oggetti. Comprende 100 dataset diversificati che coprono domini come assistenza sanitaria, immagini aeree e videogiochi. Il suo significato risiede nel fornire un modo standardizzato per testare l'adattabilità e la robustezza del modello in una vasta gamma di scenari reali, andando oltre i tradizionali benchmark, spesso limitati al dominio.
Link to this sectionQuali domini sono coperti dal dataset Roboflow 100?#
Il dataset Roboflow 100 abbraccia sette domini diversi, offrendo sfide uniche per i modelli di rilevamento di oggetti:
- Aereo: 7 dataset (ad esempio, immagini satellitari, viste da drone).
- Videogiochi: 7 dataset (ad esempio, oggetti da vari ambienti di gioco).
- Microscopico: 11 dataset (ad esempio, cellule, particelle).
- Subacqueo: 5 dataset (ad esempio, vita marina, oggetti sommersi).
- Documenti: 8 dataset (ad esempio, aree di testo, elementi di modulo).
- Elettromagnetico: 12 dataset (ad esempio, firme radar, visualizzazioni di dati spettrali).
- Mondo Reale: 50 dataset (una categoria ampia che include oggetti quotidiani, scene, vendita al dettaglio, ecc.).
Questa varietà rende RF100 un'ottima risorsa per valutare la generalizzabilità dei modelli di computer vision.
Link to this sectionCosa dovrei includere quando cito il dataset Roboflow 100 nella mia ricerca?#
Quando utilizzi il dataset Roboflow 100, ti preghiamo 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 ulteriori esplorazioni, prendi in considerazione la visita alla nostra collezione completa di dataset o la navigazione tra altri dataset di rilevamento compatibili con i modelli Ultralytics.