拡張顔を使用すると、アプリは検出された顔のさまざまな領域を自動的に識別し、それらの領域を使用して、個々の顔の輪郭と領域に適切な方法でテクスチャやモデルなどのアセットをオーバーレイできます。
顔認識機能の仕組み
AugmentedFaces サンプルアプリは、モデルのアセットとテクスチャを使用して、キツネの顔の特徴をユーザーの顔にオーバーレイします。
3D モデルは 2 つのキツネの耳とキツネの鼻で構成されます。それぞれが個別のボーンで、それぞれが接続されている顔面の領域に合わせて個別に移動できます。
テクスチャは、アイシャドウ、そばかし、その他のカラーリングで構成されます。
サンプルアプリを実行すると、API を呼び出して顔を検出し、テクスチャとモデルの両方を顔にオーバーレイします。
拡張された顔メッシュの識別
検出された顔にテクスチャと 3D モデルを適切にオーバーレイするために、ARCore では検出された領域と拡張された顔メッシュが用意されています。このメッシュは顔の仮想表現であり、頂点、顔の領域、ユーザーの頭部の中心で構成されます。シーンのメッシュの向きは異なります。
ユーザーの顔がカメラで検出されると、ARCore によって次の手順が行われ、拡張された顔メッシュ、中心位置とリージョン ポーズが生成されます。
中央のポーズと顔メッシュを識別します。
- 鼻の後ろにある中央のポーズは、ユーザーの頭の物理的な中心点です(頭蓋骨の内側です)。
- 顔メッシュは、顔を構成する数百の頂点で構成され、中央のポーズを基準として定義されます。
AugmentedFace
クラスは、顔メッシュと中央ポーズを使用して、ユーザーの顔の顔領域のポーズを識別します。これらのリージョンは次のとおりです。- 左の額(
LEFT_FOREHEAD
) - 右の額(
RIGHT_FOREHEAD
) - 鼻の先端(
NOSE_TIP
)
- 左の額(
これらの要素(中央ポーズ、顔メッシュ、顔領域のポーズ)は、拡張された顔メッシュを構成し、AugmentedFace
API でアセットをアセットに配置する位置とリージョンとして使用します。
次のステップ
アプリで顔認証機能の使用を開始しましょう。詳しくは、下記を参照してください。