COCO8-Multispectral-Datensatz

Einführung

Der Ultralytics COCO8-Multispectral-Datensatz ist eine erweiterte Variante des ursprünglichen COCO8-Datensatzes, die entwickelt wurde, um Experimente mit multispektralen Objekterkennungsmodellen zu ermöglichen. Er besteht aus denselben 8 Bildern aus dem COCO train 2017-Set – 4 für das Training und 4 für die Validierung –, wobei jedes Bild in ein 10-Kanal-Multispektralformat umgewandelt wurde. Durch die Erweiterung über die Standard-RGB-Kanäle hinaus ermöglicht COCO8-Multispectral die Entwicklung und Evaluierung von Modellen, die reichhaltigere Spektralinformationen nutzen können.

Multispectral imaging for object detection

COCO8-Multispectral ist vollständig kompatibel mit der Ultralytics Platform und YOLO26, was eine nahtlose Integration in deine Computer Vision-Workflows gewährleistet.



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

Datensatz-Generierung

Die multispektralen Bilder in COCO8-Multispectral wurden durch Interpolation der ursprünglichen RGB-Bilder über 10 gleichmäßig verteilte Spektralkanäle innerhalb des sichtbaren Spektrums erstellt. Der Prozess umfasst:

  • Wellenlängenzuweisung: Zuweisung nominaler Wellenlängen zu den RGB-Kanälen – Rot: 650 nm, Grün: 510 nm, Blau: 475 nm.
  • Interpolation: Verwendung linearer Interpolation zur Schätzung von Pixelwerten bei Zwischenwellenlängen zwischen 450 nm und 700 nm, was zu 10 Spektralkanälen führt.
  • Extrapolation: Anwendung von Extrapolation mit der interp1d-Funktion von SciPy, um Werte jenseits der ursprünglichen RGB-Wellenlängen zu schätzen und eine vollständige spektrale Repräsentation sicherzustellen.

Dieser Ansatz simuliert einen multispektralen Bildgebungsprozess und bietet einen vielfältigeren Datensatz für das Training und die Evaluierung von Modellen. Für weiterführende Informationen zur multispektralen Bildgebung, siehe den Wikipedia-Artikel zur Multispektralen Bildgebung.

Datensatz-YAML

Der COCO8-Multispectral-Datensatz wird über eine YAML-Datei konfiguriert, die Datensatzpfade, Klassennamen und wesentliche Metadaten definiert. Du kannst die offizielle coco8-multispectral.yaml-Datei im Ultralytics GitHub-Repository einsehen.

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
Hinweis

Bereite deine TIFF-Bilder in der Reihenfolge (channel, height, width) vor, speichere sie mit der Erweiterung .tiff oder .tif und stelle sicher, dass sie für die Verwendung mit Ultralytics das Format uint8 aufweisen:

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

Verwendung

Um ein YOLO26n-Modell auf dem COCO8-Multispectral-Datensatz für 100 Epochen mit einer Bildgröße von 640 zu trainieren, verwende die folgenden Beispiele. Eine umfassende Liste der Trainingsoptionen findest du in der YOLO-Trainingsdokumentation.

Trainingsbeispiel
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)

Weitere Details zur Modellauswahl und zu Best Practices findest du in der Ultralytics YOLO-Modelldokumentation und im Leitfaden für YOLO-Modelltraining-Tipps.

Beispielbilder und Annotationen

Unten ist ein Beispiel eines gemosaikten Trainings-Batches aus dem COCO8-Multispectral-Datensatz zu sehen:

COCO8 multispectral dataset mosaic training batch
  • Gemosaiktes Bild: Dieses Bild zeigt einen Trainings-Batch, bei dem mehrere Datensatzbilder mithilfe von Mosaik-Augmentierung kombiniert wurden. Die Mosaik-Augmentierung erhöht die Vielfalt der Objekte und Szenen in jedem Batch und hilft dem Modell, besser auf verschiedene Objektgrößen, Seitenverhältnisse und Hintergründe zu generalisieren.

Diese Technik ist besonders wertvoll für kleine Datensätze wie COCO8-Multispectral, da sie den Nutzen jedes Bildes während des Trainings maximiert.

Zitate und Danksagungen

Wenn du den COCO Datensatz für deine Forschung oder Entwicklung verwendest, zitiere bitte das folgende Papier:

Zitat
@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}
}

Besonderer Dank geht an das COCO Consortium für seine kontinuierlichen Beiträge zur Computer Vision-Community.

FAQ

Wofür wird der Ultralytics COCO8-Multispectral-Datensatz verwendet?

Der Ultralytics COCO8-Multispectral-Datensatz wurde für das schnelle Testen und Debuggen von Modellen für die multispektrale Objekterkennung entwickelt. Mit nur 8 Bildern (4 für das Training, 4 für die Validierung) ist er ideal, um deine YOLO26-Trainingspipelines zu verifizieren und sicherzustellen, dass alles wie erwartet funktioniert, bevor du auf größere Datensätze skalierst. Weitere Datensätze zum Experimentieren findest du im Ultralytics Datasets-Katalog.

Wie verbessern multispektrale Daten die Objekterkennung?

Multispektrale Daten liefern zusätzliche spektrale Informationen jenseits des Standard-RGB, was es Modellen ermöglicht, Objekte basierend auf subtilen Unterschieden in der Reflexion über verschiedene Wellenlängen hinweg zu unterscheiden. Dies kann die Erkennungsgenauigkeit verbessern, insbesondere in herausfordernden Szenarien. Erfahre mehr über multispektrale Bildgebung und ihre Anwendungen in der fortgeschrittenen Computer Vision.

Ist COCO8-Multispectral mit der Ultralytics Platform und YOLO-Modellen kompatibel?

Ja, COCO8-Multispectral ist vollständig kompatibel mit der Ultralytics Platform und allen YOLO-Modellen, einschließlich des neuesten YOLO26. Dies ermöglicht es dir, den Datensatz einfach in deine Trainings- und Validierungs-Workflows zu integrieren.

Wo finde ich weitere Informationen zu Datenaugmentierungstechniken?

Für ein tieferes Verständnis von Datenaugmentierungsmethoden wie Mosaik und deren Auswirkungen auf die Modellleistung, siehe den YOLO-Leitfaden zur Datenaugmentierung und den Ultralytics-Blog zur Datenaugmentierung.

Kann ich COCO8-Multispectral für Benchmarking oder zu Bildungszwecken verwenden?

Absolut! Die geringe Größe und die multispektrale Natur von COCO8-Multispectral machen ihn ideal für Benchmarking, Bildungsdemonstrationen und das Prototyping neuer Modellarchitekturen. Für weitere Benchmarking-Datensätze siehe die Ultralytics Benchmark-Datensatzsammlung.

Kommentare