コンテンツへスキップ

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

ロバストで正確な物体検出モデルのトレーニングには、包括的なデータセットが必要です。このガイドでは、Ultralytics YOLO モデルと互換性のあるデータセットのさまざまな形式を紹介し、それらの構造、使用方法、異なる形式間の変換方法についての洞察を提供します。

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

Ultralytics 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

このフォーマットのラベルは、YOLO フォーマットにエクスポートする必要があります。 *.txt ファイルです。画像にオブジェクトがない場合は *.txt ファイルが必要である。その *.txt ファイルでは、各オブジェクトが class x_center y_center width height 形式でなければなりません。ボックス座標は 正規化xywh フォーマット(0から1まで)で指定します。ボックスの単位がピクセルの場合、次のように分割します。 x_center そして width 画像の幅で y_center そして height を画像の高さで指定します。クラス番号はゼロインデックス(0から始まる)でなければならない。

ラベル画像例

上の画像に対応するラベルファイルには、2人の人物(クラス 0と引き分け(クラス 27):

ラベルファイルの例

Ultralytics YOLO 形式を使用する場合、以下のCOCO8データセットの例に示すように、トレーニング画像と検証画像、ラベルを整理する。

データセットのディレクトリ構造例

使用方法

これらのフォーマットを使ってモデルをトレーニングする方法を紹介しよう:

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

対応データセット

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

  • Argoverse:豊富なアノテーションを持つ都市環境の3Dトラッキングとモーション予測データを含むデータセット。
  • COCO: Common Objects in Context (COCO)は、80のオブジェクトカテゴリを持つ大規模なオブジェクト検出、セグメンテーション、キャプションデータセットである。
  • LVIS: 1203のオブジェクトカテゴリを持つ大規模なオブジェクト検出、セグメンテーション、キャプションデータセット。
  • COCO8: COCO trainとCOCO valの最初の4枚の画像のサブセット。
  • COCO8-グレースケール:RGBをグレースケールに変換して作成されたCOCO8のグレースケール版で、シングルチャンネルのモデル評価に便利。
  • COCO8-マルチスペクトル:RGB波長を補間して作成されたCOCO8の10チャンネルマルチスペクトルバージョンで、スペクトルを考慮したモデル評価に有用。
  • COCO128: COCO trainとCOCO valの最初の128枚の画像のうち、テストに適した小さいサブセット。
  • グローバル小麦2020Global Wheat Challenge 2020のための小麦の頭部画像を含むデータセット。
  • Objects365:365の物体カテゴリと600K以上の注釈付き画像を持つ、物体検出のための高品質で大規模なデータセット。
  • OpenImagesV7:Google による包括的なデータセットで、1.7Mの訓練画像と42kの検証画像がある。
  • SKU-110K: 11Kを超える画像と170万のバウンディングボックスを備えた、小売環境における高密度物体検出を特徴とするデータセット。
  • HomeObjects-3K New 🚀: ベッド、椅子、テレビなどを含む屋内家庭用品のデータセット。スマートホームオートメーション、ロボティクス、拡張現実、および部屋のレイアウト分析でのアプリケーションに最適です。
  • VisDrone:ドローンで撮影された10K以上の画像とビデオシーケンスからのオブジェクト検出とマルチオブジェクトトラッキングデータを含むデータセット。
  • VOC: Pascal Visual Object Classes (VOC)データセット。20のオブジェクトクラスと11K以上の画像を含む、オブジェクト検出とセグメンテーションのためのデータセット。
  • xView:60のオブジェクトカテゴリと100万以上の注釈付きオブジェクトを持つ俯瞰画像中のオブジェクト検出用データセット。
  • Roboflow 100:7つの画像領域にまたがる100のデータセットからなる多様な物体検出ベンチマークで、モデルの包括的な評価を行う。
  • 脳腫瘍:脳腫瘍を検出するためのデータセットには、腫瘍の有無、位置、特徴に関する詳細を含むMRIまたはCTスキャン画像が含まれる。
  • African-wildlife:バッファロー、ゾウ、サイ、シマウマなど、アフリカの野生動物の画像を集めたデータセット。
  • 署名:様々な文書の画像に署名の注釈を付けたデータセットで、文書の検証や不正検出の研究を支援する。
  • 医療用錠剤:医薬品の品質保証、錠剤の分類、規制遵守などの用途のためにアノテーションされた医療用錠剤の画像を含むデータセット。

独自のデータセットを追加する

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

ラベルフォーマットの移植または変換

COCO データセット形式から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モデルとの互換性が確保されます。

使用したいデータセットがあなたのモデルと互換性があり、必要なフォーマット規則に従っているかどうかを再チェックすることを忘れないでください。適切にフォーマットされたデータセットは、オブジェクト検出モデルをうまくトレーニングするために非常に重要です。

よくあるご質問

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

ラベルは *.txt ファイルは、1画像につき1ファイルである。 class x_center y_center width height を正規化した座標で表示します。詳細なガイドについては COCO8データセットの例.

COCOデータセットをYOLO フォーマットに変換するには?

Ultralyticsの変換ツールを使用すると、COCOデータセットをYOLO形式に変換できます。簡単な方法を以下に示します。

from ultralytics.data.converter import convert_coco

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

このコードは、COCO注釈をYOLO フォーマットに変換し、Ultralytics YOLO モデルとのシームレスな統合を可能にします。詳細については、ラベルフォーマットの移植または変換のセクションをご覧ください。

Ultralytics YOLO では、どのデータセットが物体検出に対応していますか?

Ultralytics YOLO を含む幅広いデータセットをサポートしている:

各データセットのページでは、効率的なYOLO11 トレーニングのために調整された構造と使用方法に関する詳細な情報を提供しています。サポートされているデータセット」セクションで全リストをご覧ください。

自分のデータセットを使って、YOLO11 モデルのトレーニングを始めるには?

YOLO11 モデルの学習を開始するには、データセットが正しくフォーマットされ、パスが YAML ファイルで定義されていることを確認する。以下のスクリプトを使用して学習を開始する:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=path/to/your_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

CLI ・コマンドを含む各モードの詳細については、「使用法」のセクションを参照のこと。

Ultralytics YOLO を使った物体検出の実用例はどこにありますか?

Ultralytics には、YOLO11 をさまざまなアプリケーションで使用するための、数多くの例と実践的なガイドが掲載されている。包括的な概要については、Ultralytics ブログをご覧ください。YOLO11 を使用したケーススタディ、詳細なチュートリアル、オブジェクト検出、セグメンテーションなどを紹介するコミュニティストーリーをご覧いただけます。具体的な例については、ドキュメントの「使用法」のセクションを確認してください。



📅作成:1年前 ✏️更新しました 19日前

コメント