Panoramica dei set di dati
Ultralytics fornisce il supporto per vari insiemi di dati per facilitare le attività di computer vision come il rilevamento, la segmentazione dell'istanza, la stima della posa, la classificazione e il tracciamento di più oggetti. Di seguito è riportato un elenco dei principali set di dati di Ultralytics , seguito da un riepilogo di ciascuna attività di computer vision e dei rispettivi set di dati.
Guarda: Ultralytics Panoramica dei set di dati
Rilevamento degli oggetti
L'individuazione di oggetti in un riquadro di delimitazione è una tecnica di visione computerizzata che prevede l'individuazione e la localizzazione di oggetti in un'immagine disegnando un riquadro di delimitazione attorno a ciascun oggetto.
- Argoverse: Un set di dati che contiene dati di tracciamento 3D e di previsione del movimento da ambienti urbani, con annotazioni ricche.
- COCO: Common Objects in Context (COCO) è un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 80 categorie di oggetti.
- LVIS: un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 1203 categorie di oggetti.
- COCO8: un sottoinsieme più piccolo delle prime 4 immagini di COCO train e COCO val, adatto a test rapidi.
- COCO128: un sottoinsieme più piccolo delle prime 128 immagini di COCO train e COCO val, adatto per i test.
- Grano globale 2020: Un set di dati contenente immagini di teste di grano per la Global Wheat Challenge 2020.
- Oggetti365: Un set di dati di alta qualità e su larga scala per il rilevamento di 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 addestramento e 42.000 immagini di convalida.
- SKU-110K: Un set di dati per il rilevamento di oggetti densi in ambienti di vendita al dettaglio con oltre 11.000 immagini e 1,7 milioni di caselle di delimitazione.
- VisDrone: Un set di dati contenente dati sul rilevamento di oggetti e sul tracciamento di più oggetti da immagini catturate da droni con oltre 10.000 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 11.000 immagini.
- xView: Un set di dati per il rilevamento di oggetti in immagini dall'alto con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.
- RF100: un benchmark per il rilevamento di oggetti diversi con 100 set di dati che coprono sette domini di immagini per una valutazione completa dei modelli.
- Tumore al cervello: Un set di dati per il rilevamento dei tumori cerebrali comprende immagini di risonanza magnetica o TAC con dettagli sulla presenza, la posizione e le caratteristiche del tumore.
- African-wildlife: Un set di dati con immagini di animali selvatici africani, tra cui bufali, elefanti, rinoceronti e zebre.
- Firma: Un set di dati che contiene immagini di vari documenti con firme annotate, a supporto della verifica dei documenti e della ricerca sulle frodi.
- Pillole mediche: Un set di dati contenente immagini etichettate di pillole mediche, progettato per aiutare in attività come il controllo di qualità farmaceutico, lo smistamento e la garanzia di conformità agli standard industriali.
Segmentazione delle istanze
La segmentazione delle istanze è una tecnica di computer vision che prevede l'identificazione e la localizzazione degli oggetti in un'immagine a livello di pixel. A differenza della segmentazione semantica, che si limita a classificare ciascun pixel, la segmentazione delle istanze distingue tra diverse istanze della stessa classe.
- COCO: un dataset su larga scala progettato per compiti di rilevamento, segmentazione e didascalia di oggetti, con oltre 200.000 immagini etichettate.
- COCO8-seg: un set di dati più piccolo per compiti di segmentazione di istanze, contenente un sottoinsieme di 8 immagini COCO con annotazioni di segmentazione.
- COCO128-seg: un set di dati più piccolo per compiti di segmentazione, contenente un sottoinsieme di 128 immagini COCO con annotazioni di segmentazione.
- Crack-seg: dataset specifico per il rilevamento di crepe su strade e muri, applicabile sia per il rilevamento di oggetti che per la segmentazione.
- Package-seg: set di dati su misura per l'identificazione di pacchi in magazzini o ambienti industriali, adatto per applicazioni di rilevamento e segmentazione di oggetti.
- Carparts-seg: set di dati creato appositamente per l'identificazione di parti di veicoli, per soddisfare le esigenze di progettazione, produzione e ricerca. Serve sia per il rilevamento che per la segmentazione degli oggetti.
Stima della posa
La stima della posa è una tecnica utilizzata per determinare la posa dell'oggetto rispetto alla telecamera o al sistema di coordinate del mondo. Si tratta di identificare i punti chiave o le articolazioni degli oggetti, in particolare di esseri umani o animali.
- COCO: un dataset su larga scala con annotazioni di pose umane progettato per compiti di stima della posa.
- COCO8-pose: un dataset più piccolo per compiti di stima della posa, contenente un sottoinsieme di 8 immagini COCO con annotazioni di posa umane.
- Tiger-pose: un set di dati compatto costituito da 263 immagini incentrate sulle tigri, annotate con 12 punti chiave per tigre per compiti di stima della posa.
- Hand-Keypoints: Un dataset conciso con oltre 26.000 immagini centrate su mani umane, annotate con 21 punti chiave per mano, progettato per compiti di stima della posa.
- Dog-pose: un set di dati completo con circa 6.000 immagini di cani, annotate con 24 punti chiave per ogni cane, adattate a compiti di stima della posa.
Classificazione
La classificazione delle immagini è un'attività di computer vision che prevede la classificazione di un'immagine in una o più classi o categorie predefinite in base al suo contenuto visivo.
- Caltech 101: un set di dati contenente immagini di 101 categorie di oggetti per compiti 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 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.
- Moda-MNIST: Un set di dati composto da 70.000 immagini in scala di grigi di 10 categorie di moda per compiti di classificazione delle 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 una sperimentazione e un test più rapidi.
- Imagenette: Un sottoinsieme più piccolo di ImageNet che contiene 10 classi facilmente distinguibili per un addestramento e un test più rapidi.
- Imagewoof: Un sottoinsieme più impegnativo di ImageNet contenente 10 categorie di razze canine per compiti di classificazione delle immagini.
- MNIST: Un dataset di 70.000 immagini in scala di grigi di cifre scritte a mano per compiti di classificazione delle immagini.
- MNIST160: Prime 8 immagini di ogni categoria MNIST dal dataset MNIST. Il set di dati contiene 160 immagini in totale.
Caselle di delimitazione orientate (OBB)
L'Oriented Bounding Boxes (OBB) è un metodo di visione computerizzata che consente di rilevare oggetti angolati nelle immagini utilizzando caselle di delimitazione ruotate, spesso applicate a immagini aeree e satellitari. A differenza dei riquadri di delimitazione tradizionali, gli OBB possono adattarsi meglio agli oggetti con diversi orientamenti.
- 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 del set diviso DOTAv1, 4 per l'addestramento e 4 per la convalida, adatto a test rapidi.
Tracciamento di più oggetti
L'inseguimento di più oggetti è una tecnica di computer vision che prevede il rilevamento e l'inseguimento di più oggetti nel tempo in una sequenza video. Questo compito estende il rilevamento degli oggetti mantenendo identità coerenti tra i fotogrammi.
- Argoverse: Un set di dati che contiene dati di tracciamento 3D e di previsione del movimento da ambienti urbani con ricche annotazioni per compiti di tracciamento di più oggetti.
- VisDrone: Un set di dati contenente dati sul rilevamento di oggetti e sul tracciamento di più oggetti da immagini catturate da droni con oltre 10.000 immagini e sequenze video.
Contribuire a nuovi set di dati
L'inserimento di un nuovo set di dati comporta diverse fasi per garantire che si allinei bene con l'infrastruttura esistente. Di seguito sono riportate le fasi necessarie:
Guarda: Come contribuire ai dataset di Ultralytics 🚀
Passi per contribuire a un nuovo set di dati
- Raccogliere le immagini: Raccogliere le immagini che appartengono al set di dati. Queste possono essere raccolte da varie fonti, come database pubblici o la propria collezione.
- Annotare le immagini: Annotate le immagini con riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività da svolgere.
- Esportazione di annotazioni: Convertire queste annotazioni in YOLO
*.txt
formato di file supportato da Ultralytics . -
Organizzare il set di dati: Disporre il set di dati nella struttura di cartelle corretta. Dovreste avere
train/
eval/
directory di primo livello e, all'interno di ognuna di esse, una cartellaimages/
elabels/
sottodirectory. -
Creare un
data.yaml
File: Nella directory principale del set di dati, creare una cartelladata.yaml
che descrive il set di dati, le classi e altre informazioni necessarie. - Ottimizzazione delle immagini (opzionale): Se si desidera ridurre le dimensioni del set di dati per un'elaborazione più efficiente, è possibile ottimizzare le immagini utilizzando il codice sottostante. Questa operazione non è obbligatoria, ma è consigliata per ridurre le dimensioni del set di dati e aumentare la velocità di download.
- Zip Dataset: Comprime l'intera cartella del set di dati in un file zip.
- Documentazione e PR: Creare una pagina di documentazione che descriva il proprio set di dati e come si inserisce nella struttura esistente. Dopodiché, inviare una richiesta di modifica (PR). Per maggiori dettagli su come inviare una PR, consultare le Linee guida per i contributi diUltralytics .
Codice di esempio per ottimizzare e zippare un set di dati
Ottimizzare e zippare un set di dati
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, è possibile contribuire con un nuovo set di dati che si integri bene con la struttura esistente di Ultralytics.
FAQ
Quali set di dati supporta Ultralytics per il rilevamento degli oggetti?
Ultralytics supporta un'ampia varietà di set di dati per il rilevamento degli oggetti, tra cui:
- COCO: un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 80 categorie di oggetti.
- LVIS: un ampio set di dati con 1203 categorie di oggetti, progettato per il rilevamento e la segmentazione di oggetti a grana più fine.
- Argoverse: Un set di dati che contiene dati di tracciamento 3D e di previsione del movimento da ambienti urbani, con annotazioni ricche.
- VisDrone: Un set di dati con rilevamento di oggetti e tracciamento di più oggetti da immagini catturate da droni.
- SKU-110K: Caratterizzato dal rilevamento di oggetti densi in ambienti di vendita al dettaglio con oltre 11.000 immagini.
Questi set di dati facilitano l'addestramento di robusti Ultralytics YOLO per varie applicazioni di rilevamento di oggetti.
Come si fa a contribuire con un nuovo set di dati a Ultralytics?
Il contributo di un nuovo set di dati comporta diverse fasi:
- Raccogliere immagini: Raccogliere immagini da database pubblici o da collezioni personali.
- Annotare le immagini: Applicare riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività da svolgere.
- Esportazione di annotazioni: Convertire le annotazioni nel formato YOLO
*.txt
formato. - Organizzare il set di dati: Utilizzare la struttura di cartelle con
train/
eval/
cartelle, ognuna delle quali contieneimages/
elabels/
sottodirectory. - Creare un
data.yaml
File: Includere le descrizioni dei set di dati, le classi e altre informazioni pertinenti. - Ottimizzazione delle immagini (opzionale): Riduce le dimensioni del set di dati per garantire l'efficienza.
- Zip Dataset: Comprimere il set di dati in un file zip.
- Documento e PR: Descrivete il vostro set di dati e inviate una richiesta di pull seguendo le linee guida per i contributi diUltralytics .
Per una guida completa, visitate il sito Contribuire nuovi set di dati.
Perché dovrei usare Ultralytics HUB per il mio set di dati?
Ultralytics HUB offre potenti funzioni per la gestione e l'analisi dei set di dati, tra cui:
- Gestione dei set di dati senza soluzione di continuità: Caricate, organizzate e gestite i vostri set di dati in un unico posto.
- Integrazione immediata della formazione: Utilizzate i dataset caricati direttamente per l'addestramento del modello senza ulteriori configurazioni.
- Strumenti di visualizzazione: Esplorate e visualizzate le immagini e le annotazioni del vostro set di dati.
- Analisi del set di dati: Ottenete informazioni sulla distribuzione e sulle caratteristiche del vostro set di dati.
La piattaforma semplifica la transizione dalla gestione dei dataset alla formazione dei modelli, rendendo l'intero processo più efficiente. Per saperne di più su Ultralytics HUB Datasets.
Quali sono le caratteristiche uniche dei modelli di Ultralytics YOLO per la computer vision?
I modelli Ultralytics YOLO 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 ai tempi.
- Versatilità: Supporto per attività di rilevamento, segmentazione, classificazione e stima della posa in un quadro unificato.
- Modelli preaddestrati: Accesso a modelli preaddestrati ad alte prestazioni per varie applicazioni, riducendo i tempi di formazione.
- Ampio supporto della comunità: Comunità 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.
Scoprite di più sui modelli YOLO alla pagina Modelli diUltralytics .
Come si può ottimizzare e comprimere un set di dati utilizzando gli strumenti di Ultralytics ?
Per ottimizzare e comprimere un set di dati utilizzando gli strumenti di Ultralytics , seguite questo esempio di codice:
Ottimizzare e zippare un set di dati
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 consente di ridurre le dimensioni del set di dati per un'archiviazione più efficiente e una maggiore velocità di download. Per saperne di più su come ottimizzare e zippare un set di dati.