COCO128 データセット

はじめに

Ultralytics COCO128 は、COCO train 2017 セットの最初の128枚の画像で構成される、小規模ながら汎用性の高い物体検出データセットです。このデータセットは、物体検出モデルのテストやデバッグ、あるいは新しい検出アプローチの実験に最適です。128枚という画像数は管理が容易でありながら、トレーニングパイプラインのエラーをテストしたり、より大規模なデータセットでトレーニングを行う前の健全性チェックとして機能させるには十分な多様性を備えています。



Watch: Ultralytics COCO Dataset Overview

このデータセットは、Ultralytics Platform および YOLO26 での使用を想定しています。

データセットYAML

YAML (Yet Another Markup Language) ファイルは、データセットの設定を定義するために使用されます。これには、データセットのパス、クラス、およびその他の関連情報が含まれています。COCO128 データセットの場合、coco128.yaml ファイルが https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128.yaml で管理されています。

ultralytics/cfg/datasets/coco128.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128 ← downloads here (7 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: coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)

# 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/coco128.zip

使用方法

COCO128 データセットで YOLO26n モデルを画像サイズ640、100 エポック でトレーニングするには、以下のコードスニペットを使用できます。利用可能な引数の詳細なリストについては、モデルのトレーニングページを参照してください。

トレーニングの例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)

サンプル画像とアノテーション

以下は、COCO128 データセットに含まれる画像と、それに対応するアノテーションの例です。

COCO128 object detection dataset mosaic training batch
  • モザイク画像: この画像は、モザイク処理されたデータセット画像で構成される学習バッチを示しています。モザイク処理は、学習中に複数の画像を1枚の画像に結合し、各学習バッチ内の物体やシーンの多様性を高めるために使用される手法です。これは、異なる物体のサイズ、アスペクト比、コンテキストに対してモデルが汎化する能力を向上させるのに役立ちます。

この例では、COCO128 データセットに含まれる画像の多様性と複雑さ、およびトレーニングプロセス中にモザイク処理を使用することの利点を示しています。

引用と謝辞

研究や開発の仕事で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 コンソーシアムに感謝いたします。COCO データセットとその作成者に関する詳細については、COCO データセットのウェブサイトをご覧ください。

FAQ

Ultralytics COCO128 データセットは何に使用されますか?

Ultralytics COCO128 データセットは、COCO train 2017 データセットの最初の128枚の画像を含むコンパクトなサブセットです。主に物体検出モデルのテストやデバッグ、新しい検出アプローチの実験、およびより大規模なデータセットにスケールアップする前のトレーニングパイプラインの検証に使用されます。扱いやすいサイズであるため、迅速なイテレーションに最適でありながら、有意義なテストケースとなるのに十分な多様性を備えています。

COCO128 データセットを使用して YOLO26 モデルをトレーニングするにはどうすればよいですか?

COCO128 データセットで YOLO26 モデルをトレーニングするには、Python または CLI コマンドのいずれかを使用できます。手順は以下の通りです。

トレーニングの例
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.pt")

# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)

その他のトレーニングオプションとパラメータについては、トレーニングのドキュメントを参照してください。

COCO128 でモザイクオーグメンテーションを使用する利点は何ですか?

サンプル画像に示すように、モザイクオーグメンテーションは複数のトレーニング画像を1つの合成画像に結合します。この手法には、COCO128 でトレーニングする際にいくつかの利点があります。

  • 各トレーニングバッチ内のオブジェクトとコンテキストの多様性を向上させる
  • 異なるオブジェクトサイズとアスペクト比に対するモデルの汎化性能を向上させる
  • さまざまなスケールのオブジェクトに対する検出性能を強化する
  • より多様なトレーニングサンプルを作成することで、小規模データセットの有用性を最大化する

この手法は COCO128 のような小規模なデータセットにとって特に価値があり、限られたデータからモデルがより堅牢な特徴を学習するのに役立ちます。

COCO128 は他の COCO データセットのバリエーションとどのように異なりますか?

COCO128 (128枚の画像) は、サイズにおいて COCO8 (8枚の画像) と完全な COCO データセット (118K枚以上の画像) の中間に位置します。

  • COCO8: わずか8枚の画像 (トレーニング用4枚、検証用4枚) を含み、迅速なテストやデバッグに最適です。
  • COCO128: 128枚の画像を含み、サイズと多様性のバランスが取れています。
  • 完全な COCO: 118K枚以上のトレーニング画像を含み、包括的ですがリソースを多く消費します。

COCO128 は良好な中間点を提供し、COCO8 よりも高い多様性を提供しながら、実験や初期のモデル開発において完全な COCO データセットよりもはるかに扱いやすいままです。

COCO128 を物体検出以外のタスクに使用できますか?

COCO128 は主に物体検出用に設計されていますが、データセットのアノテーションは他のコンピュータビジョンタスクに適応させることができます。

  • インスタンスセグメンテーション: アノテーションに含まれるセグメンテーションマスクを使用する場合
  • キーポイント検出: キーポイントアノテーション付きの人物が含まれる画像の場合
  • 転移学習: カスタムタスク用にモデルをファインチューニングするための出発点として

セグメンテーションのような特殊なタスクについては、適切なアノテーションが含まれる COCO8-seg のような目的別のバリエーションを使用することを検討してください。

コメント