Link to this section物体検出データセットの概要#
堅牢で高精度な物体検出モデルをトレーニングするには、包括的なデータセットが必要です。このガイドでは、Ultralytics YOLOモデルと互換性のある様々なデータセット形式を紹介し、その構造や使用方法、形式変換の方法について解説します。
Link to this sectionサポートされているデータセット形式#
Link to this sectionUltralytics YOLO形式#
Ultralytics YOLO形式は、データセットのルートディレクトリ、トレーニング/検証/テスト用画像ディレクトリへの相対パス(または画像パスを含む*.txtファイル)、およびクラス名の辞書を定義できるデータセット構成形式です。以下に例を示します。
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← downloads here (1 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 # 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)
# 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.zipこの形式のラベルは、画像ごとに1つの*.txtファイルを持つYOLO形式にエクスポートする必要があります。画像内に物体がない場合、*.txtファイルは不要です。*.txtファイルは、各行に1つの物体をclass x_center y_center width heightの形式で記述します。ボックス座標は正規化されたxywh形式(0から1の間)である必要があります。ボックスがピクセル単位である場合は、x_centerとwidthを画像幅で、y_centerとheightを画像高さで除算してください。クラス番号は0から始まるインデックスにする必要があります。

上記の画像に対応するラベルファイルには、2人の人物(クラス0)と1本のネクタイ(クラス27)が含まれています。

Ultralytics YOLO形式を使用する際は、以下のCOCO8データセットの例のように、トレーニング用と検証用の画像およびラベルを整理してください。

Link to this section使用例#
YOLO形式のデータセットを使用してモデルをトレーニングする方法は以下の通りです。
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="coco8.yaml", epochs=100, imgsz=640)Link to this sectionUltralytics NDJSON形式#
NDJSON (Newline Delimited JSON)形式は、Ultralytics YOLOモデルのデータセットを定義するための代替手段を提供します。この形式では、データセットのメタデータとアノテーションを単一のファイルに格納し、各行に個別のJSONオブジェクトが含まれます。
NDJSONデータセットファイルには以下が含まれます。
- データセットレコード(1行目):タスクタイプ、クラス名、一般的な情報を含むデータセットメタデータ
- 画像レコード(以降の行):寸法、アノテーション、ファイルパスなど、個々の画像データ
{
"type": "dataset",
"task": "detect",
"name": "Example",
"description": "COCO NDJSON example dataset",
"url": "https://app.ultralytics.com/user/datasets/example",
"class_names": { "0": "person", "1": "bicycle", "2": "car" },
"bytes": 426342,
"version": 0,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}Link to this section使用例#
YOLO26でNDJSONデータセットを使用するには、.ndjsonファイルへのパスを指定するだけです。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train using NDJSON dataset
results = model.train(data="path/to/dataset.ndjson", epochs=100, imgsz=640)Link to this sectionNDJSON形式の利点#
- 単一ファイル:すべてのデータセット情報が1つのファイルに収められている
- ストリーミング:すべてをメモリに読み込むことなく、大規模なデータセットを1行ずつ処理可能
- クラウド統合:クラウドベースのトレーニングのためにリモート画像URLをサポート
- 拡張性:カスタムメタデータフィールドの追加が容易
- バージョン管理:単一ファイル形式のため、gitやバージョン管理システムと相性が良い
Link to this sectionサポートされているデータセット#
以下はサポートされているデータセットのリストと、それぞれの簡単な説明です。
- African-wildlife:バッファロー、ゾウ、サイ、シマウマを含むアフリカの野生生物の画像データセット。
- Argoverse:都市環境での3Dトラッキングと移動予測データを含む、詳細なアノテーション付きデータセット。
- Brain-tumor:脳腫瘍検出のためのデータセット。MRIやCTスキャン画像を含み、腫瘍の有無、場所、特徴の詳細が含まれる。
- COCO:Common Objects in Context (COCO) は、80の物体カテゴリを持つ大規模な物体検出、セグメンテーション、およびキャプション付けデータセットです。
- COCO8:COCO trainおよびCOCO valの最初の4画像からなる小規模なサブセット。迅速なテストに適しています。
- COCO8-Grayscale:RGBをグレースケールに変換して作成されたCOCO8のグレースケール版。シングルチャンネルモデルの評価に有用です。
- COCO8-Multispectral:RGB波長を補間して作成された10チャンネルのマルチスペクトル版COCO8。スペクトルを考慮したモデル評価に有用です。
- COCO12-Formats: 画像読み込みパイプラインの検証用に、12のサポートされている画像形式(AVIF、BMP、DNG、HEIC、JP2、JPEG、JPG、MPO、PNG、TIF、TIFF、WebP)を網羅した12枚の画像を含むテスト用データセットです。
- COCO128: COCO train2017の最初の128枚の画像で構成される小規模なサブセットであり、テストに適しています。
- Construction-PPE:建設現場の作業員を対象としたデータセット。ヘルメット、ベスト、手袋、ブーツ、ゴーグルなどの安全装備がラベル付けされており、no_helmetやno_goggleといった、現場でのコンプライアンス監視に必要な装備不足のアノテーションも含まれています。
- Global Wheat 2020:Global Wheat Challenge 2020に向けた小麦の穂の画像データセット。
- HomeObjects-3K:ベッド、椅子、テレビなどの屋内家庭用品のデータセット。スマートホーム自動化、ロボット工学、拡張現実、部屋のレイアウト分析への応用に最適です。
- KITTI:ステレオカメラ、LiDAR、GPS/IMUデータを含む現実の運転シーンを特徴とするデータセット。ここでは、都市、農村、高速道路環境における自動車、歩行者、自転車などの識別といった2D物体検出タスクに使用されます。
- LVIS:1203の物体カテゴリを持つ大規模な物体検出、セグメンテーション、およびキャプション付けデータセット。
- Medical-pills:医療用ピルの画像データセット。医薬品の品質保証、ピルの選別、規制コンプライアンスなどの用途にアノテーションされています。
- Objects365:365の物体カテゴリと60万枚以上の画像が含まれる、高品質で大規模な物体検出用データセット。
- OpenImagesV7:Googleが提供する包括的なデータセット。170万枚のトレーニング画像と4.2万枚の検証画像を含みます。
- Roboflow 100:7つの画像ドメインにまたがる100個のデータセットで構成される、多様な物体検出ベンチマーク。包括的なモデル評価が可能です。
- Signature:署名がアノテーションされた様々な文書の画像データセット。文書照合や不正検出の研究をサポートします。
- SKU-110K:小売環境における高密度な物体検出を特徴とするデータセット。1.1万枚以上の画像と170万個のバウンディングボックスが含まれます。
- TT100K:清華大学とテンセントによる交通標識データセット(TT100K)。10万枚のストリートビュー画像と3万以上の注釈付き交通標識を含み、堅牢な検出および分類が可能です。
- VisDrone:ドローンで撮影された画像とビデオシーケンスに基づく、物体検出およびマルチオブジェクトトラッキングデータセット。1万枚以上の画像を含みます。
- VOC:Pascal Visual Object Classes (VOC) データセット。20の物体クラスと1.1万枚以上の画像による物体検出およびセグメンテーション用データセット。
- xView:俯瞰画像による物体検出用データセット。60の物体カテゴリと100万個以上の注釈付き物体を含みます。
Link to this section独自のデータセットの追加#
独自のデータセットを持ち、Ultralytics YOLO形式で検出モデルをトレーニングしたい場合は、上記の「Ultralytics YOLO形式」で指定された形式に従っていることを確認してください。アノテーションを必要な形式に変換し、YAML構成ファイルでパス、クラス数、クラス名を指定してください。
Link to this sectionラベル形式の移植または変換#
Link to this sectionCOCOデータセット形式からYOLO形式へ#
以下のコードスニペットを使用して、一般的なCOCOデータセット形式のラベルをYOLO形式に簡単に変換できます。
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")この変換ツールを使用して、COCOデータセットまたはCOCO形式のあらゆるデータセットをUltralytics YOLO形式に変換できます。このプロセスにより、JSONベースのCOCOアノテーションがよりシンプルなテキストベースのYOLO形式に変換され、Ultralytics YOLOモデルとの互換性が確保されます。
使用するデータセットがモデルと互換性があり、必要な形式規則に従っていることを必ず再確認してください。適切にフォーマットされたデータセットは、成功する物体検出モデルをトレーニングするために不可欠です。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics YOLOデータセット形式とは何ですか?また、どのように構築しますか?#
Ultralytics YOLO形式は、トレーニングプロジェクトにおけるデータセット定義のための構造化された構成です。これには、トレーニング、検証、テスト用の画像および対応するラベルへのパス設定が含まれます。例えば:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← downloads here (1 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 # 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)
# 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.zipラベルは画像ごとに1つの*.txtファイルに保存され、正規化された座標でclass x_center y_center width heightとフォーマットされます。詳細なガイドについては、COCO8データセットの例を参照してください。
Link to this sectionCOCOデータセットをYOLO形式に変換するにはどうすればよいですか?#
Ultralytics変換ツールを使用して、COCOデータセットをYOLO形式に変換できます。簡単な方法は以下の通りです。
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")このコードを実行すると、COCOアノテーションがYOLO形式に変換され、Ultralytics YOLOモデルとシームレスに統合できるようになります。詳細については、ラベル形式の移植または変換セクションを参照してください。
Link to this sectionUltralytics YOLOでは、どの物体検出データセットがサポートされていますか?#
Ultralytics YOLOは、以下を含む幅広いデータセットをサポートしています。
各データセットのページでは、効率的なYOLO26トレーニングに向けた構造と使用方法の詳細情報を提供しています。全リストはサポートされているデータセットセクションで確認できます。
Link to this section独自のデータセットを使用してYOLO26モデルのトレーニングを開始するにはどうすればよいですか?#
YOLO26モデルのトレーニングを開始するには、データセットが適切にフォーマットされ、パスがYAMLファイルで定義されていることを確認してください。以下のスクリプトを使用してトレーニングを開始します。
from ultralytics import YOLO
model = YOLO("yolo26n.pt") # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)CLIコマンドを含む様々なモードの利用方法については、使用例セクションを参照してください。
Link to this sectionUltralytics YOLOを使用した物体検出の実践的な例はどこで見つけられますか?#
Ultralyticsは、様々なアプリケーションでYOLO26を使用するための多数の例と実践的なガイドを提供しています。包括的な概要については、Ultralyticsブログにアクセスしてください。そこでは、YOLO26を使用した物体検出、セグメンテーションなどを紹介する事例研究、詳細なチュートリアル、コミュニティのストーリーをご覧いただけます。特定の例については、ドキュメントの使用方法セクションを確認してください。