Face Track CHOPは、画像中の顔や顔のランドマークポイント、カメラに対する顔の向きを検出することができます。また、互換性のある3D Morphable Face Model(3DMM)とFace Track SOPを使用して、検出した顔に3Dメッシュをフィットさせ、アニメーションさせることも可能です。注:このオペレーターは、Nvidia MaxineシステムのAugmented Reality (AR) SDKを使用しており、動作にはWindowsとNvidia RTXカードが必要です。
入力画像は、指定したTOPから取得され、解像度や形式は問わず、静止画でも動画でも構いません。画像中に複数の顔が存在する場合、CHOPは検出された最も大きな顔を追跡しようとします。
検出された特徴の座標は、入力画像の左下隅を基準とした u, v の位置で与えられます。デフォルトでは、値は0から1の範囲ですが、Aspect Correctパラメータを有効にすると、元の画像のアスペクト比を維持したまま3D座標として使用できるように、値をスケーリングすることが可能です。
ポイントの3Dレンダリングを元の入力画像に合わせるには、Camera COMPの Projection をOrthographic、Ortho Origin パラメータを Bottom-Left、Ortho Width を1に設定し、さらにFace Track CHOPの Aspect Correct を有効にする必要があります。
メッシュフィッティング機能を使用するには、Nvidia ‘nvf’ フォーマットの互換性のあるフェイスメッシュファイルが必要です。このファイルはTouchDesignerに含まれていませんが、オンラインで入手可能なファイルを使って生成できます。
ファイルを作成するには:
1.Surrey Face Modelのファイルは以下のサイトからダウンロードしてください。
eos project on GitHub (https://github.com/patrikhuber/eos/tree/master/share)
- sfm_shape_3448.
- expression_blendshapes_3448.bin
- sfm_3448_edge_topology.json
- sfm_model_contours.json
- ibug_to_sfm.txt
メッシュ変換ツールConvertSurreyFaceModel.exeは以下のサイトからダウンロードしてください。
Nvidia AR SDK page on GitHub (https://github.com/NVIDIA/BROADCAST-AR-SDK/tree/master/tools)
3.変換ツールを実行し、nvfファイルを生成します。path はモデルファイルが変換ツールとは別のフォルダにある場合のみ必要です。
ConvertSurreyFaceModel.exe –shape=“*path/*“sfm_shape_3448.bin –blend_shape=“*path/*“expression_blendshapes_3448.bin –topology=“*path/*“sfm_3448_edge_topology.json –contours=“*path/*“sfm_model_contours.json –ibug=“*path/*“ibug_to_sfm.txt –out=“*output-path/*“face_model0.nvf
フェイストラッキング機能を有効にします。
顔検出で使用するAIモデルファイルの場所を設定します。デフォルトでは、これらのファイルはConfig/Modelsフォルダに配置されます。
メッシュフィッティングに使用する、Nvidia ‘nvf’ フォーマットの3Dモルファブルメッシュファイルです。互換性のあるファイルの作成方法については、上記を参照してください。利用可能な場合、フィットしたメッシュはFace Track SOPでアクセスすることができます。
顔認識モデルを動作させるためのGPUを設定します。Nvidia RTX以降のカードが必要です。
- Default / default
ドライバはシステム内の最適なGPUを選択します。
顔認識を行うための画像を提供するTOPオペレータへのパスを設定します。
検出された顔の周りのバウンディングボックスを記述するチャンネルを出力します。このチャンネルは、顔の中心の u と v の位置、およびボックスの幅と高さを表します。位置は入力画像の左下隅を基準としています。
AIモデルが入力画像から顔を検出した正確さを表すチャンネルを出力します。数値が高いほど信頼度が高いことを示します。
画像中の顔の向きを示す rx, ry, rz 値を出力します。(0,0,0)は顔の向きがカメラの真正面を向いていることを示します。被写体がカメラから遠ざかるにつれて、±180°の範囲で値を変更します。
- None / none
出力する顔のランドマークポイントの数。点数は1から始まり、顎、眉、鼻など、常に顔の固定的な特徴を表します。位置は入力画像の左下隅を基準としたu,v座標で与えられます。
- 68 (Multi-PIE Mark-ups) / num68
AI研究で使用される顔のランドマーク特徴の標準セット。参考図参照。
- 126 / num126
ランドマーク機能の拡張セット。
各ランドマークフィーチャーの信頼度を追加します。値が高いほど、その特徴が正確である可能性が高いことを示します。
フィットした顔メッシュの平行移動、回転、スケールチャンネルを出力できるようにします。この機能には、有効な3Dモーファブルフェイスメッシュファイルが必要です(上記注釈を参照)。これらのチャンネルの値は、添付の Face Track SOP で生成されたメッシュが入力画像と一致するように変換するために使用されます。デフォルトでは、フィットしたメッシュは画像に沿うように事前に変換されますが、SOPでPre-Transform が無効になっている場合は、これらの値を代わりに使用してより多くの制御と速度を得ることができます。
入力画像の正しいアスペクト比になるように u と v の位置を再スケールします。これは、u, v位置を画像位置としてではなく、3次元座標として使用する場合に有効です。
Face Track CHOPのExtra Informationは、Info CHOPからアクセスできます。
Info CHOPチャンネルの章を参照
Info CHOPチャンネルの章を参照