Ultralytics YOLO27:
Get Started

COCO8-Multispectralデータセット#

はじめに#

Ultralytics COCO8-Multispectralデータセットは、マルチスペクトルオブジェクト検出モデルの実験を可能にする、オリジナルのCOCO8データセットの高度な派生版です。COCO train 2017セットと同じ8枚の画像(トレーニング用4枚、検証用4枚)で構成されていますが、各画像は10チャンネルのマルチスペクトル形式に変換されています。標準的なRGBチャンネルを超えて情報を拡張することで、COCO8-Multispectralでは、より豊富なスペクトル情報を活用するモデルの開発と評価が可能になります。

Multispectral imaging for object detection

COCO8-MultispectralはUltralytics PlatformおよびYOLO26と完全に互換性があり、コンピュータービジョンのワークフローにシームレスに統合できます。



視聴: グレースケール・マルチスペクトルデータセットで Ultralytics YOLO をトレーニングする方法 | マルチチャンネル VisionAI 🚀

データセットの構成#

COCO8-MultispectralはCOCO8と同じ8枚の画像(トレーニング用4枚、検証用4枚)を使用し、80個のCOCOクラス名でラベル付けされています。ただし、各画像はYOLOラベル形式の10チャンネルマルチスペクトル.tiffとして保存されます。

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波長範囲外の値を推定し、完全なスペクトル表現を確保します。

この方法はマルチスペクトル撮像のプロセスをシミュレートし、モデルのトレーニングと評価に使用できる、より多様なデータを提供します。マルチスペクトル撮像について詳しくは、マルチスペクトル撮像に関するWikipediaの記事をご覧ください。

データセット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
注

TIFF画像を(channel, height, width)順で準備し、.tiffまたは.tif拡張子で保存します。また、Ultralyticsで使用するためにuint8であることを確認してください。

import cv2
import numpy as np

# 10チャンネルTIFFを作成して書き込む
image = np.ones((10, 640, 640), dtype=np.uint8)  # CHW順
cv2.imwritemulti("example.tiff", image)

# TIFFを読み込む
success, frames_list = cv2.imreadmulti("example.tiff")
image = np.stack(frames_list, axis=2)
print(image.shape)  # (640, 640, 10)  学習および推論用のHWC順序

使用方法#

COCO8-Multispectralデータセット(20.2 MB)は、トレーニングを初めて開始すると自動的にダウンロードされます。COCO8-MultispectralでYOLO26nモデルを画像サイズ640、100エポックでトレーニングするには、以下の例を使用してください。トレーニングオプションの包括的な一覧については、YOLOトレーニングのドキュメントを参照してください。

トレーニング例
from ultralytics import YOLO

# 事前学習済みYOLO26nモデルを読み込む
model = YOLO("yolo26n.pt")

# 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および、最新のYOLO26を含むすべてのYOLOモデルと完全に互換性があります。そのため、データセットをトレーニングや検証のワークフローに簡単に統合できます。

  • モザイクなどのデータ拡張手法と、それらがモデルの性能に与える影響について詳しく理解するには、YOLOデータ拡張ガイドとデータ拡張に関するUltralyticsブログを参照してください。

  • もちろんです。COCO8-Multispectralはサイズが小さく、マルチスペクトルであるため、ベンチマーク、教育向けのデモ、新しいモデルアーキテクチャのプロトタイピングに最適です。その他のベンチマーク用データセットについては、Ultralyticsベンチマークデータセットコレクションをご覧ください。

コメント