Meet YOLO26: next-gen vision AI.

Link to this sectionDataset Roboflow 100#

Roboflow 100, sponsorizzato da Intel, è un innovativo dataset di benchmark per il rilevamento di oggetti. Include 100 dataset eterogenei. Questo benchmark è progettato specificamente per testare l'adattabilità dei modelli di computer vision, come i modelli Ultralytics YOLO, a vari domini, tra cui sanità, immagini aeree e videogiochi.

Licenza

Ultralytics offre due opzioni di licenza per soddisfare diverse esigenze di utilizzo:

  • Licenza AGPL-3.0: Questa licenza open source approvata dall'OSI è ideale per studenti e appassionati, promuovendo 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 lo sviluppo e l'uso in produzione, questa licenza consente una perfetta integrazione del software e dei modelli AI di Ultralytics in prodotti e servizi aziendali, inclusi strumenti interni, flussi di lavoro automatizzati e implementazioni di produzione, superando i requisiti open-source della AGPL-3.0. Per iniziare, contattaci tramite Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Link to this sectionCaratteristiche principali#

  • Domini diversi: Include 100 dataset suddivisi in sette domini distinti: Aereo, Videogiochi, Microscopico, Subacqueo, Documenti, Elettromagnetico e Mondo Reale.
  • Scala: Il benchmark comprende 224.714 immagini suddivise in 805 classi, che rappresentano oltre 11.170 ore di lavoro di etichettatura dei dati.
  • Standardizzazione: Tutte le immagini sono preelaborate e ridimensionate a 640x640 pixel per una valutazione coerente.
  • Valutazione accurata: Si concentra sull'eliminazione dell'ambiguità delle classi e filtra quelle sottorappresentate per garantire una valutazione del modello più pulita.
  • Annotazioni: Include bounding box per gli oggetti, adatti per l'addestramento e la valutazione di modelli di rilevamento di oggetti utilizzando metriche come mAP.

Link to this sectionStruttura del dataset#

Il dataset Roboflow 100 è organizzato in sette categorie, ognuna 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 diversificato ed esteso 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 consiste nel valutare le 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.

Risultati del benchmarking

I risultati del benchmarking ottenuti tramite lo script fornito verranno salvati nella directory ultralytics-benchmarks/, specificamente in evaluation.txt.

Esempio di benchmarking

Il seguente script mostra come sottoporre a benchmark in modo programmatico un modello Ultralytics YOLO (ad esempio, YOLO26n) su tutti i 100 dataset all'interno del benchmark Roboflow 100 utilizzando la classe RF100Benchmark.

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=yolo26s.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!")

Link to this sectionApplicazioni#

Roboflow 100 è prezioso per varie applicazioni legate alla computer vision e al deep learning. Ricercatori e ingegneri possono sfruttare questo benchmark per:

Per ulteriori idee e ispirazione su applicazioni reali, esplora le nostre guide su progetti pratici o dai un'occhiata alla 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. L'utility Ultralytics RF100Benchmark semplifica il processo di download e preparazione di questi dataset per l'uso con i modelli Ultralytics.

Link to this sectionDati di esempio e annotazioni#

Roboflow 100 consiste in dataset con immagini diversificate catturate da varie angolazioni 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 migliorare ulteriormente la diversità durante l'addestramento.

Roboflow 100 sample images with annotations

La diversità riscontrata nel benchmark Roboflow 100 rappresenta un significativo passo avanti 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 ottenere ottime prestazioni 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 paper originale:

Citazione
@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 il loro significativo impegno nel creare e mantenere il dataset Roboflow 100 come una risorsa preziosa per la comunità della computer vision.

Se sei interessato a esplorare altri dataset per migliorare i tuoi progetti di rilevamento di 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 di oggetti?#

Il dataset Roboflow 100 è un benchmark per i modelli di rilevamento di oggetti. Comprende 100 dataset eterogenei che coprono domini come sanità, immagini aeree e videogiochi. Il suo significato risiede nel fornire un modo standardizzato per testare l'adattabilità e la robustezza del modello su un'ampia gamma di scenari del mondo reale, andando oltre i tradizionali benchmark spesso limitati a un singolo dominio.

Link to this sectionQuali domini sono coperti dal dataset Roboflow 100?#

Il dataset Roboflow 100 abbraccia sette diversi domini, offrendo sfide uniche per i modelli di rilevamento di oggetti:

  1. Aereo: 7 dataset (ad esempio, immagini satellitari, viste da drone).
  2. Videogiochi: 7 dataset (ad esempio, oggetti provenienti da vari ambienti di gioco).
  3. Microscopico: 11 dataset (ad esempio, cellule, particelle).
  4. Subacqueo: 5 dataset (ad esempio, vita marina, oggetti sommersi).
  5. Documenti: 8 dataset (ad esempio, regioni di testo, elementi di moduli).
  6. Elettromagnetico: 12 dataset (ad esempio, firme radar, visualizzazioni di dati spettrali).
  7. Mondo Reale: 50 dataset (una categoria ampia che include oggetti quotidiani, scene, vendita al dettaglio, ecc.).

Questa varietà rende RF100 un'eccellente 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 paper originale per dare credito ai creatori. Ecco la citazione BibTeX consigliata:

Citazione
@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, valuta di visitare la nostra collezione completa di dataset o di consultare altri dataset di rilevamento compatibili con i modelli Ultralytics.

Commenti