Link to this sectionPanoramica dei dataset#
Ultralytics fornisce supporto per vari dataset al fine di agevolare le attività di computer vision come il rilevamento, la segmentazione di istanze, la segmentazione semantica, la stima della posa, la classificazione e il tracciamento multi-oggetto. Di seguito è riportato un elenco dei principali dataset Ultralytics, seguito da un riepilogo di ogni attività di computer vision e dai relativi dataset.
Watch: Ultralytics Datasets Overview
Link to this sectionObject Detection#
Il rilevamento di oggetti tramite riquadro di delimitazione è una tecnica di computer vision che consiste nel rilevare e localizzare oggetti in un'immagine disegnando un riquadro di delimitazione attorno a ciascun oggetto.
- African-wildlife: un dataset che contiene immagini di fauna selvatica africana, inclusi bufali, elefanti, rinoceronti e zebre.
- Argoverse: un dataset contenente dati di tracciamento 3D e previsione del movimento provenienti da ambienti urbani con annotazioni dettagliate.
- Brain-tumor: un dataset per il rilevamento di tumori cerebrali che include immagini di risonanze magnetiche o TAC con dettagli su presenza, posizione e caratteristiche del tumore.
- COCO: Common Objects in Context (COCO) è un dataset su larga scala per il rilevamento di oggetti, la segmentazione e la creazione di didascalie con 80 categorie di oggetti.
- COCO8: un subset più piccolo composto dalle prime 4 immagini di COCO train e COCO val, adatto a 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 che supportano lo spettro.
- COCO128: un subset più piccolo composto dalle prime 128 immagini di COCO train2017, adatto per i test.
- Construction-PPE: un dataset di immagini di cantieri edili annotate con dispositivi di protezione individuale fondamentali come caschi, giubbotti, guanti, stivali e occhiali protettivi, insieme a etichette per l'equipaggiamento mancante, a supporto dello sviluppo di modelli 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 New: un noto dataset per la guida autonoma che include input stereo, LiDAR e GPS/IMU, utilizzato per il rilevamento di oggetti 2D in varie scene stradali.
- LVIS: un dataset su larga scala per il rilevamento di oggetti, la segmentazione e la creazione di didascalie con 1203 categorie di oggetti.
- Medical-pills: un dataset contenente immagini etichettate di pillole mediche, progettato per aiutare in attività come il controllo qualità farmaceutico, lo smistamento e la verifica della conformità agli standard del settore.
- Objects365: un dataset di alta qualità su larga scala per il rilevamento di oggetti con 365 categorie di oggetti e oltre 600.000 immagini annotate.
- OpenImagesV7: un dataset completo di Google con 1,7 milioni di immagini di addestramento e 42 mila immagini di validazione.
- RF100: un benchmark diversificato per il rilevamento di oggetti con 100 dataset che coprono sette domini di immagini per una valutazione completa del modello.
- Signature: un dataset che presenta immagini di vari documenti con firme annotate, a supporto della verifica dei documenti e della ricerca sul rilevamento delle frodi.
- SKU-110K: un dataset che presenta il rilevamento di oggetti densi in ambienti di vendita al dettaglio con oltre 11 mila immagini e 1,7 milioni di riquadri di delimitazione.
- VisDrone: un dataset contenente dati di rilevamento oggetti e tracciamento multi-oggetto da immagini catturate da droni, con oltre 10 mila immagini e sequenze video.
- VOC: il dataset Pascal Visual Object Classes (VOC) per il rilevamento e la segmentazione di oggetti con 20 classi di oggetti e oltre 11 mila immagini.
- xView: un dataset per il rilevamento di oggetti in immagini aeree con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.
Link to this sectionInstance Segmentation#
La segmentazione di 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 solo ogni pixel, la segmentazione di istanze distingue tra diverse istanze della stessa classe.
- Carparts-seg: dataset creato appositamente per identificare le parti dei veicoli, soddisfacendo le esigenze di design, produzione e ricerca. È utile sia per attività di rilevamento oggetti che di segmentazione.
- COCO: un dataset su larga scala progettato per attività di rilevamento di oggetti, segmentazione e creazione di didascalie con oltre 200 mila immagini etichettate.
- COCO8-seg: un dataset più piccolo per attività di segmentazione di istanze, contenente un subset di 8 immagini COCO con annotazioni di segmentazione.
- COCO128-seg: un dataset più piccolo per attività di segmentazione di istanze, contenente un subset di 128 immagini COCO con annotazioni di segmentazione.
- Crack-seg: dataset creato specificamente per rilevare crepe su strade e muri, applicabile sia per attività di rilevamento oggetti che di segmentazione.
- Package-seg: dataset su misura per identificare pacchi in magazzini o contesti industriali, adatto sia per applicazioni di rilevamento oggetti che di segmentazione.
Link to this sectionSemantic Segmentation#
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 di scene stradali urbane con 19 classi di addestramento.
- Cityscapes8: un subset compatto di Cityscapes di 8 immagini per controlli rapidi della pipeline di segmentazione semantica.
- ADE20K: dataset di parsing di scene con 150 classi semantiche.
Link to this sectionPose Estimation#
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 della posa umana progettato per attività di stima della posa.
- COCO8-pose: un dataset più piccolo per attività di stima della posa, contenente un subset di 8 immagini COCO con annotazioni della posa umana.
- Dog-pose: un dataset completo che presenta circa 8.500 immagini incentrate sui cani, annotate con 24 punti chiave per cane, su misura per attività di stima della posa.
- Hand-Keypoints: un dataset conciso che presenta 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.
Link to this sectionClassification#
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ù complesse.
- CIFAR-10: un dataset di 60 mila immagini a colori 32x32 in 10 classi, con 6 mila 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 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 subset più piccolo di ImageNet con 10 categorie per una sperimentazione e un test più rapidi.
- Imagenette: un subset più piccolo di ImageNet che contiene 10 classi facilmente distinguibili per un addestramento e un test più rapidi.
- Imagewoof: un subset più complesso 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 dagli split di addestramento che di test di MNIST. Il dataset contiene 160 immagini in totale.
Link to this sectionOriented 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 popolare dataset di immagini aeree OBB con 1,7 milioni di istanze e 11.268 immagini.
- DOTA8: un subset più piccolo delle prime 8 immagini dal set di split DOTAv1, 4 per l'addestramento e 4 per la validazione, adatto a test rapidi.
- DOTA128: un subset di 128 immagini del dataset DOTA con 128 immagini per l'addestramento e la validazione, fornendo un buon equilibrio tra dimensioni e diversità per testare i modelli OBB.
Link to this sectionMulti-Object Tracking#
Il tracciamento multi-oggetto è una tecnica di computer vision che consiste nel rilevare e tracciare più oggetti nel tempo in una sequenza video. Questa attività estende il rilevamento di oggetti mantenendo identità coerenti degli oggetti tra i fotogrammi.
- Argoverse: un dataset contenente dati di tracciamento 3D e previsione del movimento provenienti da ambienti urbani con ricche annotazioni per attività di tracciamento multi-oggetto.
- VisDrone: un dataset contenente dati di rilevamento oggetti e tracciamento multi-oggetto da immagini catturate da droni, con oltre 10 mila immagini e sequenze video.
Link to this sectionContribuire 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
Link to this sectionPassaggi per contribuire con un nuovo dataset#
-
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.
-
Annota le immagini: Annota queste immagini con riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.
-
Esporta le annotazioni: Converti queste annotazioni nel formato di file YOLO
*.txtsupportato da Ultralytics. -
Organizza il dataset: Organizza il tuo dataset nella struttura di cartelle corretta. Dovresti avere directory di primo livello
images/elabels/e, all'interno di ciascuna, una sottodirectorytrain/eval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Crea un file
data.yaml: Nella directory principale del tuo dataset, crea un filedata.yamlche descriva il dataset, le classi e altre informazioni necessarie. -
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.
-
Comprimi il dataset in formato zip: Comprimi l'intera cartella del dataset in un file zip.
-
Documentazione e PR: Crea una pagina di documentazione che descriva il tuo dataset e come si inserisce nel framework esistente. Successivamente, invia una Pull Request (PR). Fai riferimento alle Linee guida per i contributi Ultralytics per maggiori dettagli su come inviare una PR.
Link to this sectionCodice di esempio per 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.
Link to this sectionFAQ#
Link to this sectionQuali dataset supporta Ultralytics per il rilevamento di oggetti?#
Ultralytics supporta un'ampia varietà di dataset per il rilevamento di oggetti, tra cui:
- COCO: un dataset su larga scala per il rilevamento di oggetti, la segmentazione e la creazione di didascalie con 80 categorie di oggetti.
- LVIS: un dataset esteso con 1203 categorie di oggetti, progettato per un rilevamento di oggetti e una segmentazione più granulari.
- Argoverse: un dataset contenente dati di tracciamento 3D e previsione del movimento provenienti da ambienti urbani con annotazioni dettagliate.
- VisDrone: un dataset con dati di rilevamento oggetti e tracciamento multi-oggetto da immagini catturate da droni.
- SKU-110K: presenta il rilevamento di oggetti densi in ambienti di vendita al dettaglio con oltre 11 mila immagini.
Questi dataset facilitano l'addestramento di modelli robusti Ultralytics YOLO per varie applicazioni di rilevamento oggetti.
Link to this sectionCome posso contribuire con un nuovo dataset a Ultralytics?#
Contribuire con un nuovo dataset comporta diversi passaggi:
- Raccogli le immagini: Raccogli immagini da database pubblici o collezioni personali.
- Annota le immagini: Applica riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.
- Esporta le annotazioni: Converti le annotazioni nel formato YOLO
*.txt. - Organizza il dataset: Usa la struttura di cartelle con directory
train/eval/, ognuna contenente sottodirectoryimages/elabels/. - Crea un file
data.yaml: Includi le descrizioni del dataset, le classi e altre informazioni pertinenti. - Ottimizza le immagini (opzionale): Riduci le dimensioni del dataset per l'efficienza.
- Comprimi il dataset in formato zip: Comprimi il dataset in un file zip.
- Documentazione e PR: Descrivi il tuo dataset e invia una Pull Request seguendo le Linee guida per i contributi Ultralytics.
Visita Contribuire con nuovi dataset per una guida completa.
Link to this sectionPerché dovrei usare la piattaforma Ultralytics per il mio dataset?#
Ultralytics Platform offre potenti funzionalità 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 il passaggio dalla gestione dei dataset all'addestramento dei modelli, rendendo l'intero processo più efficiente. Scopri di più sui Dataset della Ultralytics Platform.
Link to this sectionQuali sono le caratteristiche uniche dei modelli YOLO di Ultralytics per la computer vision?#
I modelli YOLO di Ultralytics offrono diverse caratteristiche uniche per le 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, classificazione 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 Modelli Ultralytics.
Link to this sectionCome posso ottimizzare e comprimere un dataset usando gli strumenti Ultralytics?#
Per ottimizzare e comprimere un dataset utilizzando gli strumenti Ultralytics, segui questo esempio di codice:
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 un'archiviazione più efficiente e velocità di download più elevate. Scopri di più su come Ottimizzare e comprimere un dataset.