YOLO Vision 2026:

物体検出データセットの概要#

頑健で精度の高いobject detectionモデルのトレーニングには、包括的なデータセットが必要です。このガイドでは、Ultralytics YOLOモデルと互換性のあるさまざまな形式のデータセットを紹介し、その構造、使用方法、異なる形式間で変換する方法について解説します。

サポートされているデータセット形式#

Ultralytics YOLO形式#

Ultralytics YOLOフォーマットは、データセットのルートディレクトリ、トレーニング/検証/テスト画像ディレクトリへの相対パス、または画像パスを含む*.txtファイル、およびクラス名の辞書を定義できるデータセット設定フォーマットです。以下に例を示します。

ultralytics/cfg/datasets/coco8.yaml
# 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

trainval、およびtestのそれぞれは、ディレクトリ、ディレクトリのリスト、または1行に1つの画像パスが記載された*.txtファイルを受け入れます(./で始まるパスは、*.txtファイルからの相対パスとして解決されます)。*.txtファイルは、ディレクトリのサブセットでトレーニングを行ったり、ラベルのない画像をスキップしたり、複数のソースからの画像を1つのスプリットに結合したりする際に便利です。

`*.txt`ファイルとしての画像パス
path: datasets/coco8 # dataset root
train: train.txt # a directory, a list e.g. [images/a, images/b], or a *.txt file
val: val.txt
names:
  0: person

この形式のラベルは、画像ごとに1つの*.txtファイルを持つYOLO形式でエクスポートする必要があります。画像内にオブジェクトがない場合、*.txtファイルは必要ありません。*.txtファイルは、class x_center y_center width height形式でオブジェクトごとに1行ずつフォーマットする必要があります。ボックスの座標は正規化されたxywh形式(0から1の範囲)である必要があります。ボックスがピクセル単位である場合は、x_centerおよびwidthを画像の幅で割り、y_centerおよびheightを画像の高さで割る必要があります。クラス番号は0から始まるインデックス(0から開始)にする必要があります。

YOLO labeled image with bounding boxes on persons and tie

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

YOLO format label file with normalized coordinates

Ultralytics YOLOフォーマットを使用する場合は、以下のCOCO8 datasetの例に示すように、トレーニングおよび検証用の画像とラベルを整理してください。

YOLO dataset directory structure with train and val folders

使用例#

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)

Ultralytics NDJSON形式#

NDJSON (Newline Delimited JSON)形式は、Ultralytics YOLOモデルのデータセットを定義するための代替手段を提供します。この形式では、データセットのメタデータとアノテーションを単一のファイルに格納し、各行に個別のJSONオブジェクトが含まれます。

NDJSONデータセットファイルには以下が含まれます。

  1. データセットレコード(1行目):タスクタイプ、クラス名、一般的な情報を含むデータセットメタデータ
  2. 画像レコード(以降の行):寸法、アノテーション、ファイルパスなど、個々の画像データ
NDJSONの例
{
    "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"
}

カスタム画像メタデータ#

各画像レコードには、撮影条件、機器識別子、レビュー状況などのアプリケーション固有のコンテキスト用のmetadata JSONオブジェクトを含めることができます。ネストされた値もサポートされています。Ultralytics Platformにインポートすると、メタデータはその画像と一緒に保存され、フルスクリーン情報パネルから表示または編集できます。

{
    "type": "image",
    "file": "airbus-wing.jpg",
    "url": "https://example.com/airbus-wing.jpg",
    "split": "train",
    "metadata": { "aircraft": { "family": "A350", "section": "wing" }, "inspectionStatus": "reviewed" }
}

Platformでは、トップレベルのメタデータキーは128文字、各画像のシリアライズされたメタデータオブジェクトは500,000文字、1回のNDJSONインポートにおける結合された有効なメタデータは500,000文字に制限されています。

使用例#

NDJSONデータセットをYOLO26で使用するには、.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)

NDJSON形式の利点#

  • 単一ファイル:すべてのデータセット情報が1つのファイルに収められている
  • ストリーミング:すべてをメモリに読み込むことなく、大規模なデータセットを1行ずつ処理可能
  • クラウド統合:クラウドベースのトレーニングのためにリモート画像URLをサポート
  • 拡張性:カスタムメタデータフィールドの追加が容易
  • バージョン管理:単一ファイル形式のため、gitやバージョン管理システムと相性が良い

サポートされているデータセット#

以下はサポートされているデータセットのリストと、それぞれの簡単な説明です。

  • African-wildlife: バッファロー、ゾウ、サイ、シマウマなど、アフリカの野生動物の画像を含むデータセット。
  • Argoverse: 豊富なアノテーションが付いた、都市環境での3Dトラッキングおよびモーション予測データを含むデータセット。
  • Brain-tumor: 脳腫瘍検出のためのデータセットで、腫瘍の有無、位置、特徴に関する詳細を含むMRIまたはCTスキャン画像が含まれています。
  • COCO: Common Objects in Context(COCO)は、80のオブジェクトカテゴリを持つ大規模なobject detection、セグメンテーション、およびキャプション生成データセットです。
  • COCO8: COCOのtrainおよびCOCOのvalから最初の4つの画像を抽出した小規模なサブセットであり、クイックテストに適しています。
  • COCO8-Grayscale: RGBをグレースケールに変換して作成されたCOCO8のグレースケール版であり、単チャネルモデルの評価に役立ちます。
  • COCO8-Multispectral: RGBの波長を補間して作成されたCOCO8の10チャネルマルチスペクトル版であり、スペクトルを考慮したモデルの評価に役立ちます。
  • COCO12-Formats: 画像読み込みパイプラインを検証するために、サポートされている12の画像形式(AVIF、BMP、DNG、HEIC、JP2、JPEG、JPG、MPO、PNG、TIF、TIFF、WebP)を網羅した12枚の画像を持つテストデータセット。
  • COCO16: COCO train2017の最初の16枚の画像(train 8枚 + val 8枚)のサブセットであり、クイックテストに適しています。
  • COCO32: COCO train2017の最初の32枚の画像(train 16枚 + val 16枚)のサブセットであり、クイックテストに適しています。
  • COCO64: COCO train2017の最初の64枚の画像(train 32枚 + val 32枚)のサブセットであり、クイックテストに適しています。
  • COCO128: COCO train2017の最初の128枚の画像のより小さなサブセットであり、テストに適しています。
  • Construction-PPE: ヘルメット、ベスト、手袋、ブーツ、ゴーグルなどの安全装備を着用した建設作業員の画像が含まれ、現実世界のコンプライアンス監視のためにno_helmetやno_goggleなどの装備未着用のアノテーションも含まれているデータセット。
  • Global Wheat 2020: Global Wheat Challenge 2020用の小麦の穂の画像を含むデータセット。
  • HomeObjects-3K: ベッド、椅子、テレビなどの屋内の家庭用品の画像を含むデータセットで、スマートホーム自動化、ロボット工学、AR(拡張現実)、部屋のレイアウト分析などのアプリケーションに最適です。
  • KITTI: ステレオ、LiDAR、GPS/IMUデータを含む現実世界の運転シーンの画像が含まれるデータセットであり、ここでは都市、農村、高速道路の環境における自動車、歩行者、自転車の識別などの2D object detectionタスクに使用されます。
  • LVIS: 1203のオブジェクトカテゴリを持つ大規模なオブジェクト検出、セグメンテーション、およびキャプション生成データセット。
  • Medical-pills: 医薬品の品質保証、ピルの仕分け、規制遵守などのアプリケーション向けにアノテーションされた、医療用ピルの画像を含むデータセット。
  • Objects365: 365のオブジェクトカテゴリと60万枚以上のアノテーション付き画像を含む、高品質で大規模なオブジェクト検出用データセット。
  • OpenImagesV7: 170万枚のトレーニング画像と4万2千枚の検証画像を含む、Googleによる包括的なデータセット。
  • Roboflow 100: 包括的なモデル評価のために7つの画像ドメインにわたる100のデータセットを備えた、多様なオブジェクト検出ベンチマーク。
  • Signature: アノテーション付き署名が含まれるさまざまな文書の画像を含むデータセットであり、文書検証や不正検出の研究をサポートします。
  • SKU-110K: 1万1千枚以上の画像と170万のbounding boxesを備えた、小売環境における高密度オブジェクト検出を含むデータセット。
  • TT100K: 221の看板カテゴリにわたる16,817枚のストリートビュー画像を含むTsinghua-Tencent 100K(TT100K)交通標識データセットで、頑健な検出と分類を行います。
  • VisDrone: 1万枚以上の画像とビデオシーケンスを含む、ドローン撮影映像からのオブジェクト検出およびマルチオブジェクト追跡データを含むデータセット。
  • VOC: 20のオブジェクトクラスと1万1千枚以上の画像を持つ、オブジェクト検出およびセグメンテーション用のPascal Visual Object Classes(VOC)データセット。
  • xView: 60のオブジェクトカテゴリと100万を超えるアノテーション付きオブジェクトを持つ、上空からの画像におけるオブジェクト検出用データセット。

独自のデータセットの追加#

独自のデータセットを持ち、Ultralytics YOLO形式で検出モデルをトレーニングしたい場合は、上記の「Ultralytics YOLO形式」で指定された形式に従っていることを確認してください。アノテーションを必要な形式に変換し、YAML構成ファイルでパス、クラス数、クラス名を指定してください。

ラベル形式の移植または変換#

COCOデータセット形式からYOLO形式へ#

次のコードスニペットを使用して、人気のCOCO dataset形式のラベルを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 modelsと互換性を持つようになります。

使用するデータセットがモデルと互換性があり、必要な形式規則に従っていることを必ず再確認してください。適切にフォーマットされたデータセットは、成功する物体検出モデルをトレーニングするために不可欠です。

次のステップ#

データセットのフォーマットが完了したら、start training your modelを行います。どの事前学習済みモデルから始めればよいかわからないですか?YOLO26 model familyでオプションを比較してください。

よくある質問 (FAQ)#

Ultralytics 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 dataset exampleを参照してください。

COCOデータセットをYOLO形式に変換するにはどうすればよいですか?#

Ultralytics conversion toolsを使用して、COCOデータセットをYOLOフォーマットに変換できます。簡単な方法は以下のとおりです。

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

このコードにより、COCOアノテーションがYOLOフォーマットに変換され、Ultralytics YOLOモデルとのシームレスな統合が可能になります。詳細については、Port or Convert Label Formatsセクションをご覧ください。

Ultralytics YOLOでは、どの物体検出データセットがサポートされていますか?#

Ultralytics YOLOは、以下を含む幅広いデータセットをサポートしています。

各データセットページには、効率的なYOLO26のトレーニングに合わせた構造と使用方法に関する詳細情報が記載されています。Supported Datasetsセクションで全リストをご覧ください。

独自のデータセットを使用して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コマンドを含むさまざまなモードの使用方法の詳細については、Usageセクションを参照してください。

Ultralytics YOLOを使用した物体検出の実践的な例はどこで見つけられますか?#

Ultralyticsでは、さまざまなアプリケーションでYOLO26を使用するための多数の例や実践的なガイドを提供しています。包括的な概要については、YOLO26を使用したオブジェクト検出、セグメンテーションなどの事例、詳細なチュートリアル、コミュニティのストーリーを見ることができるUltralytics Blogをご覧ください。具体的な例については、ドキュメントのUsageセクションをご確認ください。

コメント