Ultralytics YOLO27:

COCO8-Multispectral 数据集#

简介#

Ultralytics COCO8-Multispectral 数据集是原始 COCO8 数据集的高级变体,旨在促进多光谱目标检测模型的实验。它包含 COCO train 2017 集中的相同 8 张图像——4 张用于训练,4 张用于验证——但每张图像都被转换为 10 通道多光谱格式。通过扩展标准 RGB 通道之外的信息,COCO8-Multispectral 支持开发和评估能够利用更丰富光谱信息的模型。

Multispectral imaging for object detection

COCO8-Multispectral 与 Ultralytics PlatformYOLO26 完全兼容,确保能够无缝集成到你的计算机视觉工作流中。



Watch: How to Train Ultralytics YOLO on Grayscale and Multispectral Datasets | Multi-Channel VisionAI 🚀

数据集结构#

COCO8-Multispectral 与 COCO8 共享相同的 8 张图像——在全部 80 个 COCO 目标类别中,4 张用于训练,4 张用于验证——但每张图像都以 10 通道多光谱 .tiff 的形式存储,并采用 YOLO 标签格式

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

数据集生成#

COCO8-Multispectral 中的多光谱图像是通过在可见光谱范围内对原始 RGB 图像的 10 个等间隔光谱通道进行插值得到的。该过程包括:

  • 波长分配:为 RGB 通道分配标称波长——红色:650 nm,绿色:510 nm,蓝色:475 nm。
  • 插值:使用线性插值估算 450 nm 至 700 nm 之间中间波长处的像素值,从而生成 10 个光谱通道。
  • 外推:应用线性外推法估算超出原始 RGB 波长范围的值,确保完整的光谱表示。

这种方法模拟了多光谱成像过程,为模型训练和评估提供了更加多样化的数据。有关多光谱成像的更多内容,请参阅多光谱成像维基百科文章

数据集 YAML#

COCO8-Multispectral 数据集通过 YAML 文件进行配置,该文件定义了数据集路径、类别名称和必要的元数据。你可以在 Ultralytics GitHub 仓库中查看官方的 coco8-multispectral.yaml 文件。

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
注意

(channel, height, width) 顺序准备 TIFF 图像,并使用 .tiff.tif 扩展名保存,同时确保它们符合 uint8 要求,以便与 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

使用方法#

COCO8-Multispectral 数据集(20.2 MB)会在你首次开始训练时自动下载。要使用图像尺寸 640 在 COCO8-Multispectral 上训练 YOLO26n 模型 100 个训练周期,请使用以下示例。如需完整的训练选项列表,请参阅 YOLO 训练文档

训练示例
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)

如需了解有关模型选择和最佳实践的更多详情,请参阅 Ultralytics YOLO 模型文档YOLO 模型训练技巧指南

示例图像和标注#

下面是 COCO8-Multispectral 数据集中的一个马赛克训练批次示例:

COCO8 multispectral dataset mosaic training batch
  • 马赛克图像:此图像展示了一个训练批次,其中多张数据集图像通过马赛克增强进行组合。马赛克增强增加了每个批次中目标和场景的多样性,有助于模型更好地泛化到各种目标尺寸、宽高比和背景。

这项技术对于 COCO8-Multispectral 这类小型数据集尤其有价值,因为它能够在训练期间最大限度地利用每张图像。

引用和致谢#

如果你在研究或开发中使用 COCO 数据集,请引用以下论文:

引用
@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}
}

特别感谢 COCO Consortium 持续为计算机视觉社区作出的贡献。

常见问题#

  • Ultralytics COCO8-Multispectral 数据集专为快速测试和调试多光谱目标检测模型而设计。它仅包含 8 张图像(4 张用于训练,4 张用于验证),非常适合验证你的 YOLO26 训练流程,并在扩展到更大型数据集之前确保一切按预期运行。要查找更多可供实验的数据集,请访问 Ultralytics 数据集目录

  • 多光谱数据提供了标准 RGB 之外的额外光谱信息,使模型能够根据物体在不同波长下反射率的细微差异来区分物体。这可以提高检测准确率,尤其是在具有挑战性的场景中。详细了解多光谱成像及其在高级计算机视觉中的应用。

  • 是的,COCO8-Multispectral 与 Ultralytics Platform 以及所有 YOLO 模型完全兼容,包括最新的 YOLO26。这使你可以轻松将数据集集成到训练和验证工作流中。

  • 如需深入了解马赛克等数据增强方法及其对模型性能的影响,请参阅 YOLO 数据增强指南Ultralytics 数据增强博客

  • 当然可以!COCO8-Multispectral 规模小且具有多光谱特性,非常适合基准测试、教育演示和新模型架构原型开发。有关更多基准测试数据集,请参阅 Ultralytics 基准测试数据集集合

评论