Vai al contenuto

Panoramica dei dataset

Ultralytics fornisce supporto per vari set di dati per 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 è riportato un elenco dei principali set di dati Ultralytics, seguito da un riepilogo di ciascuna attività di computer vision e dei rispettivi set di dati.



Guarda: Panoramica dei set di dati Ultralytics

Rilevamento di oggetti

Il rilevamento di oggetti tramite bounding box è una tecnica di computer vision che prevede il rilevamento e la localizzazione di oggetti in un'immagine disegnando un riquadro di delimitazione attorno a ciascun oggetto.

  • Argoverse: Un set di dati contenente dati di tracciamento 3D e previsione del movimento da ambienti urbani con ricche annotazioni.
  • COCO: Common Objects in Context (COCO) è un set di dati su larga scala per il rilevamento di oggetti, la segmentazione e la didascalia con 80 categorie di oggetti.
  • LVIS: Un set di dati su larga scala per il rilevamento di oggetti, la segmentazione e la didascalia con 1203 categorie di oggetti.
  • COCO8: Un sottoinsieme più piccolo delle prime 4 immagini di 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 singolo canale.
  • COCO8-Multispectral: Una versione multispettrale a 10 canali di COCO8 creata interpolando le lunghezze d'onda RGB, utile per la valutazione di modelli spectral-aware.
  • COCO128: Un sottoinsieme più piccolo delle prime 128 immagini di COCO train e COCO val, adatto per i test.
  • Global Wheat 2020: Un set di dati contenente immagini di spighe di grano per il Global Wheat Challenge 2020.
  • Objects365: 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 caratterizzato dal rilevamento denso di oggetti in ambienti di vendita al dettaglio con oltre 11.000 immagini e 1,7 milioni di riquadri di delimitazione.
  • HomeObjects-3K Nuovo 🚀: Un set di dati di scene indoor annotate con 12 oggetti domestici comuni, ideale per sviluppare e testare modelli di computer vision in sistemi di smart home, robotica e realtà aumentata.
  • VisDrone: Un set di dati contenente dati di rilevamento di oggetti e tracciamento multi-oggetto da immagini acquisite da droni con oltre 10.000 immagini e sequenze video.
  • VOC: Il set di dati Pascal Visual Object Classes (VOC) per il rilevamento e la segmentazione di oggetti con 20 classi di oggetti e oltre 11.000 immagini.
  • xView: Un set di dati per il rilevamento di oggetti in immagini aeree con 60 categorie di oggetti e oltre 1 milione di oggetti annotati.
  • RF100: Un benchmark diversificato per il rilevamento di oggetti con 100 set di dati che coprono sette domini di immagini per una valutazione completa del modello.
  • Tumore cerebrale: Un dataset per il rilevamento di tumori cerebrali che include immagini MRI o TAC con dettagli sulla presenza, la posizione e le caratteristiche del tumore.
  • Fauna selvatica africana: Un dataset contenente immagini della fauna selvatica africana, tra cui bufali, elefanti, rinoceronti e zebre.
  • Firma: Un dataset contenente immagini di vari documenti con firme annotate, a supporto della verifica dei documenti e della ricerca sul rilevamento delle frodi.
  • Medical-pills: Un set di dati contenente immagini etichettate di pillole mediche, progettato per aiutare in attività come il controllo qualità farmaceutico, lo smistamento e la garanzia della conformità agli standard del settore.

Segmentazione delle istanze

La segmentazione delle istanze è una tecnica di visione artificiale che implica l'identificazione e la localizzazione degli oggetti in un'immagine a livello di pixel. A differenza della segmentazione semantica che classifica solo ogni pixel, la segmentazione delle istanze distingue tra diverse istanze della stessa classe.

  • COCO: Un dataset su larga scala progettato per attività di rilevamento di oggetti, segmentazione e didascalia con oltre 200.000 immagini etichettate.
  • COCO8-seg: Un dataset più piccolo per attività di segmentazione di istanza, contenente un sottoinsieme di 8 immagini COCO con annotazioni di segmentazione.
  • COCO128-seg: Un dataset più piccolo per attività di segmentazione di istanza, contenente un sottoinsieme di 128 immagini COCO con annotazioni di segmentazione.
  • Crack-seg: Dataset creato appositamente per il rilevamento di crepe su strade e muri, applicabile sia per il rilevamento di oggetti che per attività di segmentazione.
  • Package-seg: Dataset personalizzato per l'identificazione di pacchi in magazzini o ambienti industriali, adatto sia per il rilevamento di oggetti che per applicazioni di segmentazione.
  • Carparts-seg: Dataset appositamente creato per l'identificazione di parti di veicoli, destinato alle esigenze di progettazione, produzione e ricerca. Serve sia per il rilevamento di oggetti che per attività di segmentazione.

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. Ciò comporta l'identificazione di punti chiave o articolazioni sugli oggetti, in particolare 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.
  • 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.
  • Hand-Keypoints: Un dataset conciso contenente oltre 26.000 immagini incentrate sulle mani umane, annotate con 21 punti chiave per mano, progettato per attività di stima della posa.
  • Dog-pose: Un dataset completo contenente circa 6.000 immagini incentrate sui cani, annotate con 24 punti chiave per cane, realizzato su misura per attività di stima della posa.

Classificazione

La classificazione delle immagini è un'attività di computer vision che implica 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 60.000 immagini a colori 32x32 in 10 classi, con 6.000 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ù 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 categoria MNIST dal dataset MNIST. Il dataset contiene un totale di 160 immagini.

Oriented Bounding Boxes (OBB)

Gli Oriented Bounding Boxes (OBB) sono un metodo di computer vision per rilevare oggetti angolati nelle immagini utilizzando bounding box ruotati, spesso applicato a immagini aeree e satellitari. A differenza dei bounding box tradizionali, gli OBB possono adattarsi meglio a oggetti con orientamenti diversi.

  • 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 di divisione DOTAv1, 4 per l'addestramento e 4 per la convalida, adatto per test rapidi.

Multi-Object Tracking

Il tracciamento multi-oggetto è una tecnica di visione artificiale che prevede il rilevamento e il tracciamento di più oggetti nel tempo in una sequenza video. Questa attività estende il rilevamento degli oggetti mantenendo identità coerenti degli oggetti attraverso i fotogrammi.

  • Argoverse: Un dataset contenente dati di tracciamento 3D e previsione del movimento da ambienti urbani con ricche annotazioni per attività di multi-object tracking.
  • VisDrone: Un set di dati contenente dati di rilevamento di oggetti e tracciamento multi-oggetto da immagini acquisite da droni con oltre 10.000 immagini e sequenze video.

Contribuisci nuovi dataset

La contribuzione di un nuovo dataset prevede diversi passaggi per garantire che si allinei bene con l'infrastruttura esistente. Di seguito sono riportati i passaggi necessari:



Guarda: Come contribuire ai dataset Ultralytics 🚀

Passaggi per contribuire con un nuovo dataset

  1. Raccogli Immagini: Raccogli le immagini che appartengono al dataset. Queste potrebbero essere raccolte da varie fonti, come database pubblici o la tua collezione.
  2. Annota Immagini: Annotare queste immagini con bounding box, segmenti o keypoint, a seconda dell'attività.
  3. Esporta Annotazioni: Converti queste annotazioni nel formato di file YOLO *.txt supportato da Ultralytics.
  4. Organizza il Dataset: Disponi il tuo dataset nella struttura di cartelle corretta. Dovresti avere train/ e val/ directory di livello superiore e, all'interno di ciascuna, una images/ e labels/ sottodirectory.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Crea un data.yaml File: Nella directory principale del tuo dataset, crea un data.yaml file che descriva il dataset, le classi e altre informazioni necessarie.

  6. Ottimizza Immagini (Opzionale): Se desideri ridurre le dimensioni del dataset per un'elaborazione più efficiente, puoi ottimizzare le immagini utilizzando il codice seguente. Questo non è obbligatorio, ma consigliato per dimensioni del dataset più piccole e velocità di download più elevate.
  7. Zippa il Dataset: Comprimi l'intera cartella del dataset in un file zip.
  8. Documenta 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 la contribuzione di Ultralytics per maggiori dettagli su come inviare una PR.

Codice di esempio per ottimizzare e comprimere un dataset

Ottimizza e comprimi in formato Zip 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 l'object detection?

Ultralytics supporta un'ampia varietà di set di dati per il rilevamento di oggetti, tra cui:

  • COCO: Un dataset su larga scala per il rilevamento di oggetti, la segmentazione e la didascalia con 80 categorie di oggetti.
  • LVIS: Un dataset esteso con 1203 categorie di oggetti, progettato per un rilevamento e una segmentazione degli oggetti più granulari.
  • Argoverse: Un set di dati contenente dati di tracciamento 3D e previsione del movimento da ambienti urbani con ricche annotazioni.
  • VisDrone: Un dataset con dati di rilevamento di oggetti e tracciamento multi-oggetto da immagini acquisite da drone.
  • SKU-110K: Caratterizzato dal rilevamento denso di oggetti in ambienti di vendita al dettaglio con oltre 11.000 immagini.

Questi dataset facilitano l'addestramento di modelli Ultralytics YOLO robusti per diverse applicazioni di object detection.

Come posso contribuire con un nuovo dataset a Ultralytics?

La contribuzione di un nuovo dataset prevede diversi passaggi:

  1. Raccogli immagini: Raccogli immagini da database pubblici o raccolte personali.
  2. Annota immagini: Applica bounding box, segmenti o keypoint, a seconda dell'attività.
  3. Esporta Annotazioni: Converti le annotazioni nel formato YOLO *.txt format.
  4. Organizza il Dataset: Utilizza la struttura di cartelle con train/ e val/ directory, ciascuna contenente images/ e labels/ sottodirectory.
  5. Crea un data.yaml File: Includi descrizioni del dataset, classi e altre informazioni rilevanti.
  6. Ottimizza immagini (facoltativo): Riduci le dimensioni del dataset per una maggiore efficienza.
  7. Comprimi il dataset: Comprimi il dataset in un file zip.
  8. Documenta e PR: Descrivi il tuo dataset e invia una Pull Request seguendo le Linee guida per la contribuzione di Ultralytics.

Visita Contribuisci con nuovi dataset per una guida completa.

Perché dovrei usare Ultralytics HUB per il mio dataset?

Ultralytics HUB offre potenti funzionalità per la gestione e l'analisi dei dataset, tra cui:

  • Gestione Semplice dei Set di Dati: Carica, organizza e gestisci i tuoi set di dati in un unico posto.
  • Integrazione immediata dell'addestramento: Utilizza i set di dati caricati direttamente per l'addestramento del modello senza configurazioni aggiuntive.
  • Strumenti di visualizzazione: Esplora e visualizza le immagini e le annotazioni del tuo set di dati.
  • Analisi del Set di Dati: Ottieni informazioni sulla distribuzione e sulle caratteristiche del tuo set di dati.

La piattaforma semplifica la transizione dalla gestione del dataset all'addestramento del modello, rendendo l'intero processo più efficiente. Scopri di più sui Dataset di Ultralytics HUB.

Quali sono le caratteristiche uniche dei modelli YOLO di Ultralytics 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 training ad alta velocità per applicazioni che richiedono tempi di risposta rapidi.
  • Versatilità: Supporto per attività di rilevamento, segmentazione, classificazione e stima della posa in un framework unificato.
  • Modelli Pre-addestrati: Accedi a modelli pre-addestrati ad alte prestazioni per varie applicazioni, riducendo i tempi di training.
  • 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 Modelli Ultralytics.

Come posso ottimizzare e comprimere un set di dati utilizzando gli strumenti Ultralytics?

Per ottimizzare e comprimere un set di dati utilizzando gli strumenti Ultralytics, segui questo codice di esempio:

Ottimizza e comprimi in formato Zip 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)

Questo processo aiuta a ridurre le dimensioni del dataset per uno storage più efficiente e velocità di download più elevate. Scopri di più su come ottimizzare e comprimere un dataset.



📅 Creato 1 anno fa ✏️ Aggiornato 3 mesi fa

Commenti