Vai al contenuto

Dataset COCO8-Multispectral

Introduzione

Il dataset Ultralytics COCO8-Multispectral è una variante avanzata del dataset COCO8 originale, progettata per facilitare la sperimentazione con modelli di object detection multispettrale. È costituito dalle stesse 8 immagini del set COCO train 2017: 4 per l'addestramento e 4 per la convalida, ma con ogni immagine trasformata in un formato multispettrale a 10 canali. Espandendosi oltre i canali RGB standard, COCO8-Multispectral consente lo sviluppo e la valutazione di modelli in grado di sfruttare informazioni spettrali più ricche.

Immagini multispettrali per il rilevamento di oggetti

COCO8-Multispectral è pienamente compatibile con la Piattaforma Ultralytics e YOLO26, garantendo un'integrazione perfetta nei tuoi flussi di lavoro di visione artificiale.



Guarda: Come addestrare Ultralytics YOLO26 su Dataset Multispettrali | Visione AI Multicanale 🚀

Generazione di dataset

Le immagini multispettrali in COCO8-Multispectral sono state create interpolando le immagini RGB originali su 10 canali spettrali equamente distanziati all'interno dello spettro visibile. Il processo include:

  • Assegnazione della Lunghezza d'Onda: Assegnazione delle lunghezze d'onda nominali ai canali RGB: rosso: 650 nm, verde: 510 nm, blu: 475 nm.
  • Interpolazione: Utilizzo dell'interpolazione lineare per stimare i valori dei pixel a lunghezze d'onda intermedie tra 450 nm e 700 nm, ottenendo 10 canali spettrali.
  • Estrapolazione: Applica l'estrapolazione con interp1d funzione per stimare i valori oltre le lunghezze d'onda RGB originali, garantendo una rappresentazione spettrale completa.

Questo approccio simula un processo di imaging multispettrale, fornendo un set di dati più diversificato per l'addestramento e la valutazione del modello. Per ulteriori informazioni sull'imaging multispettrale, consultare l'articolo di Wikipedia sull'imaging multispettrale.

YAML del set di dati

Il dataset COCO8-Multispectral è configurato tramite un file YAML, che definisce i percorsi del dataset, i nomi delle classi e i metadati essenziali. Puoi consultare il file ufficiale coco8-multispectral.yaml file nel repository GitHub di Ultralytics.

ultralytics/cfg/datasets/coco8-multispectral.yaml

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8-Multispectral dataset (COCO8 images interpolated across 10 channels in the visual spectrum) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8-multispectral/
# Example usage: yolo train data=coco8-multispectral.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-multispectral ← downloads here (20.2 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8-multispectral # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Number of multispectral image channels
channels: 10

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-multispectral.zip

Nota

Prepara le tue immagini TIFF in (channel, height, width) ordine, salvato con .tiff oppure .tif estensione e assicurati che siano uint8 per l'uso con Ultralytics:

import cv2
import numpy as np

# Create and write 10-channel TIFF
image = np.ones((10, 640, 640), dtype=np.uint8)  # CHW-order
cv2.imwritemulti("example.tiff", image)

# Read TIFF
success, frames_list = cv2.imreadmulti("example.tiff")
image = np.stack(frames_list, axis=2)
print(image.shape)  # (640, 640, 10)  HWC-order for training and inference

Utilizzo

Per addestrare un modello YOLO26n sul dataset COCO8-Multispectral per 100 epoche con una dimensione dell'immagine di 640, utilizzare gli esempi seguenti. Per un elenco completo delle opzioni di addestramento, fare riferimento alla documentazione di addestramento YOLO.

Esempio di addestramento

from ultralytics import YOLO

# Load a pretrained YOLO26n model
model = YOLO("yolo26n.pt")

# Train the model on COCO8-Multispectral
results = model.train(data="coco8-multispectral.yaml", epochs=100, imgsz=640)
# Train YOLO26n on COCO8-Multispectral using the command line
yolo detect train data=coco8-multispectral.yaml model=yolo26n.pt epochs=100 imgsz=640

Per maggiori dettagli sulla selezione del modello e sulle best practice, esplora la documentazione del modello Ultralytics YOLO e la guida ai suggerimenti per l'addestramento del modello YOLO.

Immagini di esempio e annotazioni

Di seguito è riportato un esempio di batch di addestramento mosaicato dal dataset COCO8-Multispectral:

Lotto di addestramento mosaico del set di dati COCO8

  • Immagine mosaicata: Questa immagine mostra un batch di addestramento in cui più immagini del set di dati vengono combinate utilizzando l'aumento tramite mosaico. L'aumento tramite mosaico aumenta la diversità di oggetti e scene all'interno di ogni batch, aiutando il modello a generalizzare meglio a varie dimensioni degli oggetti, proporzioni e sfondi.

Questa tecnica è particolarmente preziosa per piccoli set di dati come COCO8-Multispectral, in quanto massimizza l'utilità di ogni immagine durante il training.

Citazioni e ringraziamenti

Se utilizzi il dataset COCO nel tuo lavoro di ricerca o sviluppo, cita il seguente articolo:

@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Un ringraziamento speciale al COCO Consortium per il loro continuo contributo alla comunità della computer vision.

FAQ

A cosa serve il dataset COCO8-Multispectral di Ultralytics?

Il dataset Ultralytics COCO8-Multispectral è progettato per il test e il debug rapidi di modelli di rilevamento oggetti multispettrali. Con solo 8 immagini (4 per l'addestramento, 4 per la validazione), è ideale per verificare le pipeline di addestramento YOLO26 e assicurarsi che tutto funzioni come previsto prima di scalare a dataset più grandi. Per ulteriori dataset con cui sperimentare, visitare il Catalogo Dataset di Ultralytics.

In che modo i dati multispettrali migliorano il rilevamento degli oggetti?

I dati multispettrali forniscono informazioni spettrali aggiuntive rispetto al tradizionale RGB, consentendo ai modelli di distinguere gli oggetti in base a sottili differenze nella riflettanza tra le lunghezze d'onda. Questo può migliorare l'accuratezza del rilevamento, specialmente in scenari complessi. Scopri di più sull'imaging multispettrale e le sue applicazioni nella computer vision avanzata.

COCO8-Multispectral è compatibile con la Piattaforma Ultralytics e i modelli YOLO?

Sì, COCO8-Multispectral è pienamente compatibile con la Piattaforma Ultralytics e tutti i modelli YOLO, incluso l'ultimo YOLO26. Ciò consente di integrare facilmente il dataset nei flussi di lavoro di addestramento e validazione.

Dove posso trovare maggiori informazioni sulle tecniche di aumento dei dati?

Per una comprensione più approfondita dei metodi di aumento dei dati come mosaic e del loro impatto sulle prestazioni del modello, consultare la Guida all'aumento dei dati YOLO e il Blog Ultralytics sull'aumento dei dati.

Posso utilizzare COCO8-Multispectral per il benchmarking o scopi didattici?

Assolutamente! Le dimensioni ridotte e la natura multispettrale di COCO8-Multispectral lo rendono ideale per il benchmarking, le dimostrazioni didattiche e la prototipazione di nuove architetture di modelli. Per ulteriori dataset di benchmarking, consulta la Ultralytics Benchmark Dataset Collection.



📅 Creato 9 mesi fa ✏️ Aggiornato 7 giorni fa
glenn-jocherY-T-GRizwanMunawarLaughing-q

Commenti