Houdini 20.5 機械学習

データセットI/O

ML Regression Train TOPは、入力層(Input Layer)、いくつかの隠れ層(Hidden Layer)、出力層(Output Layer)で構成されたニューラルネットワークを作成します。 このニューラルネットワークの入力は、数値の配列(入力層のノード毎に1個の数値)です。 同様に、このニューラルネットワークの出力は、数値の配列(出力層のノード毎に1個の数値)です。

各ラベル付きサンプルは、その入力層にマッチした入力値の配列とその出力層にマッチしたターゲット値の配列に変換しなければなりません。 ML Example Output SOPは、この処理に役立ちます。 ML Deformer H20.5のコンテンツライブラリのサンプルの詳細は、事例から学ぶ: ML Deformer H20.5を参照してください。

このセットアップでは、MLを使用して、拘束ポーズで駆動される皮下組織シミュレーションがどのようにしてスキンを変形させるのかを学習させています。 各ラベル付きサンプルは、リグポーズ(入力コンポーネント)と変形スキン(ターゲットコンポーネント)で構成されています。 各リグポーズと各スキン変形は、トレーニングデータにする前に数値の配列に変換する必要があります。 ML Example Output SOPに送信されたすべてのデータは、Pointアトリビュートとボリュームを使用して、それに呼応した数値の配列をRawファイルに書き出します。

あなたのセットアップをサンプルベースのMLフレームワークで動作させるために、トレーニングサンプルを複数のPointアトリビュート/ボリュームで構成された表現に変換する必要が出てくる場合があります。 その場合は、Point Wrangle SOPまたはVolume Wrangle SOPを使用すると良いでしょう。 MLをアニメーションに適用するには、MLアダプターノードのML Pose Serialize SOPを使用します。 Pointアトリビュート/ボリュームの変換は、通常では、それぞれ2つの異なる場所でまったく同じ方法で変換を行なわなければなりません:

  1. データセットを構成したラベル付きサンプルを生成する時

  2. このデータセットを使用してトレーニングされたモデルを適用する時(推論する時)。

推論の出力は、出力データが含まれたPointデータとボリュームを持つジオメトリです。 この出力は、後で望ましい形式に変換する必要が出てくる場合があります。

トレーニングや推論のためのサンプルの変換は、必ずしも元に戻せるわけではなく、非可逆になる場合があります。 例えば、ML Deformerサンプルでトレーニングされたモデルは、各スキンポイントの座標の代わりに、Principal Component Analysisで生成されたPCAウェイトを出力します。 これによって、学習問題の出力次元が削減され、ニューラルネットワークが大幅に小さくなり、トレーニングが楽になります。

機械学習

一般的なサポート

サンプルベースのML

リファレンス