YOLO Vision 2026:

Panoramica dei dataset#

Ultralytics offre supporto per vari dataset per facilitare attività di computer vision come detection, instance segmentation, segmentazione semantica, stima della profondità, classificazione, stima della posa e oriented bounding boxes (OBB). Di seguito trovi un elenco dei principali dataset di Ultralytics, seguito da un riepilogo di ciascuna attività di computer vision e dei rispettivi dataset. La Track mode viene eseguita sopra i modelli di detection, segmentation, pose e OBB senza alcun addestramento specifico per il tracker; consulta i tracking datasets.



Watch: Ultralytics Datasets Overview

Rilevamento di oggetti#

Il rilevamento di oggetti con Bounding box è una tecnica di visione artificiale che consiste nel rilevare e localizzare oggetti in un'immagine tracciando un bounding box attorno a ciascun oggetto.

  • African-wildlife: Un dataset che include immagini della fauna selvatica africana, tra cui bufali, elefanti, rinoceronti e zebre.
  • Argoverse: Un set di dati contenente dati di tracciamento 3D e previsione del movimento da ambienti urbani con annotazioni ricche.
  • Brain-tumor: Un dataset per il rilevamento di tumori cerebrali che include immagini di scansioni MRI o TAC con dettagli sulla presenza, posizione e caratteristiche del tumore.
  • COCO: Common Objects in Context (COCO) è un dataset su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 80 categorie di oggetti.
  • COCO8: Un sottoinsieme più piccolo delle prime 4 immagini del train e del val di COCO, 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.
  • COCO128: Un sottoinsieme più piccolo delle prime 128 immagini di COCO train2017, adatto per i test.
  • Construction-PPE: Un dataset di immagini di cantieri edili annotate con dispositivi di sicurezza chiave come elmetti, giubbotti, guanti, stivali e occhiali protettivi, insieme a etichette per l'attrezzatura mancante, a supporto dello sviluppo di modelli AI per la conformità e la protezione dei lavoratori.
  • Global Wheat 2020: Un set di dati contenente immagini di spighe di grano per la Global Wheat Challenge 2020.
  • HomeObjects-3K: Un dataset di scene d'interni annotate con 12 comuni oggetti domestici, ideale per sviluppare e testare modelli di visione artificiale in sistemi di smart home, robotica e realtà aumentata.
  • KITTI New: 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 set di dati su larga scala per il rilevamento oggetti, la segmentazione e la generazione di didascalie con 1203 categorie di oggetti.
  • Medical-pills: Un dataset contenente immagini etichettate di pillole mediche, progettato per facilitare attività come il controllo di qualità farmaceutico, la cernita e la conformità agli standard del settore.
  • Objects365: Un set di dati di alta qualità su larga scala per il rilevamento oggetti con 365 categorie di oggetti e oltre 600.000 immagini annotate.
  • OpenImagesV7: Un set di dati completo di Google con 1,7 milioni di immagini di training e 42k immagini di validazione.
  • RF100: Un benchmark diversificato per il rilevamento di oggetti con 100 dataset che coprono sette domini di immagini per una valutazione approfondita del modello.
  • Signature: Un set di dati con immagini di vari documenti con firme annotate, a supporto della verifica dei documenti e della ricerca sul rilevamento delle frodi.
  • SKU-110K: Un dataset con rilevamento di oggetti densi in ambienti retail, con oltre 11.000 immagini e 1,7 milioni di bounding box.
  • VisDrone: Un set di dati contenente dati di rilevamento oggetti e tracciamento multi-oggetto da immagini catturate da droni con oltre 10k immagini e sequenze video.
  • VOC: Il set di dati Pascal Visual Object Classes (VOC) per il rilevamento oggetti e la segmentazione con 20 classi di oggetti e oltre 11k immagini.
  • xView: Un set di dati per il rilevamento oggetti in immagini dall'alto con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.

Segmentazione di istanze#

La segmentazione d'istanza è una tecnica di visione artificiale che consiste nell'identificare e localizzare oggetti in un'immagine a livello di pixel. A differenza della segmentazione semantica, che classifica solo ciascun pixel, la instance segmentation distingue tra diverse istanze della stessa classe.

  • Carparts-seg: Dataset creato appositamente per identificare parti di veicoli, rispondendo a esigenze di design, produzione e ricerca. È utile sia per attività di rilevamento di oggetti che di segmentazione.
  • COCO: Un dataset su larga scala progettato per attività di rilevamento di oggetti, segmentazione e didascalia con oltre 200.000 immagini etichettate.
  • COCO8-seg: Un dataset più piccolo per attività di segmentazione d'istanza, contenente un sottoinsieme di 8 immagini COCO con annotazioni di segmentazione.
  • COCO128-seg: Un dataset più piccolo per attività di segmentazione d'istanza, contenente un sottoinsieme di 128 immagini COCO con annotazioni di segmentazione.
  • Crack-seg: Dataset creato specificamente per rilevare crepe su strade e pareti, applicabile sia per attività di rilevamento di oggetti che di segmentazione.
  • Package-seg: Dataset su misura per identificare colli o pacchi in magazzini o contesti industriali, adatto sia per applicazioni di rilevamento di oggetti che di segmentazione.

Segmentazione semantica#

La segmentazione semantica assegna un'etichetta di classe a ogni pixel in un'immagine, producendo mappe di scene dense per applicazioni come la guida autonoma, il parsing di scene e la mappatura del suolo.

  • Cityscapes: Dataset di segmentazione semantica per scene stradali urbane con 19 classi di training.
  • Cityscapes8: Un sottoinsieme compatto di Cityscapes di 8 immagini per rapidi controlli della pipeline di segmentazione semantica.
  • ADE20K: Dataset di parsing di scene con 150 classi semantiche.

Stima della profondità#

La depth estimation monoculare predice una mappa di profondità per pixel in metri a partire da una singola immagine RGB, supportando la ricostruzione di scene 3D, la navigazione robotica e applicazioni AR/VR.

  • NYU Depth V2: Benchmark standard di profondità per ambienti interni acquisito con un Microsoft Kinect v1.
  • KITTI: Scene reali di guida autonoma all'aperto con dati di profondità Velodyne LiDAR.
  • Depth8: Un sottoinsieme compatto di 8 immagini SUN RGB-D per rapidi controlli della pipeline.

Classificazione#

La Image classification è un'attività di visione artificiale che consiste nel classificare 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 di immagini.
  • Caltech 256: Una versione estesa di Caltech 101 con 256 categorie di oggetti e immagini più complesse.
  • CIFAR-10: Un dataset di 60.000 immagini a colori 32x32 in 10 classi, con 6.000 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 moda per attività di classificazione di immagini.
  • ImageNet: Un dataset su larga scala per il rilevamento di oggetti e la classificazione di 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 che contiene 10 classi facilmente distinguibili per training e test più rapidi.
  • Imagewoof: Un sottoinsieme più impegnativo di ImageNet contenente 10 categorie di razze canine per attività di classificazione di immagini.
  • MNIST: Un dataset di 70.000 immagini in scala di grigi di cifre scritte a mano per attività di classificazione di immagini.
  • MNIST160: Prime 8 immagini di ciascuna cifra (0-9) sia dagli split di training che di test di MNIST. Il dataset contiene in totale 160 immagini.

Stima della posa#

La stima della posa è una tecnica utilizzata per determinare la posa di un oggetto rispetto alla telecamera o al sistema di coordinate del mondo. Ciò comporta l'identificazione di punti chiave o articolazioni sugli oggetti, in particolare esseri umani o animali.

  • COCO: Un dataset su larga scala con annotazioni di pose umane 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 di pose umane.
  • Dog-pose: Un dataset completo che include circa 8.500 immagini incentrate sui cani, annotate con 24 punti chiave per cane, pensato su misura per attività di stima della posa.
  • Hand-Keypoints: Un dataset conciso che include oltre 26.000 immagini incentrate sulle mani umane, annotate con 21 punti chiave per mano, progettato per attività di stima della posa.
  • Tiger-pose: Un dataset compatto composto da 263 immagini incentrate sulle tigri, annotate con 12 punti chiave per tigre per attività di stima della posa.

Oriented Bounding Boxes (OBB)#

Gli Oriented Bounding Boxes (OBB) sono un metodo nella 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 diverse orientazioni.

  • DOTA-v2: Un famoso dataset di immagini aeree con bounding box orientati (OBB) con 1,7 milioni di istanze e 11.268 immagini.
  • DOTA8: Un sottoinsieme più piccolo delle prime 8 immagini dal set di split DOTAv1, 4 per il training e 4 per la validazione, adatto per test rapidi.
  • DOTA128: Un sottoinsieme di 128 immagini del dataset DOTA con 128 immagini per training e validazione, che offre un buon equilibrio tra dimensioni e diversità per il test dei modelli OBB.

Contribuire con nuovi dataset#

Contribuire con un nuovo dataset comporta diversi passaggi per garantire che si allinei bene 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. Raccogli le immagini: Raccogli le immagini che appartengono al dataset. Queste potrebbero essere raccolte da varie fonti, come database pubblici o la tua collezione personale.

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

  3. Export Annotations: Converti queste annotazioni nel formato file YOLO *.txt supportato da Ultralytics.

  4. Organize 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. Create a data.yaml File: Nella directory principale del dataset, crea un file data.yaml che descriva il dataset, le classi e altre informazioni necessarie.

  6. Ottimizza le immagini (opzionale): Se desideri ridurre le dimensioni del dataset per un'elaborazione più efficiente, puoi ottimizzare le immagini utilizzando il codice sottostante. Ciò non è obbligatorio, ma è consigliato per dimensioni del dataset più piccole e velocità di download più elevate.

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

  8. Document and PR: Crea una pagina di documentazione che descriva il tuo dataset e come si integra nel framework esistente. Dopodiché, invia una Pull Request (PR). Fai riferimento alle Ultralytics Contribution Guidelines per ulteriori 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 integra bene con la struttura esistente di Ultralytics.

FAQ#

  • Ultralytics supporta un'ampia varietà di dataset per il object detection, tra cui:

    • COCO: Un dataset su larga scala per il rilevamento di oggetti, la segmentazione e la didascalia con 80 categorie di oggetti.
    • LVIS: Un dataset esteso con 1203 categorie di oggetti, progettato per un rilevamento e una segmentazione di oggetti più dettagliati.
    • Argoverse: Un set di dati contenente dati di tracciamento 3D e previsione del movimento da ambienti urbani con annotazioni ricche.
    • VisDrone: Un dataset con dati di rilevamento di oggetti e tracciamento multi-oggetto da immagini catturate da droni.
    • SKU-110K: Caratterizzato da un rilevamento di oggetti densi in ambienti retail con oltre 11.000 immagini.

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

  • Contribuire con un nuovo dataset comporta diversi passaggi:

    1. Raccogli le immagini: Raccogli immagini da database pubblici o collezioni personali.
    2. Annota le immagini: Applica riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.
    3. Export Annotations: Converti le annotazioni nel formato YOLO *.txt.
    4. Organize Dataset: Usa la struttura di cartelle con le directory train/ e val/, ciascuna contenente le sottodirectory images/ e labels/.
    5. Create a data.yaml File: Includi descrizioni del dataset, classi e altre informazioni rilevanti.
    6. Ottimizza le immagini (opzionale): Riduci le dimensioni del dataset per l'efficienza.
    7. Comprimi il dataset in formato zip: Comprimi il dataset in un file zip.
    8. Document and PR: Descrivi il tuo dataset e invia una Pull Request seguendo le Ultralytics Contribution Guidelines.

    Visita Contribute New Datasets per una guida completa.

  • Ultralytics Platform offre funzionalità potenti 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 per l'addestramento: Usa i dataset caricati direttamente per l'addestramento dei modelli senza configurazioni aggiuntive.
    • Strumenti di visualizzazione: Esplora e visualizza le immagini e le annotazioni del tuo dataset.
    • Analisi dei dataset: Ottieni informazioni sulla distribuzione e sulle caratteristiche del tuo dataset.

    La piattaforma semplifica la transizione dalla gestione dei dataset all'addestramento del modello, rendendo l'intero processo più efficiente. Scopri di più su Ultralytics Platform Datasets.

  • I modelli Ultralytics YOLO offrono diverse funzionalità uniche per attività di computer vision:

    • Prestazioni in tempo reale: Capacità di inferenza e addestramento ad alta velocità per applicazioni sensibili al fattore tempo.
    • Versatilità: Supporto per attività di detection, instance segmentation, semantic segmentation, depth estimation, classification e pose estimation in un framework unificato.
    • Modelli preaddestrati: Accesso a modelli preaddestrati ad alte prestazioni per varie applicazioni, riducendo i tempi di addestramento.
    • Ampio supporto dalla community: Community attiva e documentazione completa per la risoluzione dei problemi e lo sviluppo.
    • Facile integrazione: API semplice per l'integrazione in progetti e flussi di lavoro esistenti.

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

  • Per ottimizzare e comprimere 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 Optimize and Zip a Dataset.

Commenti