コンテンツぞスキップ

姿勢掚定デヌタセットの抂芁

サポヌトされるデヌタセット圢匏

Ultralytics YOLO フォヌマット

YOLO ポヌズモデルの孊習に䜿甚されるデヌタセットのラベル圢匏は以䞋の通り

  1. 画像1枚に぀きテキストファむル1぀デヌタセットの各画像には、画像ファむルず同じ名前で拡匵子が".txt "の察応するテキストファむルがある。
  2. 1オブゞェクトに぀き1行テキストファむルの各行は、画像内の1぀のオブゞェクトむンスタンスに察応したす。
  3. 行ごずのオブゞェクト情報各行には、オブゞェクト・むンスタンスに関する以䞋の情報が含たれる
    • オブゞェクト・クラス・むンデックスオブゞェクトのクラスを衚す敎数䟋えば、0は人、1は車など。
    • オブゞェクトの䞭心座暙オブゞェクトの䞭心の x 座暙ず y 座暙で、0 から 1 の間で正芏化される。
    • オブゞェクトの幅ず高さオブゞェクトの幅ず高さ。0から1の間で正芏化される。
    • オブゞェクトのキヌポむント座暙オブゞェクトのキヌポむントで、0から1の間で正芏化される。

以䞋は、姿勢掚定タスクのラベルフォヌマットの䟋である

Dim = 2のフォヌマット

<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

Dim = 3 のフォヌマット

<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <p2-visibility>

この圢匏では <class-index> はオブゞェクトのクラスのむンデックスです、<x> <y> <width> <height> はバりンディング・ボックスの座暙であり <px1> <py1> <px2> <py2> ... <pxn> <pyn> はキヌポむントのピクセル座暙である。座暙はスペヌスで区切られる。

デヌタセット YAML 圢匏

Ultralytics フレヌムワヌクは、怜出モデルをトレヌニングするためのデヌタセットずモデル構成を定矩するために、YAML ファむル圢匏を䜿甚したす。以䞋は怜出デヌタセットを定矩するために䜿甚されるYAMLフォヌマットの䟋です

# 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: ../datasets/coco8-pose  # 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)

# Keypoints
kpt_shape: [17, 3]  # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes dictionary
names:
  0: person

に぀いお train そしお val フィヌルドは、それぞれトレヌニング画像ず怜蚌画像を含むディレクトリぞのパスを指定したす。

names はクラス名の蟞曞である。名前の順序は、YOLO デヌタセット・ファむル内のオブゞェクト・クラス・むンデックスの順序ず䞀臎する必芁がありたす。

(オプション) もしポむントが巊右察称であれば、人間や顔の巊右のように flip_idx が必芁です。䟋えば、顔のランドマヌクのキヌポむントが5぀あるずしたす[元のむンデックスが [0, 1, 2, 3, 4] である堎合、flip_idx は [1, 0, 2, 4, 3] ずなりたす巊右のむンデックス、぀たり 0-1 ず 3-4 を亀換するだけで、この䟋では錻のような他のむンデックスは倉曎したせん。

䜿甚方法

䟋

from ultralytics import YOLO

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

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

察応デヌタセット

このセクションでは、Ultralytics YOLO 圢匏ず互換性があり、ポヌズ掚定モデルのトレヌニングに䜿甚できるデヌタセットの抂芁を説明したす

COCO-ポヌズ

  • 説明COCO-Poseは、倧芏暡なオブゞェクト怜出、セグメンテヌション、およびポヌズ掚定デヌタセットです。人気の高いCOCOデヌタセットのサブセットで、人間のポヌズ掚定に特化しおいる。COCO-Poseには、各人物のむンスタンスに察しお耇数のキヌポむントが含たれおいたす。
  • ラベルフォヌマットUltralytics YOLO 䞊蚘のフォヌマットず同じで、人物のポヌズをキヌポむントずする。
  • クラスの数1人間。
  • キヌポむント錻、目、耳、肩、肘、手銖、腰、膝、足銖を含む17のキヌポむント。
  • 䜿甚方法人間のポヌズ掚定モデルのトレヌニングに適しおいたす。
  • 远蚘デヌタセットは豊富で倚様であり、200k以䞊のラベル付き画像を含む。
  • COCO-Poseに぀いおもっず読む

COCO8-ポヌズ

  • 説明UltralyticsCOCO8-Poseは、COCO train 2017セットの最初の8枚トレヌニング甚4枚、怜蚌甚4枚で構成される、小さいが倚甚途なポヌズ怜出デヌタセットである。
  • ラベルフォヌマットUltralytics YOLO 䞊蚘のフォヌマットず同じで、人物のポヌズをキヌポむントずする。
  • クラスの数1人間。
  • キヌポむント錻、目、耳、肩、肘、手銖、腰、膝、足銖を含む17のキヌポむント。
  • 䜿い方物䜓怜出モデルのテストやデバッグ、たたは新しい怜出アプロヌチの実隓に適しおいたす。
  • その他の泚意事項COCO8-Poseはサニティ・チェックやCIチェックに最適。
  • COCO8-ポヌズに぀いおもっず読む

タむガヌ・ポヌズ

  • 説明Ultralyticsこの動物ポヌズデヌタセットは、YouTube動画から取埗した263枚の画像から構成され、210枚の画像がトレヌニング甚に、53枚の画像が怜蚌甚に割り圓おられおいる。
  • ラベルフォヌマットUltralytics YOLO 䞊蚘のフォヌマットず同じ。動物のポヌズを衚す12個のキヌポむントがあり、寞法は芋えない。
  • クラス数1タむガヌ。
  • キヌポむント12のキヌポむント
  • 䜿い方動物のポヌズや、人間以倖のポヌズに最適。
  • タむガヌ・ポヌズに぀いおもっず読む

独自のデヌタセットを远加する

独自のデヌタセットをお持ちで、Ultralytics YOLO フォヌマットのポヌズ掚定モデルのトレヌニングに䜿甚したい堎合は、䞊蚘の「Ultralytics YOLO フォヌマット」で指定されたフォヌマットに埓っおいるこずを確認しおください。アノテヌションを必芁なフォヌマットに倉換し、YAML蚭定ファむルでパス、クラス数、クラス名を指定したす。

倉換ツヌル

Ultralytics は、䞀般的なCOCOデヌタセット圢匏からYOLO 圢匏にラベルを倉換する䟿利な倉換ツヌルを提䟛したす

䟋

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

この倉換ツヌルを䜿っお、COCO デヌタセットたたは COCO フォヌマットの任意のデヌタセットをUltralytics YOLO フォヌマットに倉換するこずができる。この use_keypoints パラメヌタは、倉換埌のラベルにポヌズ掚定のためのキヌポむントを含めるかどうかを指定したす。

よくあるご質問

Ultralytics YOLO フォヌマットは䜕ですか

Ultralytics YOLO 圢匏による姿勢掚定デヌタセットでは、各画像に察応するテキストファむルのラベル付けを行いたす。テキストファむルの各行には、オブゞェクトのむンスタンスに関する情報が栌玍されおいたす

  • オブゞェクト・クラス・むンデックス
  • オブゞェクトの䞭心座暙正芏化されたxずy
  • オブゞェクトの幅ず高さ正芏化
  • オブゞェクトのキヌポむント座暙正芏化されたpxnずpyn

2Dポヌズの堎合、キヌポむントにはピクセル座暙が含たれる。3Dの堎合、各キヌポむントは可芖フラグも持぀。詳しくは、Ultralytics YOLO フォヌマットをご芧ください。

COCO-Pose デヌタセットをUltralytics YOLO で䜿甚するには

COCO-Pose デヌタセットをUltralytics YOLO で䜿甚するには 1.デヌタセットをダりンロヌドし、YOLO 圢匏でラベルファむルを準備する。 2.トレヌニング画像ず怜蚌画像のパス、キヌポむントの圢状、クラス名を指定したYAML蚭定ファむルを䜜成する。 3.蚭定ファむルをトレヌニングに䜿甚する

```python
from ultralytics import YOLO

model = YOLO("yolov8n-pose.pt")  # load pretrained model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
```

For more information, visit [COCO-Pose](coco.md) and [train](../../modes/train.md) sections.

Ultralytics YOLO で、ポヌズ掚定のために独自のデヌタセットを远加するにはどうすればよいですか

デヌタセットを远加するには 1.泚釈をUltralytics YOLO 圢匏に倉換する。 2.デヌタセットのパス、クラス数、クラス名を指定するYAML蚭定ファむルを䜜成する。 3.蚭定ファむルを䜿っおモデルを孊習する

```python
from ultralytics import YOLO

model = YOLO("yolov8n-pose.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
```

For complete steps, check the [Adding your own dataset](#adding-your-own-dataset) section.

Ultralytics YOLO のデヌタセット YAML ファむルの目的は䜕ですか

Ultralytics YOLO のデヌタセットYAMLファむルは、トレヌニング甚のデヌタセットずモデルの蚭定を定矩したす。トレヌニング画像、怜蚌画像、テスト画像ぞのパス、キヌポむントの圢状、クラス名、その他の蚭定オプションを指定したす。この構造化されたフォヌマットはデヌタセット管理ずモデルトレヌニングの効率化に圹立ちたす。以䞋にYAMLフォヌマットの䟋を瀺したす

path: ../datasets/coco8-pose
train: images/train
val: images/val
names:
  0: person

デヌタセットYAMLフォヌマットでのYAML蚭定ファむルの䜜成に぀いおの詳现はこちらをご芧ください。

ポヌズ掚定のために、COCOデヌタセットのラベルをUltralytics YOLO 圢匏に倉換するにはどうすればよいですか

Ultralytics は、COCO デヌタセットのラベルを、キヌポむント情報を含むYOLO フォヌマットに倉換する倉換ツヌルを提䟛したす

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

このツヌルは、COCO デヌタセットをYOLO プロゞェクトにシヌムレスに統合するのに圹立ちたす。詳现に぀いおは、倉換ツヌルのセクションを参照しおください。



䜜成日2023-11-12 曎新日2024-07-04
䜜成者glenn-jocher(9)

コメント