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#
-
Raccogliere le immagini: raccogli le immagini che appartengono al dataset. Puoi reperirle da varie fonti, come database pubblici o la tua raccolta.
-
Annotare le immagini: annota queste immagini con riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.
-
Esportare le annotazioni: converti queste annotazioni nel formato di file YOLO
*.txtsupportato da Ultralytics. -
Organizzare il dataset: disponi il dataset nella struttura di cartelle corretta. Dovresti avere le directory di primo livello
images/elabels/e, all'interno di ciascuna, una sottodirectorytrain/eval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Creare un file
data.yaml: nella directory principale del dataset, crea un filedata.yamlche descriva il dataset, le classi e altre informazioni necessarie. -
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.
-
Comprimere il dataset: comprimi l'intera cartella del dataset in un file zip.
-
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#
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:
- Raccogliere le immagini: raccogli immagini da database pubblici o raccolte personali.
- Annotare le immagini: applica riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività.
- Esportare le annotazioni: converti le annotazioni nel formato YOLO
*.txt. - Organizzare il dataset: usa la struttura di cartelle con le directory
train/eval/, ciascuna contenente le sottodirectoryimages/elabels/. - Creare un file
data.yaml: includi le descrizioni del dataset, le classi e altre informazioni pertinenti. - Ottimizzare le immagini (facoltativo): riduci le dimensioni del dataset per una maggiore efficienza.
- Comprimere il dataset: comprimi il dataset in un file zip.
- 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 datasetfrom 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.