Dataset COCO8-Multispectral

Introduzione

Il dataset Ultralytics COCO8-Multispectral è una variante avanzata del dataset COCO8 originale, progettata per facilitare la sperimentazione con modelli di rilevamento oggetti multispettrali. Consiste nelle stesse 8 immagini del set COCO train 2017—4 per l'addestramento e 4 per la validazione—ma con ogni immagine trasformata in un formato multispettrale a 10 canali. Andando oltre i canali RGB standard, COCO8-Multispectral consente lo sviluppo e la valutazione di modelli in grado di sfruttare informazioni spettrali più ricche.

Multispectral imaging for object detection

COCO8-Multispectral è pienamente compatibile con Ultralytics Platform e YOLO26, garantendo un'integrazione fluida nei tuoi flussi di lavoro di computer vision.



Watch: How to Train Ultralytics YOLO26 on Multispectral Datasets | Multi-Channel VisionAI 🚀

Generazione del dataset

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

  • Assegnazione delle lunghezze d'onda: Assegnazione di 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: Applicazione dell'estrapolazione con la funzione interp1d di SciPy 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 dei modelli. Per ulteriori approfondimenti sull'imaging multispettrale, consulta la voce di Wikipedia sull'imaging multispettrale.

YAML del dataset

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 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 nell'ordine (channel, height, width), salvate con estensione .tiff o .tif, 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, usa gli esempi seguenti. Per un elenco completo delle opzioni di addestramento, fai riferimento alla documentazione sull'addestramento YOLO.

Esempio di training
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)

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 dei modelli YOLO.

Immagini campione e annotazioni

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

COCO8 multispectral dataset mosaic training batch
  • Immagine a mosaico: Questa immagine mostra un batch di addestramento in cui diverse immagini del dataset vengono combinate usando la mosaic augmentation. La mosaic augmentation aumenta la diversità di oggetti e scene all'interno di ogni batch, aiutando il modello a generalizzare meglio su varie dimensioni di oggetti, proporzioni e sfondi.

Questa tecnica è particolarmente preziosa per dataset piccoli come COCO8-Multispectral, poiché massimizza l'utilità di ogni immagine durante l'addestramento.

Citazioni e ringraziamenti

Se utilizzi il dataset COCO nella tua ricerca o sviluppo, ti preghiamo di citare il seguente articolo:

Citazione
@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 i loro continui contributi alla community di computer vision.

FAQ

A cosa serve il dataset Ultralytics COCO8-Multispectral?

Il dataset Ultralytics COCO8-Multispectral è progettato per il test rapido e il debug di modelli di rilevamento oggetti multispettrali. Con sole 8 immagini (4 per l'addestramento, 4 per la validazione), è ideale per verificare le tue pipeline di addestramento YOLO26 e assicurarti che tutto funzioni come previsto prima di passare a dataset più grandi. Per altri dataset con cui sperimentare, visita il Catalogo dei Dataset Ultralytics.

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

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

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

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

Dove posso trovare maggiori informazioni sulle tecniche di data augmentation?

Per una comprensione più approfondita dei metodi di data augmentation come il mosaic e il loro impatto sulle prestazioni del modello, fai riferimento alla Guida alla Data Augmentation di YOLO e al Blog di Ultralytics sulla Data Augmentation.

Posso usare COCO8-Multispectral per benchmarking o scopi educativi?

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

Commenti