COCO8-Multispectral データセット#
はじめに#
Ultralytics COCO8-Multispectral データセットは、元の COCO8 データセットの高度なバリアントであり、マルチスペクトル物体検出モデルの実験を容易にするように設計されています。COCO train 2017 セットからの同じ 8 枚の画像(トレーニング用に 4 枚、検証用に 4 枚)で構成されていますが、各画像は 10 チャネルのマルチスペクトル形式に変換されています。標準的な RGB チャネルを超えて拡張することにより、COCO8-Multispectral は、より豊富なスペクトル情報を活用できるモデルの開発と評価を可能にします。
COCO8-Multispectral は Ultralytics Platform および YOLO26 と完全に互換性があり、computer vision ワークフローへのシームレスな統合を保証します。
Watch: How to Train Ultralytics YOLO on Grayscale and Multispectral Datasets | Multi-Channel VisionAI 🚀
データセットの構造#
COCO8-Multispectral は COCO8 と同じ 8 枚の画像を共有しており(すべての 80 の COCO 物体クラスにわたってトレーニング用に 4 枚、検証用に 4 枚)、各画像は YOLO label format で 10 チャネルのマルチスペクトル .tiff として保存されます。
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波長範囲外の値を推定し、完全なスペクトル表現を確保します。
このアプローチはマルチスペクトル撮像プロセスをシミュレートし、モデルのトレーニングと評価のために多様なデータセットを提供します。マルチスペクトル撮像の詳細については、Multispectral Imaging Wikipedia article を参照してください。
データセット YAML#
COCO8-Multispectral データセットは YAML ファイルを使用して設定され、データセットのパス、クラス名、および重要なメタデータを定義します。Ultralytics GitHub repository で公式の 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.zipTIFF 画像を (channel, height, width) の順序で準備し、.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 で 100 epochs にわたり COCO8-Multispectral で YOLO26n モデルをトレーニングするには、次の例を使用してください。トレーニングオプションの包括的なリストについては、YOLO Training documentation を参照してください。
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 model documentation および YOLO Model Training Tips guide をご覧ください。
サンプル画像とアノテーション#
以下は、COCO8-Multispectral データセットから生成されたモザイク化トレーニングバッチの例です。
- モザイク画像: この画像は、mosaic augmentation を使用して複数のデータセット画像が結合されたトレーニングバッチを示しています。モザイク拡張により、各バッチ内の物体とシーンの多様性が高まり、モデルがさまざまな物体のサイズ、アスペクト比、および背景に対してより良く汎化できるようになります。
この手法は、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}
}computer vision community への継続的な貢献に対して、COCO Consortium に深く感謝いたします。
よくある質問 (FAQ)#
Ultralytics COCO8-Multispectral データセットは、multispectral object detection モデルの迅速なテストとデバッグのために設計されています。わずか 8 枚の画像(トレーニング用 4 枚、検証用 4 枚)により、より大規模なデータセットに拡張する前に、YOLO26 トレーニングパイプラインを検証し、すべてが期待どおりに動作することを確認するのに理想的です。実験するその他のデータセットについては、Ultralytics Datasets Catalog をご覧ください。
マルチスペクトルデータは標準的な RGB を超える追加のスペクトル情報を提供し、モデルが波長全体にわたる反射率の微妙な違いに基づいて物体を区別できるようにします。これにより、特に困難なシナリオにおいて検出精度を向上させることができます。multispectral imaging および advanced computer vision におけるその応用について詳しく学びましょう。
はい、COCO8-Multispectral は Ultralytics Platform および最新の YOLO26 を含むすべての YOLO models と完全に互換性があります。これにより、データセットをトレーニングおよび検証ワークフローに簡単に統合できます。
モザイクなどのデータ拡張手法とモデルパフォーマンスへの影響についての理解を深めるには、YOLO Data Augmentation Guide および Ultralytics Blog on Data Augmentation を参照してください。
もちろんです!COCO8-Multispectral の小規模なサイズとマルチスペクトルな性質により、ベンチマーク、教育的デモンストレーション、および新しいモデルアーキテクチャのプロトタイピングに最適です。その他のベンチマークデータセットについては、Ultralytics Benchmark Dataset Collection をご覧ください。