すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:ポーズ検出

最終更新日:Jul 22, 2024

ビジネスに人体検出が含まれる場合は、ポーズ検出コンポーネントを使用して、推論用のポーズモデルを構築できます。 このトピックでは、ポーズ検出コンポーネントを設定する方法と、コンポーネントの使用方法について説明します。

前提条件

OSSが有効化され、Machine Learning StudioはOSSへのアクセスが許可されています。 詳細については、「OSSの有効化」および「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。

制限事項

  • ポーズ検出コンポーネントは、Machine Learning Platform for AI (PAI) のMachine Learning Designerでのみ使用できます。

  • ポーズ検出コンポーネントは、PAIのディープラーニングコンテナ (DLC) のコンピューティングリソースでのみ使用できます。

概要

ポーズ検出は、主流のトップダウンアルゴリズムを提供します。 アルゴリズムは、以下のカテゴリ、すなわち、物体検出および単一姿勢検出に分類することができる。 単一ポーズ検出は、検出アルゴリズムの提案に依存し、HRNetおよびLite-HRNetモデルをサポートする。

ポーズ検出コンポーネントは、コンポーネントライブラリの [オフライントレーニング] サブフォルダーの [ビデオアルゴリズム] フォルダーにあります。

PAIコンソールでのコンポーネント設定

  • 入力ポート

    入力ポート (左から右)

    データ型

    推奨上流コンポーネント

    必須

    トレーニングのデータ

    OSS

    ファイルデータの読み取り

    不可

    トレーニングのデータ注釈パス

    OSS

    ファイルデータの読み取り

    不可

    評価のためのデータ

    OSS

    ファイルデータの読み取り

    不可

    評価のためのデータ注釈パス

    OSS

    ファイルデータの読み取り

    不可

    データキーポイント情報パス

    OSS

    ファイルデータの読み取り

    不可

  • コンポーネントパラメータ

    タブ

    パラメーター

    必須

    説明

    デフォルト値

    フィールド設定

    モデルタイプ

    モデルトレーニングに使用されるアルゴリズムの種類。 TopDownのみがサポートされています。

    TopDown

    oss dir to save model

    不可

    トレーニングモデルが保存されているObject Storage Service (OSS) ディレクトリ。 例: oss:// examplebucket/output_dir/ckpt /

    なし

    ossデータパスからトレーニング

    不可

    トレーニング入力ポートのデータを使用してこのコンポーネントのトレーニングデータを指定しなかった場合、このパラメーターを設定する必要があります。

    トレーニングデータが保存されているOSSディレクトリ。 例: oss:// examplebucket/data/train_images /

    説明

    入力ポートとこのパラメーターの両方を使用してトレーニングデータを指定する場合、入力ポートを使用して指定された値が優先されます。

    なし

    oss注釈パスのトレーニングデータ

    不可

    トレーニング入力ポートのデータ注釈パスを使用してラベル付きトレーニングデータを指定しなかった場合、このパラメーターを設定する必要があります。

    ラベル付きトレーニングデータが保存されているOSSディレクトリ。 例: oss:// examplebucket/data/annotations/train.json

    説明

    入力ポートとこのパラメーターの両方を使用してラベル付きトレーニングデータを指定する場合、入力ポートを使用して指定された値が優先されます。

    なし

    ossデータパスから評価

    不可

    評価用データ入力ポートで評価データを指定しなかった場合は, このパラメーターを設定する必要があります。

    評価データが保存されるOSSディレクトリ。 例: oss:// examplebucket/data/val_images /

    説明

    入力ポートとこのパラメーターの両方で評価データを指定する場合は, 入力ポートで指定した値が優先されます。

    なし

    oss注釈パス評価データ

    不可

    評価入力ポートのデータ注釈パスを使用してラベル付き評価データを指定しなかった場合、このパラメーターを設定する必要があります。

    ラベル付き評価データが保存されているOSSディレクトリ。 例: oss:// examplebucket/data/annotations/val.json

    説明

    入力ポートとこのパラメーターの両方でラベル付き評価データを指定する場合は、入力ポートで指定した値が優先されます。

    なし

    データセット情報ファイルへのossパス

    不可

    データキーポイント情報パス入力ポートを使用してデータセット情報ファイルを指定しなかった場合、このパラメーターを設定する必要があります。

    データセット情報ファイルが保存されているOSSディレクトリ。 例: oss:// examplebucke/data/annotations/dataset_info.py

    説明

    入力ポートとこのパラメーターの両方を使用してデータセット情報ファイルを指定する場合、入力ポートを使用して指定された値が優先されます。

    なし

    データソースタイプ

    入力データの形式。 DetSourceCOCOのみがサポートされています。

    DetSourceCOCO

    事前トレーニング済みモデルへのoss path to pretrained model

    不可

    事前トレーニング済みモデルが保存されているOSSディレクトリ。 事前トレーニング済みモデルがある場合は、このパラメーターを事前トレーニング済みモデルのOSSディレクトリに設定します。 このパラメーターを設定しない場合、PAIが提供する対応するデフォルトの事前トレーニング済みモデルが使用されます。

    なし

    パラメーター設定

    バックボーン

    使用するバックボーンモデル。 次の主流モデルは支えられます:

    • hrnet

    • lite_hrnet

    hrnet

    numキーポイント

    データ内のカテゴリの数。

    なし

    サイズ変更後の画像サイズ

    サイズ変更後の画像の固定サイズ。 幅と高さをコンマ (,) で区切ります。

    192,256

    初期学習率

    初期学習率。

    0.01

    learning rateポリシー

    学習率を調整するために使用されるポリシー。 ステップのみサポートされます。 stepの値は、学習レートが指定されたエポックで手動で調整されることを示します。

    step

    Irステップ

    学習レートが調整されるエポック。 複数入力する場合は、カンマ (,) で区切ります。 エポックの数がこのパラメーターで指定された値に達すると、学習率は90% 減衰します。

    例えば、初期学習率が0.1に設定され、エポックの総数が20に設定され、lrステップパラメータが5,10に設定されたと仮定する。 この場合、トレーニングがエポック1〜5であるとき、学習率は0.1である。 トレーニングがエポック6に入ると、学習率は0.01に減衰し、エポック10が終了するまで継続する。 トレーニングがエポック11に入ると、学習率は0.001に減衰し、すべてのエポックの終わりまで続きます。

    170,200

    列車のバッチサイズ

    トレーニングバッチのサイズ。1回の反復でモデルトレーニングに使用されるデータサンプルの数を示します。

    32

    evalバッチサイズ

    評価バッチのサイズ。1回の反復でモデル評価に使用されるデータサンプルの数を示します。

    32

    総列車エポック

    エポックの総数。 トレーニングのラウンドがすべてのデータサンプルで完了すると、エポックは終了します。 エポックの総数は、データサンプルに対して実施されたトレーニングラウンドの総数を示す。

    200

    チェックポイントエポックを保存

    不可

    チェックポイントが保存される頻度。 値1は、エポックが終了するたびにチェックポイントが保存されることを示します。

    1

    チューニング

    オプティマイザ

    モデルトレーニングの最適化方法。 有効な値:

    • SGD

    • アダム

    SGD

    数プロセスの読み取りデータあたりgpu

    不可

    各GPUのトレーニングデータの読み取りに使用されるスレッドの数。

    2

    evtorchモデルfp16

    不可

    モデルトレーニング中のメモリ使用量を減らすためにFP16を有効にするかどうかを指定します。

    なし

    シングルワーカーまたは分散DLC

    コンポーネントの実行に使用される計算エンジン。 ビジネス要件に基づいてコンピューティングエンジンを選択できます。 有効な値:

    • single_on_dlc

    • distribute_on_dlc

    single_on_dlc

    数のワーカー

    不可

    単一のワーカーまたはDLCで配布パラメーターにdistribute_on_dlcを選択した場合、このパラメーターを設定する必要があります。

    計算に使用される同時作業ノードの数。

    1

    cpuマシンタイプ

    不可

    単一のワーカーまたはDLCで配布パラメーターにdistribute_on_dlcを選択した場合、このパラメーターを設定する必要があります。

    使用するCPU仕様。

    16vCPU + 64GB Mem-ecs.g6.4xlarge

    gpuマシンタイプ

    使用するGPU仕様。

    8vCPU + 60GB Mem + 1xp100-ecs.gn5-c8g1.2xlarge

  • 出力ポート

    出力ポート

    データ型

    下流コンポーネント

    出力モデル

    出力モデルが保存されているOSSディレクトリ。 この値は、[フィールド設定] タブで [oss dir to save model] パラメーターに指定した値と同じです。

    イメージ予測

次の図は、ポーズ検出コンポーネントが使用されるサンプルパイプラインを示しています。 Pipelineこの例では、次の手順を実行して、前の図のようにコンポーネントを構成します。

  1. データを準備します。 PAIが提供するiTAGを使用して画像にラベルを付ける。 詳細については、次をご参照ください: iTAGを使用します。

  2. Read File Data-1Read File Data-2Read File Data-3Read File Data-4、およびRead File Data-5コンポーネントを使用して、トレーニングデータ、ラベル付きトレーニングデータ、評価データ、ラベル付き評価データ、およびデータセット情報ファイルを読み取ります。 これを行うには、各コンポーネントのOSSデータパスパラメーターを、取得するデータが保存されているOSSディレクトリに設定します。

  3. 前の5つのコンポーネントからポーズ検出コンポーネントに線を引き、ポーズ検出コンポーネントのパラメーターを設定します。 詳細については、このトピックの「PAIコンソールでのコンポーネント設定」セクションを参照してください。

  4. 画像予測コンポーネントを使用して、オフライン推論を実行します。 これを行うには、画像予測コンポーネントに次のパラメータを設定します。 詳細については、「画像予測」をご参照ください。

    • model type: pose_predictorを選択します。

    • oss path for model: pose detectionコンポーネントのモデルパラメータを保存するために、oss dirに設定された値を選択します。

    • ポーズの検出モデルのパス: ポーズ検出モデルが保存されているossディレクトリを選択します。

      説明

      ポーズが検出される前に、人体が検出されなければならない。 これは、TopDownアルゴリズムタイプのみがサポートされているためです。 オブジェクト検出コンポーネントを使用してpose detectionコンポーネントに接続する場合、オブジェクト検出コンポーネントによってエクスポートされた検出モデルはpose detectionコンポーネントによって使用され、このパラメーターは無視できます。 それ以外の場合は、このパラメーターを設定する必要があります。

    • ポーズ検出モデルタイプ: 使用されるポーズ検出モデルのタイプ。 This parameter is required. yolox_predictorのみがサポートされています。