Vai al contenuto

Panoramica dei set di dati

Ultralytics fornisce il supporto a diversi 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 di più oggetti. Di seguito è riportato un elenco dei principali set di dati di Ultralytics , seguito da un riepilogo di ogni attività di computer vision e dei rispettivi set di dati.

NUOVO 🚀 Ultralytics Explorer

Crea embeddings per il tuo set di dati, cerca immagini simili, esegui query SQL, esegui ricerche semantiche e persino ricerche in linguaggio naturale! Puoi iniziare con la nostra applicazione GUI o costruirne una tua utilizzando le API. Per saperne di più clicca qui.

Ultralytics Schermata di Explorer

Set di dati di rilevamento

L'individuazione di oggetti in bounding box è una tecnica di computer vision che prevede l'individuazione e la localizzazione di oggetti in un'immagine disegnando un bounding box intorno a ciascun oggetto.

  • Argoverse: Un set di dati che contiene dati di tracciamento 3D e di previsione del movimento da ambienti urbani, con numerose annotazioni.
  • COCO: un dataset su larga scala progettato per il rilevamento, la segmentazione e la didascalia degli oggetti con oltre 200.000 immagini etichettate.
  • COCO8: contiene le prime 4 immagini di COCO train e COCO val, adatte a test rapidi.
  • Global Wheat 2020: Un set di immagini di teste di grano raccolte in tutto il mondo per compiti di rilevamento e localizzazione di oggetti.
  • Objects365: Un dataset di alta qualità e su larga scala per il rilevamento di oggetti con 365 categorie di oggetti e oltre 600K 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 che contiene 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 11K 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.
  • Roboflow 100: un benchmark di rilevamento di oggetti diversi con 100 set di dati che abbracciano sette domini di immagini per una valutazione completa dei modelli.

Set di dati per la 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 set di dati su larga scala progettato per il rilevamento di oggetti, la segmentazione e l'inserimento di didascalie con oltre 200.000 immagini etichettate.
  • COCO8-seg: un set di dati più piccolo per compiti di segmentazione, contenente un sottoinsieme di 8 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: dataset personalizzato per l'identificazione di pacchi in magazzini o ambienti industriali, adatto sia per applicazioni di rilevamento di oggetti che di segmentazione.
  • 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 set di dati su larga scala con annotazioni di posa umana progettato per compiti di stima della posa.
  • COCO8-pose: un set di dati più piccolo per la stima della posa, contenente un sottoinsieme di 8 immagini COCO con annotazioni sulla posa umana.
  • Tiger-pose: un set di dati compatto composto da 263 immagini incentrate sulle tigri, annotate con 12 punti chiave per tigre per compiti di stima della posa.

Classificazione

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 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.
  • Fashion-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 una formazione 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.

Caselle di delimitazione orientate (OBB)

L'Oriented Bounding Boxes (OBB) è un metodo di computer vision per rilevare gli oggetti angolati nelle immagini utilizzando bounding box ruotati, spesso applicato alle immagini aeree e satellitari.

  • DOTAv2: Un popolare dataset di immagini aeree OBB con 1,7 milioni di istanze e 11.268 immagini.

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 previsioni di movimento da ambienti urbani con annotazioni ricche per compiti di tracciamento di più oggetti.
  • VisDrone: Un set di dati che contiene 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 con nuovi set di dati

L'inserimento di un nuovo set di dati comporta diversi passaggi per garantire che si allinei bene con l'infrastruttura esistente. Di seguito sono elencati i passaggi necessari:

Passi per contribuire a un nuovo set di dati

  1. Raccogli le immagini: Raccogli le immagini che fanno parte del set di dati. Queste possono essere raccolte da varie fonti, come database pubblici o la tua collezione personale.

  2. Annota le immagini: Annota queste immagini con riquadri di delimitazione, segmenti o punti chiave, a seconda dell'attività da svolgere.

  3. Esportazione delle annotazioni: Convertire queste annotazioni nell'elemento YOLO *.txt formato di file che Ultralytics supporta.

  4. Organizzare il set di dati: Organizza il tuo set di dati nella struttura di cartelle corretta. Dovresti avere train/ e val/ directory di primo livello e, all'interno di ognuna di esse, una cartella images/ e labels/ sottodirectory.

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

  6. Ottimizzare le immagini (opzionale): Se vuoi ridurre le dimensioni del set di dati per un'elaborazione più efficiente, puoi 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.

  7. Zip Dataset: Comprimi l'intera cartella del dataset in un file zip.

  8. Documentazione e PR: Crea una pagina di documentazione che descriva il tuo set di dati e come si inserisce nel framework esistente. Dopodiché, invia una richiesta di modifica (PR). Per maggiori dettagli su come inviare una PR, consulta 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, puoi contribuire con un nuovo set di dati che si integri bene con la struttura esistente di Ultralytics'.



Creato 2023-11-12, Aggiornato 2024-03-03
Autori: glenn-jocher (6), abirami-vina (1), chr043416@gmail.com (1), AyushExel (2)

Commenti