Ultralytics YOLO27:

Dataset COCO8-Multispectral#

Introduzione#

Il dataset COCO8-Multispectral di Ultralytics è una variante avanzata del dataset COCO8 originale, progettata per facilitare la sperimentazione con modelli di rilevamento degli oggetti multispettrali. È composto dalle stesse 8 immagini del set COCO train 2017—4 per l'addestramento e 4 per la validazione—ma ogni immagine è trasformata in un formato multispettrale a 10 canali. Ampliando i dati oltre i canali RGB standard, COCO8-Multispectral consente di sviluppare e valutare 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 YOLO on Grayscale and Multispectral Datasets | Multi-Channel VisionAI 🚀

Struttura del dataset#

COCO8-Multispectral condivide le stesse 8 immagini di COCO8—4 per l'addestramento e 4 per la validazione in tutte le 80 classi di oggetti COCO—ma ogni immagine è memorizzata come .tiff multispettrale a 10 canali nel formato delle etichette YOLO:

coco8-multispectral/
├── images/
│   ├── train/   # 4 images (10-channel .tiff)
│   └── val/     # 4 images (10-channel .tiff)
└── labels/
    ├── train/
    └── val/

Generazione del dataset#

Le immagini multispettrali di COCO8-Multispectral sono state create interpolando le immagini RGB originali su 10 canali spettrali equidistanti 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 alle lunghezze d'onda intermedie tra 450 nm e 700 nm, ottenendo 10 canali spettrali.
  • Estrapolazione: applicazione dell'estrapolazione lineare per stimare i valori oltre le lunghezze d'onda RGB originali, garantendo una rappresentazione spettrale completa.

Questo approccio simula un processo di acquisizione di immagini multispettrali, fornendo un insieme di dati più diversificato per l'addestramento e la valutazione dei modelli. Per ulteriori informazioni sull'imaging multispettrale, consulta l'articolo di Wikipedia sull'imaging multispettrale.

YAML del dataset#

Il dataset COCO8-Multispectral è configurato utilizzando 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), salvale con l'estensione .tiff o .tif e assicurati che siano uint8 per utilizzarle 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#

Il dataset COCO8-Multispectral (20,2 MB) viene scaricato automaticamente la prima volta che avvii l'addestramento. Per addestrare un modello YOLO26n su COCO8-Multispectral per 100 epoche con una dimensione dell'immagine di 640, utilizza i seguenti esempi. Per un elenco completo delle opzioni di addestramento, consulta la documentazione sull'addestramento di 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)

Per ulteriori dettagli sulla selezione dei modelli e sulle best practice, consulta la documentazione sui modelli Ultralytics YOLO e la guida ai suggerimenti per l'addestramento dei modelli YOLO.

Immagini ed esempi di annotazioni#

Di seguito è riportato un esempio di batch di addestramento composto da mosaici del dataset COCO8-Multispectral:

COCO8 multispectral dataset mosaic training batch
  • Immagine composta da mosaico: questa immagine mostra un batch di addestramento in cui più immagini del dataset vengono combinate utilizzando l'aumento dati a mosaico. L'aumento dati a mosaico aumenta la diversità degli oggetti e delle scene in ogni batch, aiutando il modello a generalizzare meglio a diverse dimensioni degli oggetti, proporzioni e sfondi.

Questa tecnica è particolarmente utile per dataset di piccole dimensioni 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, cita 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 Consorzio COCO per il suo continuo contributo alla comunità della computer vision.

FAQ#

  • Il dataset COCO8-Multispectral di Ultralytics è progettato per il test e il debugging rapidi dei modelli di rilevamento degli oggetti multispettrali. Con sole 8 immagini (4 per l'addestramento e 4 per la validazione), è ideale per verificare le tue pipeline di addestramento di 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 di Ultralytics.

  • I dati multispettrali forniscono informazioni spettrali aggiuntive oltre all'RGB standard, consentendo ai modelli di distinguere gli oggetti in base a sottili differenze nella riflettanza alle diverse lunghezze d'onda. Ciò può migliorare la precisione del rilevamento, soprattutto in scenari complessi. Scopri di più sull'imaging multispettrale e sulle sue applicazioni nella computer vision avanzata.

  • Sì, COCO8-Multispectral è pienamente compatibile con Ultralytics Platform e tutti i modelli YOLO, incluso il più recente YOLO26. Ciò ti consente di integrare facilmente il dataset nei tuoi flussi di lavoro di addestramento e validazione.

  • Per comprendere meglio i metodi di aumento dati, come il mosaico, e il loro impatto sulle prestazioni dei modelli, consulta la guida all'aumento dati di YOLO e il blog di Ultralytics sull'aumento dati.

  • 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 altri dataset di benchmarking, consulta la raccolta di dataset di benchmark di Ultralytics.

Commenti