Ultralytics YOLO27:
Get Started

Panoramica dei dataset#

Ultralytics supporta diversi dataset per agevolare attività di computer vision come il rilevamento, la segmentazione di istanze, la segmentazione semantica, la stima della profondità, la classificazione, la stima della posa e i riquadri di delimitazione orientati (OBB). Di seguito trovi un elenco dei principali dataset Ultralytics, seguito da una panoramica di ogni attività di computer vision e dei relativi dataset. La modalità Track si basa sui modelli di rilevamento, segmentazione, posa e OBB senza richiedere un addestramento specifico per il tracker; consulta i dataset di tracking.



Guarda: Panoramica dei dataset Ultralytics

Rilevamento di oggetti#

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

  • African-wildlife: Un dataset con immagini della fauna selvatica africana, tra cui bufali, elefanti, rinoceronti e zebre.
  • Argoverse: Un dataset con dati di tracking 3D e previsione del movimento in ambienti urbani, corredati da annotazioni dettagliate.
  • Brain-tumor: Un dataset per il rilevamento dei tumori cerebrali, con immagini di risonanze magnetiche o TAC e dettagli sulla presenza, la posizione e le caratteristiche dei tumori.
  • COCO: Oggetti comuni nel contesto (COCO) è un dataset su larga scala per il rilevamento e la segmentazione di oggetti e la generazione di didascalie, con 80 categorie di oggetti.
  • COCO8: Un sottoinsieme ridotto delle prime 8 immagini di COCO train2017, di cui 4 per l'addestramento e 4 per la convalida, adatto a test rapidi.
  • COCO8-Grayscale: Una versione in scala di grigi di COCO8, ottenuta convertendo RGB in scala di grigi, utile per valutare modelli a canale singolo.
  • COCO8-Multispectral: Una versione multispettrale a 10 canali di COCO8, ottenuta interpolando le lunghezze d'onda RGB, utile per valutare modelli sensibili allo spettro.
  • COCO12-Formats: Un dataset di test con 12 immagini che copre i 12 formati di immagine supportati (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP), utile per convalidare le pipeline di caricamento delle immagini.
  • COCO128: Un sottoinsieme ridotto delle prime 128 immagini di COCO train2017, adatto ai test.
  • Construction-PPE: Un dataset di immagini di cantieri edili annotato con i principali dispositivi di sicurezza, come caschi, giubbotti, guanti, stivali e occhiali, oltre a etichette per le attrezzature mancanti. Supporta lo sviluppo di modelli AI per la conformità e la protezione dei lavoratori.
  • Global Wheat 2020: Un dataset con immagini di spighe di grano per la sfida Global Wheat Challenge 2020.
  • HomeObjects-3K: Un dataset di scene al chiuso annotate, con 12 oggetti domestici comuni, ideale per sviluppare e testare modelli di computer vision per sistemi domotici, robotica e realtà aumentata.
  • KITTI: Un noto dataset per la guida autonoma con input stereo, LiDAR e GPS/IMU, utilizzato per il rilevamento 2D di oggetti in diverse scene stradali.
  • LVIS: Un dataset su larga scala per il rilevamento di oggetti e la segmentazione di istanze, con 1.203 categorie di oggetti.
  • Medical-pills: Un dataset con immagini etichettate di pillole medicinali, progettato per attività come il controllo qualità farmaceutico, lo smistamento e la verifica della conformità agli standard di settore.
  • Objects365: Un dataset di alta qualità e su larga scala per il rilevamento di oggetti, con 365 categorie di oggetti e oltre 1,7 milioni di immagini annotate.
  • OpenImagesV7: Un dataset completo di Google con 1,7 milioni di immagini di addestramento e 42.000 immagini di convalida.
  • RF100: Un benchmark diversificato per il rilevamento di oggetti, con 100 dataset che coprono sette domini di immagini per una valutazione completa dei modelli.
  • Signature: Un dataset con immagini di vari documenti e firme annotate, a supporto della ricerca sulla verifica documentale e sul rilevamento delle frodi.
  • SKU-110K: Un dataset dedicato al rilevamento di oggetti in ambienti di vendita al dettaglio ad alta densità, con oltre 11.000 immagini e 1,7 milioni di riquadri di delimitazione.
  • TT100K: Il dataset di segnali stradali Tsinghua-Tencent 100K, con 16.817 immagini di strade viste a livello del suolo, suddivise in 221 categorie di segnali.
  • VisDrone: Un dataset con dati di rilevamento di oggetti e tracking multi-oggetto da immagini e sequenze video riprese da droni, con oltre 10.000 immagini.
  • VOC: Il dataset Pascal delle classi di oggetti visivi (VOC) per il rilevamento e la segmentazione di oggetti, con 20 classi di oggetti e oltre 21.000 immagini.
  • xView: Un dataset per il rilevamento di oggetti in immagini aeree, con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.

Segmentazione di istanze#

La segmentazione di istanze è una tecnica di computer vision che identifica e localizza gli oggetti in un'immagine a livello di pixel. A differenza della segmentazione semantica, che classifica soltanto ogni pixel, la segmentazione di istanze distingue le diverse istanze della stessa classe.

  • Carparts-seg: Un dataset progettato appositamente per identificare i componenti dei veicoli e rispondere alle 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 e segmentazione di oggetti e di generazione di didascalie, con oltre 200.000 immagini etichettate.
  • COCO8-seg: Un dataset ridotto per attività di segmentazione di istanze, con un sottoinsieme di 8 immagini COCO corredate di annotazioni di segmentazione.
  • COCO128-seg: Un dataset ridotto per attività di segmentazione di istanze, con un sottoinsieme di 128 immagini COCO corredate di annotazioni di segmentazione.
  • Crack-seg: Un dataset creato appositamente per rilevare crepe su strade e pareti, adatto sia alle attività di rilevamento degli oggetti sia a quelle di segmentazione.
  • Package-seg: Un dataset specifico per identificare pacchi in magazzini o ambienti industriali, adatto sia al rilevamento di oggetti sia alle applicazioni 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, l'analisi delle scene e la mappatura della copertura del suolo.

  • Cityscapes: Un dataset per la segmentazione semantica di scene stradali urbane, con 19 classi di addestramento.
  • Cityscapes8: Un sottoinsieme compatto di Cityscapes con 8 immagini, utile per verificare rapidamente le pipeline di segmentazione semantica.
  • ADE20K: Un dataset per l'analisi delle scene con 150 classi semantiche.

Stima della profondità#

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

  • Depth8: Un sottoinsieme compatto di SUN RGB-D con 8 immagini, utile per verificare rapidamente le pipeline.
  • ARKitScenes: Immagini RGB-D reali di ambienti interni acquisite con il LiDAR di Apple ARKit; è la più grande fonte di dati reali per l'addestramento.
  • SUN RGB-D: Scene reali al chiuso acquisite con quattro diversi sensori RGB-D.
  • DIODE: Dati densi sulla profondità di ambienti interni ed esterni acquisiti con uno scanner laser di livello topografico.
  • Hypersim: Scene sintetiche fotorealistiche di ambienti interni con una profondità perfetta per ogni pixel.
  • TartanAir: Ambienti sintetici AirSim con dati densi sulla profondità fino a ~80 m.
  • Virtual KITTI 2: Ricreazione sintetica delle scene di guida di KITTI con dati densi sulla profondità.
  • KITTI: Scene reali di guida autonoma all'aperto con dati di profondità LiDAR Velodyne; è anche il benchmark KITTI Eigen.
  • ImageNet (pseudo-etichettato): Immagini ImageNet-1K con pseudo-etichette generate da Depth Anything 3 per la distillazione.
  • NYU Depth V2: Benchmark standard per la profondità di ambienti interni, acquisito con Microsoft Kinect v1.
  • ETH3D: Benchmark ad alta precisione con scanner laser per ambienti interni ed esterni.
  • Make3D: Benchmark per scene all'aperto di campus fuori distribuzione.
  • iBims-1: Benchmark di alta qualità per ambienti interni, dedicato ai bordi di profondità e alle superfici planari.

Classificazione#

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

  • Caltech 101: Un dataset con immagini di 101 categorie di oggetti per attività di classificazione delle immagini.
  • Caltech 256: Una versione ampliata di Caltech 101, con 256 categorie di oggetti e immagini più impegnative.
  • CIFAR-10: Un dataset di 60.000 immagini a colori da 32x32 pixel, suddivise in 10 classi con 6.000 immagini per classe.
  • CIFAR-100: Una versione ampliata 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 di oggetti e la classificazione delle immagini, con oltre 14 milioni di immagini e 20.000 categorie.
  • ImageNet-10: Un sottoinsieme ridotto di ImageNet con 10 categorie, per sperimentare e testare più rapidamente.
  • Imagenette: Un sottoinsieme ridotto di ImageNet con 10 classi facilmente distinguibili, per accelerare l'addestramento e i test.
  • Imagewoof: Un sottoinsieme più impegnativo di ImageNet con 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) delle suddivisioni di addestramento e test di MNIST. Il dataset contiene in totale 160 immagini.

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 sugli esseri umani o sugli animali.

  • COCO: Un dataset su larga scala con annotazioni sulla posa umana, progettato per attività di stima della posa.
  • COCO8-pose: Un dataset ridotto per attività di stima della posa, con un sottoinsieme di 8 immagini COCO corredate di annotazioni sulla posa umana.
  • Dog-pose: Un dataset completo con circa 8.500 immagini di cani, annotate con 24 punti chiave per cane e progettate per attività di stima della posa.
  • Hand-Keypoints: Un dataset compatto con oltre 26.000 immagini di mani umane, annotate con 21 punti chiave per mano e progettate per attività di stima della posa.
  • Tiger-pose: Un dataset compatto di 263 immagini di tigri, annotate con 12 punti chiave per tigre, per attività di stima della posa.

Box di delimitazione orientati (OBB)#

I riquadri di delimitazione orientati (OBB) sono un metodo di computer vision per rilevare oggetti inclinati nelle immagini usando riquadri ruotati, spesso applicato a immagini aeree e satellitari. A differenza dei riquadri di delimitazione tradizionali, gli OBB si adattano 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 ridotto delle prime 8 immagini del set di suddivisione DOTAv1, di cui 4 per l'addestramento e 4 per la convalida, adatto a test rapidi.
  • DOTA128: Un sottoinsieme di 128 immagini del dataset DOTA, destinato all'addestramento e alla convalida, che offre un buon equilibrio tra dimensioni e varietà per testare modelli OBB.

Contribuire con nuovi dataset#

Per contribuire con un nuovo dataset, segui diversi passaggi che ne garantiscano la compatibilità con l'infrastruttura esistente. Ecco i passaggi necessari:



Guarda: Come contribuire ai dataset Ultralytics

Passaggi per contribuire con un nuovo dataset#

  1. Raccogli le immagini: raccogli le immagini che fanno parte del dataset. Puoi ottenerle da diverse fonti, come database pubblici o la tua raccolta.

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

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

  4. Organizza il dataset: disponi il dataset nella struttura di cartelle corretta. Dovresti avere le directory di primo livello images/ e labels/ e, al loro interno, le sottodirectory train/ e val/.

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

  6. Ottimizza le immagini (facoltativo): se vuoi ridurre le dimensioni del dataset per elaborarlo in modo più efficiente, puoi ottimizzare le immagini usando il codice riportato di seguito. Non è obbligatorio, ma è consigliato per ridurre le dimensioni del dataset e velocizzare i download.

  7. Comprimi dataset: Comprimi l'intera cartella del dataset in un file zip.

  8. Documentazione e PR: Crea una pagina di documentazione che descriva il tuo dataset e spieghi come si integra nel framework esistente. Poi invia una Pull Request (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

# Definisci la directory del dataset
path = Path("path/to/dataset")

# Ottimizza le immagini del dataset (facoltativo)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Comprimi il dataset in 'path/to/dataset.zip'
zip_directory(path)

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

Domande frequenti#

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

    • COCO: un dataset su larga scala per il rilevamento e la segmentazione degli oggetti e la generazione di didascalie, con 80 categorie di oggetti.
    • LVIS: un ampio dataset con 1.203 categorie di oggetti, progettato per il rilevamento e la segmentazione degli oggetti a un livello più granulare.
    • Argoverse: Un dataset con dati di tracking 3D e previsione del movimento in ambienti urbani, corredati da annotazioni dettagliate.
    • VisDrone: un dataset con dati sul rilevamento e il tracciamento di più oggetti, ricavati da immagini acquisite con droni.
    • SKU-110K: include il rilevamento di oggetti ad alta densità in ambienti di vendita al dettaglio, con oltre 11K immagini.

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

  • Per contribuire con un nuovo dataset, segui questi passaggi:

    1. Raccogli le immagini: raccogli immagini da database pubblici o raccolte personali.
    2. Annota le immagini: applica bounding box, segmenti o keypoint, a seconda dell'attività.
    3. Esporta le annotazioni: converti le annotazioni nel formato YOLO *.txt.
    4. Organizza il dataset: usa la struttura di cartelle con le directory images/ e labels/, ciascuna contenente le sottodirectory train/ e val/.
    5. Crea un file data.yaml: includi descrizioni del dataset, classi e altre informazioni pertinenti.
    6. Ottimizza le immagini (facoltativo): riduci le dimensioni del dataset per renderlo più efficiente.
    7. Comprimi il dataset: comprimi il dataset in un file zip.
    8. Documentazione e PR: descrivi il tuo dataset e invia una Pull Request seguendo le Linee guida per i contributi a Ultralytics.

    Consulta Contribuire con nuovi dataset per una guida completa.

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

    • Gestione semplice dei dataset: carica, organizza e gestisci i tuoi dataset in un unico posto.
    • Integrazione immediata con l'addestramento: usa i dataset caricati direttamente 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 di Ultralytics Platform.

  • I modelli Ultralytics YOLO offrono diverse funzionalità distintive per le attività di visione artificiale:

    • Prestazioni in tempo reale: capacità di inferenza e addestramento ad alta velocità per applicazioni sensibili ai tempi.
    • Versatilità: supporto per rilevamento, segmentazione di istanze, segmentazione semantica, stima della profondità, classificazione, stima della posa e attività con bounding box orientate (OBB) in un framework unificato.
    • Modelli preaddestrati: accesso a modelli preaddestrati ad alte prestazioni per varie applicazioni, con conseguente riduzione dei tempi di addestramento.
    • Ampio supporto della community: community attiva e documentazione completa per la risoluzione dei problemi e lo sviluppo.
    • Integrazione semplice: API semplice per l'integrazione con progetti e flussi di lavoro esistenti.

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

  • Per ottimizzare e comprimere un dataset con 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
    
    # Definisci la directory del dataset
    path = Path("path/to/dataset")
    
    # Ottimizza le immagini del dataset (facoltativo)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # Comprimi il dataset in 'path/to/dataset.zip'
    zip_directory(path)

    Questa procedura consente di ridurre le dimensioni del dataset, risparmiando spazio di archiviazione e velocizzando i download. Scopri di più su come ottimizzare e comprimere un dataset.

Commenti