Panoramica dei dataset
Ultralytics fornisce supporto per vari dataset al fine di facilitare attività di computer vision come il rilevamento, la segmentazione di istanze, la stima della posa, la classificazione e il tracciamento multi-oggetto. Di seguito trovi un elenco dei principali dataset di Ultralytics, seguito da un riepilogo di ciascuna attività di computer vision e dei relativi dataset.
Watch: Ultralytics Datasets Overview
Object 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 contenente immagini di fauna selvatica africana, inclusi bufali, elefanti, rinoceronti e zebre.
- Argoverse: Un dataset 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 risonanze magnetiche (MRI) o scansioni TC con dettagli su presenza, posizione e caratteristiche del tumore.
- COCO: Common Objects in Context (COCO) è un dataset su larga scala per rilevamento di oggetti, segmentazione e didascalie con 80 categorie di oggetti.
- COCO8: Un sottoinsieme più piccolo delle prime 4 immagini dai set COCO train e COCO val, 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 sensibili allo spettro.
- COCO128: Un sottoinsieme più piccolo delle prime 128 immagini dai set COCO train e COCO val, adatto per i test.
- Construction-PPE: Un dataset di immagini di cantieri edili annotate con attrezzature di sicurezza fondamentali come caschi, gilet, guanti, stivali e occhiali protettivi, insieme a etichette per l'attrezzatura mancante, supportando lo 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 d'interni annotate che presenta 12 comuni oggetti domestici, ideale per sviluppare e testare modelli di computer vision in sistemi di 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 svariati scenari stradali.
- LVIS: Un dataset su larga scala per rilevamento di oggetti, segmentazione e 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 industriali.
- Objects365: Un dataset di alta qualità su larga scala per il rilevamento di oggetti con 365 categorie e oltre 600mila immagini annotate.
- OpenImagesV7: Un dataset completo di Google con 1,7 milioni di immagini di addestramento e 42mila immagini di validazione.
- RF100: Un benchmark diversificato di rilevamento di oggetti con 100 dataset che coprono sette domini di immagini per una valutazione completa del modello.
- Signature: Un dataset contenente 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 11mila immagini e 1,7 milioni di riquadri di delimitazione.
- VisDrone: Un dataset contenente dati di rilevamento di oggetti e tracciamento multi-oggetto da immagini catturate da droni con oltre 10mila 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 11mila immagini.
- xView: Un dataset per il rilevamento di oggetti in immagini dall'alto con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.
Instance Segmentation
La segmentazione di istanze è una tecnica di computer vision che comporta l'identificazione e la localizzazione di 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 parti di veicoli, rispondendo alle esigenze di progettazione, 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 didascalie con oltre 200mila immagini etichettate.
- COCO8-seg: Un dataset più piccolo per attività di segmentazione di istanze, contenente un sottoinsieme di 8 immagini COCO con annotazioni di segmentazione.
- COCO128-seg: Un dataset più piccolo per attività di segmentazione di istanze, contenente un sottoinsieme di 128 immagini COCO con annotazioni di segmentazione.
- Crack-seg: Dataset specificamente realizzato per rilevare crepe su strade e muri, applicabile sia per attività di rilevamento di oggetti che di segmentazione.
- Package-seg: Dataset personalizzato per identificare pacchi in magazzini o contesti industriali, adatto sia per applicazioni di rilevamento di oggetti che di segmentazione.
Pose Estimation
La stima della posa è una tecnica utilizzata per determinare la posa dell'oggetto rispetto alla telecamera o al sistema di coordinate del mondo. Ciò comporta l'identificazione di punti chiave o articolazioni sugli oggetti, in particolare umani o animali.
- COCO: Un dataset su larga scala con annotazioni di 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 di posa umana.
- Dog-pose: Un dataset completo che presenta circa 6.000 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.
Classification
La classificazione delle immagini è un'attività di computer vision che prevede la categorizzazione di 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 60mila immagini a colori 32x32 in 10 classi, con 6mila 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 sottoinsieme più piccolo di ImageNet con 10 categorie per una sperimentazione e test più rapidi.
- Imagenette: Un sottoinsieme più piccolo di ImageNet che contiene 10 classi facilmente distinguibili per un addestramento e test più rapidi.
- Imagewoof: Un sottoinsieme 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: Prime 8 immagini di ogni categoria MNIST dal dataset MNIST. Il dataset contiene 160 immagini in totale.
Oriented Bounding Boxes (OBB)
Le 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 tradizionali riquadri di delimitazione, le 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 sottoinsieme più piccolo delle prime 8 immagini dal set di split 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.
Multi-Object Tracking
Il tracciamento multi-oggetto è una tecnica di computer vision che comporta il rilevamento e il tracciamento di 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 da ambienti urbani con annotazioni ricche per attività di tracciamento multi-oggetto.
- VisDrone: Un dataset contenente dati di rilevamento di oggetti e tracciamento multi-oggetto da immagini catturate da droni con oltre 10mila immagini e sequenze video.
Contribuire con nuovi dataset
Contribuire con un nuovo dataset comporta diversi passaggi per garantire che sia ben allineato 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
-
Raccogli le immagini: Raccogli le immagini che appartengono al dataset. Queste possono 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: Disponi il tuo 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/ -
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 vuoi ridurre le dimensioni del dataset per un'elaborazione più efficiente, puoi ottimizzare le immagini utilizzando il codice qui sotto. Questo non è obbligatorio, ma è consigliato per dimensioni del dataset ridotte e velocità di download più elevate.
-
Comprimi il dataset in formato Zip: Comprimi l'intera cartella del dataset in un file zip.
-
Documenta e fai una 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 di Ultralytics per maggiori dettagli su come inviare una PR.
Esempio di codice 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.
FAQ
Quali 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 rilevamento di oggetti, segmentazione e didascalie con 80 categorie di oggetti.
- LVIS: Un dataset esteso con 1203 categorie di oggetti, progettato per un rilevamento di oggetti più dettagliato.
- Argoverse: Un dataset 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: Presenta il rilevamento di oggetti densi in ambienti di vendita al dettaglio con oltre 11mila immagini.
Questi dataset facilitano l'addestramento di robusti modelli Ultralytics YOLO per varie applicazioni di rilevamento di oggetti.
Come 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/, ciascuna contenente le sottodirectoryimages/elabels/. - Crea un file
data.yaml: Includi descrizioni del dataset, 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.
- Documenta e fai una PR: Descrivi il tuo dataset e invia una Pull Request seguendo le Linee guida per i contributi di Ultralytics.
Visita Contribute New Datasets per una guida completa.
Perché dovrei usare la Ultralytics Platform per il mio dataset?
Ultralytics Platform offre potenti funzionalità per la gestione e l'analisi dei dataset, tra cui:
- Gestione continua del 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 del modello senza configurazioni aggiuntive.
- Strumenti di visualizzazione: Esplora e visualizza le immagini e le annotazioni del tuo dataset.
- Analisi del dataset: Ottieni approfondimenti sulla distribuzione e sulle caratteristiche del tuo dataset.
La piattaforma semplifica la transizione dalla gestione dei dataset all'addestramento dei modelli, rendendo l'intero processo più efficiente. Scopri di più sui Ultralytics Platform Datasets.
Quali sono le caratteristiche uniche dei modelli YOLO di Ultralytics per la computer vision?
I modelli YOLO di Ultralytics offrono diverse caratteristiche uniche per attività di computer vision:
- Prestazioni in tempo reale: capacità di inferenza e addestramento ad alta velocità per applicazioni sensibili al tempo.
- Versatilità: supporto per attività di detection, segmentation, 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 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 flussi di lavoro esistenti.
Scopri di più sui modelli YOLO nella pagina Ultralytics Models.
Come posso ottimizzare e zippare un dataset utilizzando gli strumenti Ultralytics?
Per ottimizzare e zippare un dataset utilizzando gli strumenti Ultralytics, segui questo codice di esempio:
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ù rapide. Scopri di più su come Ottimizzare e zippare un dataset.