COCO8-Multispectral 数据集#
简介#
Ultralytics COCO8-Multispectral 数据集是原始 COCO8 数据集的先进变体,旨在促进多光谱目标检测模型的实验。它包含来自 COCO train 2017 集的相同 8 张图像(4 张用于训练,4 张用于验证),但每张图像都转换为了 10 通道的多光谱格式。通过超越标准 RGB 通道,COCO8-Multispectral 能够开发和评估能够利用更丰富光谱信息的模型。
COCO8-Multispectral 完全兼容 Ultralytics Platform 和 YOLO26,确保无缝集成到你的计算机视觉工作流中。
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 中的多光谱图像是通过在可见光谱内 10 个均匀分布的光谱通道上对原始 RGB 图像进行插值创建的。该过程包括:
- 波长分配:为 RGB 通道分配标称波长——红色:650 nm,绿色:510 nm,蓝色:475 nm。
- 插值:使用线性插值来估计 450 nm 和 700 nm 之间中间波长的像素值,从而生成 10 个光谱通道。
- 外推法 (Extrapolation):应用线性外推法来估算原始 RGB 波长之外的值,从而确保完整的光谱表示。
这种方法模拟了多光谱成像过程,为模型训练和评估提供了更多样化的数据集。有关多光谱成像的进一步阅读,请参阅多光谱成像维基百科文章。
数据集 YAML#
COCO8-Multispectral数据集通过YAML文件进行配置,该文件定义了数据集路径、类别名称和核心元数据。你可以在Ultralytics GitHub仓库中查看官方的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 扩展名保存,并确保它们是用于 Ultralytics 的 uint8:
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 这样的小型数据集特别有价值,因为它在训练过程中最大限度地利用了每张图像。
引用与致谢#
如果你在研究或开发中使用了 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}
}常见问题解答#
Ultralytics COCO8-Multispectral 数据集的用途是什么?#
Ultralytics COCO8-Multispectral 数据集专为多光谱目标检测模型的快速测试和调试而设计。凭借仅 8 张图像(4 张用于训练,4 张用于验证),它非常适合验证你的 YOLO26 训练管道,并确保在扩展到更大的数据集之前一切按预期工作。有关更多要试验的数据集,请访问 Ultralytics 数据集目录。
多光谱数据如何改善目标检测?#
多光谱数据提供了超出标准 RGB 的额外光谱信息,使模型能够根据波长之间反射率的细微差异来区分目标。这可以提高检测准确性,尤其是在具有挑战性的场景中。了解有关多光谱成像及其在高级计算机视觉中的应用的更多信息。
COCO8-Multispectral 是否与 Ultralytics Platform 和 YOLO 模型兼容?#
是的,COCO8-Multispectral 完全兼容 Ultralytics Platform 以及所有YOLO 模型,包括最新的 YOLO26。这使你可以轻松地将数据集集成到你的训练和验证工作流中。
我在哪里可以找到关于数据增强技术的更多信息?#
为了更深入地理解数据增强方法(如马赛克)及其对模型性能的影响,请参考YOLO 数据增强指南和关于数据增强的 Ultralytics 博客。
我可以将 COCO8-Multispectral 用于基准测试或教育目的吗?#
当然可以!COCO8-Multispectral 的小巧体量和多光谱特性使其非常适合基准测试、教育演示和新模型架构的原型设计。有关更多基准测试数据集,请参阅 Ultralytics 基准测试数据集集合。