COCOデータセット#
COCO(文脈内の一般的な物体)データセットは、大規模な物体検出、セグメンテーション、キャプション生成用のデータセットです。幅広い物体カテゴリに関する研究を促進するために設計されており、コンピュータービジョンモデルのベンチマークによく使用されます。物体検出、セグメンテーション、ポーズ推定に取り組む研究者や開発者にとって重要なデータセットです。
視聴: Ultralytics COCO データセットの概要
COCO事前学習済みモデル#
| モデル | サイズ (ピクセル) | mAPval 50-95 | mAP検証 50-95(e2e) | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.5 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.9 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.4 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.8 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 194.4 |
主な機能#
- COCOには画像が33万枚含まれており、そのうち20万枚には物体検出、セグメンテーション、キャプション生成タスク用のアノテーションが付いています。
- このデータセットは80の物体カテゴリで構成されており、車や自転車、動物などの一般的な物体に加えて、傘、ハンドバッグ、スポーツ用品などの具体的なカテゴリも含まれています。
- アノテーションには、各画像の物体バウンディングボックス、セグメンテーションマスク、キャプションが含まれています。
- COCOでは、物体検出とセグメンテーションの標準化された評価指標として、平均適合率(mAP)や平均再現率(AR)が提供されており、モデル性能の比較に適しています。
データセットの構成#
COCOデータセットは、次の3つのサブセットに分かれています。
- Train2017: オブジェクト検出、セグメンテーション、キャプション生成モデルのトレーニングに使用する118,287枚の画像です。
- Val2017: モデルのトレーニング中に検証に使用する5,000枚の画像です。
- Test2017: トレーニング済みモデルのベンチマークに使用する、test-dev用の20,288枚の画像です。このサブセットの正解アノテーションは公開されていません。性能評価のため、結果はCOCO評価サーバーに提出します。
用途#
COCOデータセットは、オブジェクト検出(Ultralytics YOLO、Faster R-CNN、SSDなど)、インスタンスセグメンテーション(Mask R-CNNなど)、キーポイント検出(OpenPoseなど)におけるディープラーニングモデルのトレーニングと評価に広く使用されています。多様なオブジェクトカテゴリ、豊富なアノテーション付き画像、標準化された評価指標により、コンピュータービジョンの研究者や実務者にとって不可欠なリソースとなっています。
ラベリングツールからCOCO JSON形式でエクスポートされたアノテーションも、同じ構造に従います。独自のCOCO形式データでトレーニングする方法については、COCOアノテーションをYOLO形式に変換するをご覧ください。
データセットYAML#
データセットの設定はYAMLファイルで定義します。このファイルには、データセットのパス、クラス、その他の関連情報が含まれています。COCOデータセットの場合、coco.yamlファイルはhttps://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yamlで管理されています。
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco ← downloads here (20.3 GB)
# 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: coco # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit via https://cocodataset.org/#detection-eval
# 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: |
from pathlib import Path
from ultralytics.utils import ASSETS_URL
from ultralytics.utils.downloads import download
# Download labels
segments = True # segment or box labels
dir = Path(yaml["path"]) # dataset root dir
urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")] # labels
download(urls, dir=dir.parent)
# Download data (test2017.zip excluded: ground truth is withheld, only used for the eval-server test-dev split)
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 19G, 118k images
"http://images.cocodataset.org/zips/val2017.zip", # 1G, 5k images
]
download(urls, dir=dir / "images", threads=3)使用方法#
COCO2017のトレーニングデータと検証データ(20.3 GB)は、トレーニングを初めて開始したときに自動でダウンロードされます。COCOでYOLO26nモデルを画像サイズ640、100エポックでトレーニングするには、次のコード例を使用できます。使用可能な引数の一覧については、モデルのトレーニングページをご覧ください。Ultralytics Platformを使って、クラウドでCOCOのトレーニングを実行することもできます。
from ultralytics import YOLO
# モデルを読み込む
model = YOLO("yolo26n.pt") # 事前トレーニング済みモデルを読み込みます(トレーニングにはこちらを推奨します)
# モデルをトレーニングする
results = model.train(data="coco.yaml", epochs=100, imgsz=640)サンプル画像とアノテーション#
COCOデータセットには、多様なオブジェクトカテゴリと複雑なシーンを含む画像が収録されています。データセット内の画像と、それに対応するアノテーションの例を以下に示します。

- モザイク画像: モザイク化したデータセット画像で構成されるトレーニングバッチを示しています。モザイク化はトレーニング中に使用される手法で、複数の画像を1枚にまとめ、各トレーニングバッチ内のオブジェクトやシーンの多様性を高めます。これにより、さまざまなオブジェクトサイズ、アスペクト比、コンテキストに対するモデルの汎化性能が向上します。
この例は、COCOデータセットの画像の多様性と複雑さ、およびトレーニングプロセスでモザイク化を使用するメリットを示しています。
引用と謝辞#
研究または開発で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に感謝します。COCOデータセットとその作成者について詳しくは、COCOデータセットのウェブサイトをご覧ください。
よくある質問#
COCOデータセット(文脈における一般物体)は、オブジェクト検出、セグメンテーション、キャプション生成に使用される大規模データセットです。80のオブジェクトカテゴリに関する詳細なアノテーション付き画像を33万枚収録しており、コンピュータービジョンモデルのベンチマークやトレーニングに不可欠です。研究者は、多様なカテゴリと、平均適合率(mAP)などの標準化された評価指標を備えていることからCOCOを使用しています。適合率についてもご覧ください。
次のコード例を使用して、COCOデータセットでYOLO26モデルをトレーニングできます。
トレーニング例from ultralytics import YOLO # モデルを読み込む model = YOLO("yolo26n.pt") # 事前トレーニング済みモデルを読み込みます(トレーニングにはこちらを推奨します) # モデルをトレーニングする results = model.train(data="coco.yaml", epochs=100, imgsz=640)使用可能な引数の詳細については、トレーニングページをご覧ください。
COCOデータセットには、次のものが含まれています。
- オブジェクト検出、セグメンテーション、キャプション生成用に20万枚のアノテーション付き画像を含む、33万枚の画像。
- 自動車や動物などの一般的なものから、ハンドバッグやスポーツ用品などの特定のものまで、80種類のオブジェクトカテゴリ。
- オブジェクト検出とセグメンテーション用に標準化された評価指標(mAPと平均再現率)。
- さまざまなオブジェクトサイズやコンテキストに対するモデルの汎化性能を高める、トレーニングバッチでのモザイク化手法。
COCOデータセットは、次の3つのサブセットに分かれています。
- Train2017: トレーニング用の118,287枚の画像です。
- Val2017: トレーニング中の検証用の5,000枚の画像です。
- Test2017: トレーニング済みモデルのベンチマーク用のtest-dev画像が20,288枚あります。性能評価のため、結果をCOCO評価サーバーに提出する必要があります。
データセットのYAML設定ファイルはcoco.yamlで、パス、クラス、データセットの詳細を定義しています。



