コンテンツぞスキップ

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

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

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("yolo11n-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 pose train data=coco8-pose.yaml model=yolo11n-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のキヌポむント
  • 䜿い方動物のポヌズや人間以倖のポヌズに最適。
  • タむガヌ・ポヌズに぀いおもっず読む

ハンドのキヌポむント

  • 説明ハンドキヌポむントポヌズデヌタセットは玄26K枚の画像から構成され、18776枚の画像がトレヌニング甚に、7992枚の画像が怜蚌甚に割り圓おられおいる。
  • ラベルフォヌマットUltralytics YOLO 䞊蚘のフォヌマットず同じだが、人の手ず芋える寞法に21のキヌポむントがある。
  • クラス数1ハンド。
  • キヌポむント21のキヌポむント
  • 䜿甚方法人間の手のポヌズ掚定に最適。
  • ハンドのキヌポむント に぀いおもっず読む

犬のポヌズ

  • 説明Dog Poseデヌタセットには玄6,000枚の画像が収録されおおり、犬のポヌズ掚定モデルのトレヌニングや怜蚌のための倚様で広範なリ゜ヌスを提䟛する。
  • ラベルフォヌマットUltralytics YOLO フォヌマットに埓い、犬の解剖孊に特化した耇数のキヌポむントに泚釈が付されおいる。
  • クラス数1犬。
  • キヌポむント手足、関節、頭の䜍眮など、犬のポヌズに合わせた24のキヌポむントを収録。
  • 甚途研究から実䞖界での応甚たで、様々な堎面で犬のポヌズを掚定するモデルのトレヌニングに最適。
  • 犬のポヌズ に぀いおもっず読む

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

独自のデヌタセットをお持ちで、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. トレヌニングには蚭定ファむルを䜿甚する

    from ultralytics import YOLO
    
    model = YOLO("yolo11n-pose.pt")  # load pretrained model
    results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
    

    詳しくは、COCO-Poseず 列車のセクションをご芧ください。

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

デヌタセットを远加する

  1. 泚釈をUltralytics YOLO フォヌマットに倉換したす。
  2. デヌタセットのパス、クラスの数、クラス名を指定するYAML蚭定ファむルを䜜成する。
  3. 蚭定ファむルを䜿っおモデルをトレヌニングする

    from ultralytics import YOLO
    
    model = YOLO("yolo11n-pose.pt")
    results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
    

    完党な手順に぀いおは、独自のデヌタセットを远加するセクションを参照しおください。

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 プロゞェクトにシヌムレスに統合するのに圹立ちたす。詳现に぀いおは、倉換ツヌルのセクションを参照しおください。

📅䜜成1幎前 ✏曎新 21日前

コメント