顔の拡張機能
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
拡張顔を使用すると、アプリは検出された顔のさまざまな領域を自動的に識別し、それらの領域を使用して、個々の顔の輪郭と領域に適切な方法でテクスチャやモデルなどのアセットをオーバーレイできます。
顔認識機能の仕組み
AugmentedFaces サンプルアプリは、モデルのアセットとテクスチャを使用して、キツネの顔の特徴をユーザーの顔にオーバーレイします。
![]()
3D モデルは 2 つのキツネの耳とキツネの鼻で構成されます。それぞれが個別のボーンで、それぞれが接続されている顔面の領域に合わせて個別に移動できます。
![]()
テクスチャは、アイシャドウ、そばかし、その他のカラーリングで構成されます。
![]()
サンプルアプリを実行すると、API を呼び出して顔を検出し、テクスチャとモデルの両方を顔にオーバーレイします。
拡張された顔メッシュの識別
検出された顔にテクスチャと 3D モデルを適切にオーバーレイするために、ARCore では検出された領域と拡張された顔メッシュが用意されています。このメッシュは顔の仮想表現であり、頂点、顔の領域、ユーザーの頭部の中心で構成されます。シーンのメッシュの向きは異なります。
![]()
ユーザーの顔がカメラで検出されると、ARCore によって次の手順が行われ、拡張された顔メッシュ、中心位置とリージョン ポーズが生成されます。
中央のポーズと顔メッシュを識別します。
- 鼻の後ろにある中央のポーズは、ユーザーの頭の物理的な中心点です(頭蓋骨の内側です)。
![]()
- 顔メッシュは、顔を構成する数百の頂点で構成され、中央のポーズを基準として定義されます。
![]()
AugmentedFace
クラスは、顔メッシュと中央ポーズを使用して、ユーザーの顔の顔領域のポーズを識別します。これらのリージョンは次のとおりです。
- 左の額(
LEFT_FOREHEAD
)
- 右の額(
RIGHT_FOREHEAD
)
- 鼻の先端(
NOSE_TIP
)
これらの要素(中央ポーズ、顔メッシュ、顔領域のポーズ)は、拡張された顔メッシュを構成し、AugmentedFace
API でアセットをアセットに配置する位置とリージョンとして使用します。
次のステップ
アプリで顔認証機能の使用を開始しましょう。詳しくは、下記を参照してください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2022-09-26 UTC。
[null,null,["最終更新日 2022-09-26 UTC。"],[[["\u003cp\u003eAugmented Faces automatically identifies face regions to overlay assets like textures and models, realistically conforming to individual faces.\u003c/p\u003e\n"],["\u003cp\u003eIt utilizes a 3D model with movable bones (e.g., ears, nose) and a texture for features like eye shadow, freckles, etc., to augment the user's face.\u003c/p\u003e\n"],["\u003cp\u003eARCore provides an augmented face mesh, consisting of vertices, facial regions, and the head's center, for precise overlay placement.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves detecting the center pose, creating a face mesh, and identifying face region poses (forehead, nose tip) for asset positioning.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can leverage Augmented Faces by creating specific assets and using the Sceneform developer guide for implementation.\u003c/p\u003e\n"]]],["Augmented Faces utilizes ARCore to detect a user's face and overlay digital assets. ARCore identifies the face's center pose and generates a face mesh composed of vertices. Using this mesh and center pose, the system determines region poses, such as the left and right forehead, and the nose tip. These elements help position assets like textures (eye shadow, freckles) and 3D models (fox ears, nose) onto the face, allowing the system to move these elements with the face, resulting in a proper fit.\n"],null,["# Augmented Faces allows your app to automatically identify different\nregions of a detected face, and use those regions to overlay assets such as\ntextures and models in a way that properly matches the contours and regions of\nan individual face.\n\nHow does Augmented Faces work?\n------------------------------\n\nThe [**AugmentedFaces**](//github.com/google-ar/sceneform-android-sdk/tree/v1.15.0/samples/augmentedfaces) sample\napp overlays the facial features of a fox onto a user's face using both the\nassets of a model and a texture.\n\nThe 3D model consists of two fox ears and a fox nose. Each is a separate [bone](//en.wikipedia.org/wiki/Skeletal_animation)\nthat can be moved individually to follow the facial region they are attached to:\n\nThe texture consists of eye shadow, freckles, and other coloring:\n\nWhen you run the sample app, it calls APIs to detect a face and overlays both the texture and the models onto the face.\n\nIdentifying an augmented face mesh\n----------------------------------\n\nIn order to properly overlay textures and 3D models on a detected face, ARCore\nprovides detected regions and an *augmented face mesh* . This mesh\nis a virtual representation of the face, and consists of the vertices, facial\nregions, and the center of the user's head. Note that the\n[orientation](/sceneform/develop/augmented-faces/developer-guide#face_mesh_orientation)\nof the mesh is different for Sceneform.\n\nWhen a user's face is detected by the camera, ARCore performs these steps to\ngenerate the augmented face mesh, as well as center and region poses:\n\n1. It identifies the *center pose* and a *face mesh*.\n\n - The center pose, located behind the nose, is the physical center point of the user's head (in other words, inside the skull).\n\n - The face mesh consists of hundreds of vertices that make up the face, and is defined relative to the center pose. \n\n2. The `AugmentedFace` class uses the face mesh and center pose to identify\n *face region poses* on the user's face. These regions are:\n\n - Left forehead (`LEFT_FOREHEAD`)\n - Right forehead (`RIGHT_FOREHEAD`)\n - Tip of the nose (`NOSE_TIP`)\n\nThese elements -- the center pose, face mesh, and face region poses -- comprise\nthe augmented face mesh and are used by `AugmentedFace` APIs as positioning\npoints and regions to place the assets in your app.\n\nNext steps\n----------\n\nStart using Augmented Faces in your own apps. To learn more, see:\n\n- [Creating assets for Augmented Faces](/sceneform/develop/augmented-faces/creating-assets)\n\n- [Augmented Faces developer guide for Sceneform](/sceneform/develop/augmented-faces/developer-guide)"]]