Ultralytics YOLO27:

Panoramica dei dataset#

Ultralytics fornisce supporto per vari dataset per facilitare attività di computer vision come rilevamento, segmentazione delle istanze, segmentazione semantica, stima della profondità, classificazione, stima della posa e riquadri di delimitazione orientati (OBB). Di seguito è riportato un elenco dei principali dataset di Ultralytics, seguito da un riepilogo di ogni attività di computer vision e dei relativi dataset. La modalità Track viene eseguita sui modelli di rilevamento, segmentazione, posa e OBB senza addestramento specifico per il tracker; consulta i dataset per il tracking.



Watch: Ultralytics Datasets Overview

Rilevamento degli oggetti#

Il rilevamento di oggetti tramite riquadri di delimitazione è una tecnica di computer vision che consiste nel rilevare e localizzare gli oggetti in un'immagine disegnando un riquadro di delimitazione attorno a ciascun oggetto.

  • African-wildlife: un dataset con immagini di fauna selvatica africana, tra cui bufali, elefanti, rinoceronti e zebre.
  • Argoverse: un dataset contenente dati di tracking 3D e previsione del movimento provenienti da ambienti urbani, con annotazioni dettagliate.
  • Brain-tumor: un dataset per il rilevamento dei tumori cerebrali, che include immagini di risonanze magnetiche o scansioni CT con dettagli sulla presenza, la posizione e le caratteristiche dei tumori.
  • COCO: Common Objects in Context (COCO) è un dataset su larga scala per il rilevamento, la segmentazione e il captioning degli oggetti, con 80 categorie di oggetti.
  • COCO8: Un sottoinsieme più piccolo delle prime 8 immagini di COCO train2017, 4 per l'addestramento e 4 per la validazione, adatto per test rapidi.
  • COCO8-Grayscale: una versione in scala di grigi di COCO8, creata convertendo RGB in scala di grigi, utile per la valutazione di modelli a canale singolo.
  • COCO8-Multispectral: una versione multispettrale a 10 canali di COCO8, creata interpolando le lunghezze d'onda RGB, utile per la valutazione di modelli consapevoli dello spettro.
  • COCO12-Formats: Un dataset di test di 12 immagini che copre i 12 formati di immagine supportati (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) per la validazione delle pipeline di caricamento delle immagini.
  • COCO128: un sottoinsieme più piccolo delle prime 128 immagini di COCO train2017, adatto per i test.
  • Construction-PPE: un dataset di immagini di cantieri annotato con dispositivi di sicurezza fondamentali come caschi, gilet, guanti, stivali e occhiali, insieme a etichette per le attrezzature mancanti, a supporto dello sviluppo di modelli di AI per la conformità e la protezione dei lavoratori.
  • Global Wheat 2020: un dataset contenente immagini di spighe di grano per la Global Wheat Challenge 2020.
  • HomeObjects-3K: un dataset di scene interne annotate con 12 oggetti domestici comuni, ideale per sviluppare e testare modelli di computer vision in sistemi smart home, robotica e realtà aumentata.
  • KITTI: Un noto dataset di guida autonoma con input stereo, LiDAR e GPS/IMU, utilizzato per il rilevamento di oggetti 2D in svariate scene stradali.
  • LVIS: un dataset su larga scala per il rilevamento, la segmentazione e il captioning degli oggetti, con 1203 categorie di oggetti.
  • Medical-pills: un dataset contenente immagini etichettate di pillole medicinali, progettato per supportare attività come il controllo qualità farmaceutico, lo smistamento e la conformità agli standard del settore.
  • Objects365: un dataset di alta qualità e su larga scala per il rilevamento degli oggetti, con 365 categorie di oggetti e oltre 600K immagini annotate.
  • OpenImagesV7: un dataset completo di Google con 1,7 M di immagini di addestramento e 42k immagini di validazione.
  • RF100: un benchmark diversificato per il rilevamento degli oggetti, con 100 dataset che coprono sette domini di immagini per una valutazione completa dei modelli.
  • Signature: un dataset con immagini di vari documenti contenenti firme annotate, a supporto della ricerca sulla verifica dei documenti e sul rilevamento delle frodi.
  • SKU-110K: un dataset con rilevamento denso degli oggetti in ambienti di vendita al dettaglio, con oltre 11K immagini e 1,7 milioni di riquadri di delimitazione.
  • TT100K: Il dataset di segnali stradali Tsinghua-Tencent 100K con 16.817 immagini di viste stradali in 221 categorie di segnali.
  • VisDrone: un dataset contenente dati di rilevamento degli oggetti e tracking multi-oggetto provenienti da immagini acquisite da droni, con oltre 10K immagini e sequenze video.
  • VOC: il dataset Pascal Visual Object Classes (VOC) per il rilevamento e la segmentazione degli oggetti, con 20 classi di oggetti e oltre 11K immagini.
  • xView: un dataset per il rilevamento degli oggetti in immagini aeree, con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.

Segmentazione delle istanze#

La segmentazione delle istanze è una tecnica di computer vision che consiste nell'identificare e localizzare gli oggetti in un'immagine a livello di pixel. A differenza della segmentazione semantica, che classifica soltanto ogni pixel, la segmentazione delle istanze distingue tra diverse istanze della stessa classe.

  • Carparts-seg: un dataset progettato specificamente per identificare le parti dei veicoli, destinato a esigenze di progettazione, produzione e ricerca. È adatto sia alle attività di rilevamento degli oggetti sia a quelle di segmentazione.
  • COCO: un dataset su larga scala progettato per attività di rilevamento, segmentazione e captioning degli oggetti, con oltre 200K immagini etichettate.
  • COCO8-seg: un dataset più piccolo per attività di segmentazione delle istanze, contenente un sottoinsieme di 8 immagini COCO con annotazioni di segmentazione.
  • COCO128-seg: un dataset più piccolo per attività di segmentazione delle istanze, contenente un sottoinsieme di 128 immagini COCO con annotazioni di segmentazione.
  • Crack-seg: un dataset creato specificamente per rilevare crepe su strade e pareti, applicabile sia alle attività di rilevamento degli oggetti sia a quelle di segmentazione.
  • Package-seg: un dataset pensato per identificare pacchi in magazzini o contesti industriali, adatto sia alle applicazioni di rilevamento degli oggetti sia a quelle di segmentazione.

Segmentazione semantica#

La segmentazione semantica assegna un'etichetta di classe a ogni pixel di un'immagine, producendo mappe dense della scena per applicazioni come la guida autonoma, la comprensione della scena e la mappatura della copertura del suolo.

  • Cityscapes: dataset di segmentazione semantica di scene stradali urbane con 19 classi di addestramento.
  • Cityscapes8: un compatto sottoinsieme di 8 immagini di Cityscapes per controlli rapidi delle pipeline di segmentazione semantica.
  • ADE20K: dataset per la comprensione della scena con 150 classi semantiche.

Stima della profondità#

La stima monoculare della profondità predice una mappa di profondità per pixel in metri a partire da una singola immagine RGB, supportando la ricostruzione 3D della scena, la navigazione dei robot e le applicazioni AR/VR.

  • Depth8: un compatto sottoinsieme di 8 immagini di SUN RGB-D per controlli rapidi della pipeline.
  • ARKitScenes: RGB-D di interni reali catturati con Apple ARKit LiDAR, la più grande fonte di addestramento reale.
  • SUN RGB-D: Scene di interni reali catturate con quattro diversi sensori RGB-D.
  • DIODE: Profondità di interni ed esterni densa da uno scanner laser di livello topografico.
  • Hypersim: Scene di interni sintetiche fotorealistiche con profondità per-pixel perfetta.
  • TartanAir: Ambienti AirSim sintetici con profondità densa fino a ~80 m.
  • Virtual KITTI 2: Ricreazione sintetica di scene di guida di KITTI con profondità densa.
  • KITTI: Scene di guida autonoma all'aperto del mondo reale con profondità Velodyne LiDAR, anche il benchmark KITTI Eigen.
  • ImageNet (pseudo-labeled): Immagini di ImageNet-1K con pseudo etichette Depth Anything 3 per la distillazione.
  • NYU Depth V2: benchmark standard per la profondità in ambienti interni, acquisito con Microsoft Kinect v1.
  • ETH3D: Benchmark di scanner laser per interni ed esterni ad alta precisione.
  • Make3D: Benchmark per campus esterni fuori distribuzione.
  • iBims-1: Benchmark per interni di alta qualità per bordi di profondità e superfici planari.

Classificazione#

La classificazione delle immagini è un'attività di computer vision che consiste nel categorizzare un'immagine in una o più classi o categorie predefinite in base al suo contenuto visivo.

  • Caltech 101: un dataset contenente immagini di 101 categorie di oggetti per attività di classificazione delle immagini.
  • Caltech 256: una versione estesa di Caltech 101 con 256 categorie di oggetti e immagini più impegnative.
  • CIFAR-10: un dataset di 60K immagini a colori 32x32 suddivise in 10 classi, con 6K immagini per classe.
  • CIFAR-100: una versione estesa di CIFAR-10 con 100 categorie di oggetti e 600 immagini per classe.
  • Fashion-MNIST: un dataset composto da 70.000 immagini in scala di grigi di 10 categorie di abbigliamento per attività di classificazione delle immagini.
  • ImageNet: un dataset su larga scala per il rilevamento degli oggetti e la classificazione delle immagini, con oltre 14 milioni di immagini e 20.000 categorie.
  • ImageNet-10: un sottoinsieme più piccolo di ImageNet con 10 categorie per sperimentazioni e test più rapidi.
  • Imagenette: un sottoinsieme più piccolo di ImageNet contenente 10 classi facilmente distinguibili per addestramento e test più rapidi.
  • Imagewoof: un sottoinsieme più impegnativo di ImageNet contenente 10 categorie di razze canine per attività di classificazione delle immagini.
  • MNIST: un dataset di 70.000 immagini in scala di grigi di cifre scritte a mano per attività di classificazione delle immagini.
  • MNIST160: le prime 8 immagini di ogni cifra (0-9) sia dalla suddivisione di addestramento sia da quella di test di MNIST. Il dataset contiene 160 immagini in totale.

Stima della posa#

La stima della posa è una tecnica utilizzata per determinare la posa dell'oggetto rispetto alla fotocamera o al sistema di coordinate del mondo. Consiste nell'identificare punti chiave o articolazioni sugli oggetti, in particolare esseri umani o animali.

  • COCO: un dataset su larga scala con annotazioni della posa umana progettato per attività di stima della posa.
  • COCO8-pose: un dataset più piccolo per attività di stima della posa, contenente un sottoinsieme di 8 immagini COCO con annotazioni della posa umana.
  • Dog-pose: un dataset completo con circa 8.500 immagini incentrate sui cani, annotato con 24 punti chiave per cane e progettato per attività di stima della posa.
  • Hand-Keypoints: un dataset compatto con oltre 26.000 immagini incentrate sulle mani umane, annotato con 21 punti chiave per mano e progettato per attività di stima della posa.
  • Tiger-pose: un dataset compatto composto da 263 immagini incentrate sulle tigri, annotato con 12 punti chiave per tigre per attività di stima della posa.

Riquadri di delimitazione orientati (OBB)#

I riquadri di delimitazione orientati (OBB) sono un metodo di computer vision per rilevare oggetti inclinati nelle immagini utilizzando riquadri di delimitazione ruotati, spesso applicato a immagini aeree e satellitari. A differenza dei riquadri di delimitazione tradizionali, gli OBB possono adattarsi meglio agli oggetti con orientamenti diversi.

  • DOTA-v2: un popolare dataset OBB di immagini aeree con 1,7 milioni di istanze e 11.268 immagini.
  • DOTA8: un sottoinsieme più piccolo delle prime 8 immagini della suddivisione DOTAv1, 4 per l'addestramento e 4 per la validazione, adatto per test rapidi.
  • DOTA128: un sottoinsieme di 128 immagini del dataset DOTA, con 128 immagini per addestramento e validazione, che offre un buon equilibrio tra dimensioni e diversità per testare i modelli OBB.

Contribuire con nuovi dataset#

Contribuire con un nuovo dataset richiede diversi passaggi per assicurarsi che si integri correttamente con l'infrastruttura esistente. Di seguito sono riportati i passaggi necessari:



Watch: How to Contribute to Ultralytics Datasets

Passaggi per contribuire con un nuovo dataset#

  1. Raccogliere le immagini: raccogli le immagini che appartengono al dataset. Puoi reperirle da varie fonti, come database pubblici o la tua raccolta.

  2. Annotare le immagini: annota queste immagini con riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.

  3. Esportare le annotazioni: converti queste annotazioni nel formato di file YOLO *.txt supportato da Ultralytics.

  4. Organizzare il dataset: disponi il dataset nella struttura di cartelle corretta. Dovresti avere le directory di primo livello images/ e labels/ e, all'interno di ciascuna, una sottodirectory train/ e val/.

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. Creare un file data.yaml: nella directory principale del dataset, crea un file data.yaml che descriva il dataset, le classi e altre informazioni necessarie.

  6. Ottimizzare le immagini (facoltativo): se vuoi ridurre le dimensioni del dataset per un'elaborazione più efficiente, puoi ottimizzare le immagini usando il codice riportato di seguito. Non è obbligatorio, ma è consigliato per dataset più piccoli e velocità di download superiori.

  7. Comprimere il dataset: comprimi l'intera cartella del dataset in un file zip.

  8. Documentare e creare una PR: crea una pagina di documentazione che descriva il dataset e il modo in cui si integra nel framework esistente. Dopodiché, invia una richiesta di integrazione (PR). Consulta le linee guida per i contributi a Ultralytics per maggiori dettagli su come inviare una PR.

Codice di esempio per ottimizzare e comprimere un dataset#

Ottimizzare e comprimere un dataset
from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

Seguendo questi passaggi, puoi contribuire con un nuovo dataset che si integri correttamente nella struttura esistente di Ultralytics.

FAQ#

  • Ultralytics supporta un'ampia varietà di dataset per il rilevamento degli oggetti, tra cui:

    • COCO: un dataset su larga scala per il rilevamento, la segmentazione e il captioning degli oggetti, con 80 categorie di oggetti.
    • LVIS: un ampio dataset con 1203 categorie di oggetti, progettato per un rilevamento e una segmentazione degli oggetti più granulari.
    • Argoverse: un dataset contenente dati di tracking 3D e previsione del movimento provenienti da ambienti urbani, con annotazioni dettagliate.
    • VisDrone: un dataset con dati di rilevamento degli oggetti e tracking multi-oggetto provenienti da immagini acquisite da droni.
    • SKU-110K: con rilevamento denso degli oggetti in ambienti di vendita al dettaglio e oltre 11K immagini.

    Questi dataset facilitano l'addestramento di modelli Ultralytics YOLO robusti per varie applicazioni di rilevamento degli oggetti.

  • Contribuire con un nuovo dataset richiede diversi passaggi:

    1. Raccogliere le immagini: raccogli immagini da database pubblici o raccolte personali.
    2. Annotare le immagini: applica riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.
    3. Esportare le annotazioni: converti le annotazioni nel formato YOLO *.txt.
    4. Organizzare il dataset: usa la struttura di cartelle con le directory train/ e val/, ciascuna contenente le sottodirectory images/ e labels/.
    5. Creare un file data.yaml: includi le descrizioni del dataset, le classi e altre informazioni pertinenti.
    6. Ottimizzare le immagini (facoltativo): riduci le dimensioni del dataset per una maggiore efficienza.
    7. Comprimere il dataset: comprimi il dataset in un file zip.
    8. Documentare e creare una PR: descrivi il dataset e invia una richiesta di integrazione seguendo le linee guida per i contributi a Ultralytics.

    Visita Contribuire con nuovi dataset per una guida completa.

  • Ultralytics Platform offre funzionalità avanzate per la gestione e l'analisi dei dataset, tra cui:

    • Gestione fluida dei dataset: carica, organizza e gestisci i tuoi dataset in un unico posto.
    • Integrazione immediata con l'addestramento: usa direttamente i dataset caricati per addestrare i modelli senza configurazioni aggiuntive.
    • Strumenti di visualizzazione: Esplora e visualizza le immagini e le annotazioni del tuo dataset.
    • Analisi del dataset: Ottieni informazioni sulla distribuzione e sulle caratteristiche del tuo dataset.

    La piattaforma semplifica il passaggio dalla gestione del dataset all'addestramento del modello, rendendo l'intero processo più efficiente. Scopri di più sui dataset della piattaforma Ultralytics.

  • I modelli Ultralytics YOLO offrono diverse caratteristiche uniche per le attività di visione artificiale:

    • Prestazioni in tempo reale: Funzionalità di inferenza e addestramento ad alta velocità per applicazioni sensibili ai tempi.
    • Versatilità: Supporto per attività di rilevamento, segmentazione delle istanze, segmentazione semantica, stima della profondità, classificazione e stima della posa in un framework unificato.
    • Modelli preaddestrati: Accesso a modelli preaddestrati ad alte prestazioni per diverse applicazioni, riducendo i tempi di addestramento.
    • Ampio supporto della community: Community attiva e documentazione completa per la risoluzione dei problemi e lo sviluppo.
    • Facile integrazione: API semplice per l'integrazione con progetti e workflow esistenti.

    Scopri di più sui modelli YOLO nella pagina Modelli Ultralytics.

  • Per ottimizzare e comprimere in formato zip un dataset utilizzando gli strumenti Ultralytics, segui questo esempio di codice:

    Ottimizzare e comprimere un dataset
    from pathlib import Path
    
    from ultralytics.data.utils import compress_one_image
    from ultralytics.utils.downloads import zip_directory
    
    # Define dataset directory
    path = Path("path/to/dataset")
    
    # Optimize images in dataset (optional)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # Zip dataset into 'path/to/dataset.zip'
    zip_directory(path)

    Questo processo aiuta a ridurre le dimensioni del dataset per uno spazio di archiviazione più efficiente e velocità di download maggiori. Scopri di più su come ottimizzare e comprimere in formato zip un dataset.

Commenti