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.



Guarda: Ultralytics Panoramica dei 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

Rilevamento degli oggetti

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: 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 degli 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.
  • Grano globale 2020: Un set di dati contenente immagini di teste di grano per la Global Wheat Challenge 2020.
  • 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.
  • 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 delle ricerche sulla verifica dei documenti e sull'individuazione delle frodi.

Segmentazione dell'istanza

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.

  • DOTA-v2: 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'.

DOMANDE FREQUENTI

Quali sono i set di dati supportati da 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 degli 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 numerose annotazioni. - VisDrone: Un set di dati con rilevamento di oggetti e tracciamento di più oggetti da immagini catturate da droni. - SKU-110K: Con oltre 11.000 immagini per il rilevamento di oggetti densi in ambienti di vendita al dettaglio.

Questi set di dati facilitano l'addestramento di modelli robusti per varie applicazioni di rilevamento degli oggetti.

Come posso contribuire con un nuovo set di dati a Ultralytics?

Contribuire a un nuovo set di dati comporta diverse fasi: 1. Raccogli immagini: Raccogliere immagini da database pubblici o collezioni personali. 2. Annotare le immagini: Applica caselle di delimitazione, segmenti o punti chiave, a seconda dell'attività. 3. Esportazione delle annotazioni: Convertire le annotazioni nel formato YOLO *.txt formato. 4. Organizzare il set di dati: Utilizza la struttura di cartelle con train/ e val/ directory, ognuna delle quali contiene images/ e labels/ sottodirectory. 5. Crea un data.yaml File: Includere le descrizioni dei set di dati, le classi e altre informazioni rilevanti. 6. Ottimizzare le immagini (opzionale): Ridurre le dimensioni del set di dati per ottenere maggiore efficienza. 7. Set di dati Zip: Comprimi il set di dati in un file zip. 8. Documenti e PR: Descrivi il tuo set di dati e invia una richiesta di pull seguendo le indicazioni che seguono Ultralytics Linee guida per i contributi.

Per una guida completa, visita il sito Contribuisci a nuovi set di dati.

Perché dovrei utilizzare 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 gli embeddings o l'AI. - Query SQL: Esegui query SQL avanzate per un'analisi dettagliata dei dati. - Ricerca in linguaggio naturale: Cerca utilizzando query in linguaggio semplice per semplificare l'utilizzo.

Esplora 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à: Sono adatti a compiti di rilevamento, segmentazione, classificazione e stima della posa. - Modelli preaddestrati: Accesso a modelli pre-addestrati ad alte prestazioni per varie applicazioni. - Ampio supporto della comunità: Comunità attiva e documentazione completa per la risoluzione dei problemi e lo sviluppo.

Scopri di più su YOLO alla Ultralytics YOLO pagina.

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

Per ottimizzare e zippare un set di dati utilizzando gli strumenti di Ultralytics , segui 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)

Scopri di più su come ottimizzare e zippare un set di dati.



Creato 2023-11-12, Aggiornato 2024-07-04
Autori: glenn-jocher (10), RizwanMunawar (2), Burhan-Q (1), Laughing-q (1), abirami-vina (1), AyushExel (2)

Commenti