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
Ultralytics Esploratore
Nota della Comunità ⚠️
A partire da ultralytics>=8.3.10
, il supporto di Ultralytics explorer è stato deprecato. Ma non preoccupatevi! È ora possibile accedere a funzionalità simili e persino migliorate tramite Ultralytics HUBla nostra piattaforma intuitiva senza codice, progettata per semplificare il vostro flusso di lavoro. Con Ultralytics HUB, potete continuare a esplorare, visualizzare e gestire i vostri dati senza sforzo, il tutto senza scrivere una sola riga di codice. Assicuratevi di dare un'occhiata e di approfittare delle sue potenti funzioni!🚀
Create embeddings per il vostro set di dati, cercate immagini simili, eseguite query SQL, eseguite ricerche semantiche e persino ricerche in linguaggio naturale! È possibile iniziare con la nostra applicazione GUI o creare la propria utilizzando l'API. Per saperne di più , cliccate qui.
- Provate la demo dell 'interfaccia grafica
- Per saperne di più sull'API Explorer
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.
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.
- 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.
- 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 computer vision per rilevare oggetti angolati nelle immagini utilizzando bounding box ruotati, spesso applicato a immagini aeree e satellitari.
- 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
Il tracciamento di più oggetti è una tecnica di computer vision che prevede il rilevamento e il tracciamento di più oggetti nel tempo in una sequenza video.
- 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:
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 modelli robusti per varie applicazioni di rilevamento degli 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 Explorer per il mio set di dati?
Ultralytics Explorer offre potenti funzioni per l'analisi dei set di dati, tra cui:
- Generazione di incorporazioni: Creazione di incorporazioni vettoriali per le immagini.
- Ricerca semantica: Ricerca di immagini simili utilizzando embeddings o AI.
- Query SQL: Esecuzione di query SQL avanzate per l'analisi dettagliata dei dati.
- Ricerca in linguaggio naturale: Ricerca con query in linguaggio semplice per una maggiore facilità d'uso.
Esplorate il sito Ultralytics Explorer per maggiori informazioni e per provare la demo dell 'interfaccia grafica.
Quali sono le caratteristiche uniche dei modelli di Ultralytics YOLO per la computer vision?
Ultralytics YOLO I modelli offrono diverse caratteristiche uniche:
- Prestazioni in tempo reale: Inferenza e formazione ad alta velocità.
- Versatilità: Adatto a compiti di rilevamento, segmentazione, classificazione e stima della posa.
- Modelli preaddestrati: Accesso a modelli preaddestrati ad alte prestazioni per varie applicazioni.
- Ampio supporto della comunità: Comunità attiva e documentazione completa per la risoluzione dei problemi e lo sviluppo.
Scoprite di più su YOLO alla Ultralytics YOLO pagina.
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)
Per saperne di più su come ottimizzare e zippare un set di dati.